- •Лабораторная работа № 1. Системы счисления
- •Лабораторная работа № 2. Способы представления алгоритмов
- •Лабораторная работа № 4. Ввод и вывод информации
- •Лабораторная работа № 5. Разветвляющиеся программы
- •Лабораторная работа № 6. Циклические программы
- •Лабораторная работа №7. Отладка программы
- •Лабораторная работа № 9
- •Лабораторная работа №10
- •Лабораторная работа № 11
- •Лабораторная работа № 12
- •Лабораторная работа № 13
- •Лабораторная работа № 14
- •Лабораторная работа № 15
- •Лабораторная работа №16
- •Лабораторная работа №17
Лабораторная работа № 15
12 |
1. Задан массив A из n элементов. Подсчитать, сколько раз встречается в нем максимальное число. 2. Проверить, есть ли в матрице хотя бы одна строка, содержащая положительный элемент, и найти ее номер. Знаки элементов предыдущей строки изменить на противоположные. |
1.
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
const int N = 99;
int m, n, A[N][N], i, j, max = 0, a=0;
srand((unsigned)time(NULL));
cout << "Количество строк ";
cin >> m;
cout << "Количество столцов ";
cin >> n;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
A[i][j] = rand() % 99;
}
cout << "Исходный массив:" << endl;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++) {
cout.width(4);
cout << A[i][j] << ' ';
}
cout << endl;
}
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
if (max < A[i][j])
max = A[i][j];
}
}
cout << "Максимальное значение= " << max << endl;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
if (A[i][j] == max)
a++;
}
}
cout << "Количество= " << a << endl;
}
2.
# include <iostream>
void main()
{
setlocale(LC_CTYPE, "Russian");
using namespace std;
int** A, size, str;
bool result = false;
cout << "Введите размер масива " << endl;
cin >> size;
cout << "Введите элементы масива " << endl;
A = new int* [size];
for (int i = 0; i < size; i++)
{
A[i] = new int[size];
for (int j = 0; j < size; j++)
cin >> *(*(A + i) + j);
}
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
if (*(*(A + i) + j) > 0)
{
result = true;
str = i;
break;
}
if (result)
break;
}
if (result && str > 0)
for (int j = 0; j < size; j++)
*(*(A + str - 1) + j) *= -1;
cout << " Результат:" << endl;
for (int i = 0; i < size; i++)
{
cout << endl;
for (int j = 0; j < size; j++)
cout << *(*(A + i) + j) << "\t";
}
}
// В матрице заменитть все нечётные элементы на 0
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
const int N = 99;
int m, n, A[N][N], i, j;
srand((unsigned)time(NULL));
cout << "Количество строк ";
cin >> m;
cout << "Количество столцов ";
cin >> n;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
A[i][j] = rand() % 99;
}
cout << "Исходный массив:" << endl;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++) {
cout.width(4);
cout << A[i][j] << ' ';
}
cout << endl;
}
cout << "Результат: " << endl;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++) {
cout.width(4);
}
cout << endl;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++) {
if (A[i][j] % 2 == 1)
A[i][j] = 0;
{
cout.width(4);
cout << A[i][j] << ' ';
}
} cout << endl;
}
}
}
Лабораторная работа №16
12 |
1. В каждой строке матрицы F2(d, p), d <= 16, p <= 18 заменить каждый элемент, стоящий на главной диагонали, минимальным элементом строки. 2. Для заданной матрицы размером 4 на 4 найти такие k, при которых k-я строка матрицы совпадает с k-м столбцом. |
//1. В каждой строке матрицы F2(d, p), d <= 16, p <= 18 заменить каждый элемент, стоящий на главной диаго-нали, минимальным элементом строки.
//2. Для заданной матрицы размером 4 на 4 найти такие k, при которых k-я строка матрицы совпадает с k-м столбцом.
#include <iostream>
using namespace std;
int get_min(int* arr, int n);
void matrix(int** matrix, int n);
void matrixx();
void matrix2(int** matrix, int n);
void matrixx1();
int main(void)
{
setlocale(LC_CTYPE, "Russian");
int choice;
do
{
cout << "Выберите вариант работы" << endl;
cout << "1 - задание 1" << endl;
cout << "2 - задание 2" << endl;
cout << "3 - выход" << endl;
cin >> choice;
switch (choice)
{
case 1:
matrixx1();
break;
case 2:
matrixx();
break;
case 3:
break;
}
} while (choice != 3);
}
void matrixx1()
{
int n;
cout << "Введите размер матрицы ";
cin >> n;
int** array = new int* [n];
for (int i = 0; i < n; i++)
{
array[i] = new int[n];
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << "Введите эл матрицы:" << endl;
cin >> array[i][j];
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << array[i][j] << "\t";
}
cout << endl;
}
cout << endl;
matrix(array, n);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << array[i][j] << "\t";
}
cout << endl;
}
for (int i = 0; i < n; i++)
{
delete[] array[i];
}
delete[] array;
}
int get_min(int* arr, int n)
{
int min = arr[0];
for (int i = 1; i < n; i++)
{
if (arr[i] < min)
{
min = arr[i];
}
}
return min;
}
void matrix(int** matrix, int n)
{
for (int i = 0; i < n; i++)
{
int min = get_min(matrix[i], n);
matrix[i][i] = min;
}
}
void matrixx()
{
int size;
cout << "Введите размер матрицы ";
cin >> size;
int** arr = new int* [size];
for (int i = 0; i < size; i++)
{
arr[i] = new int[size];
}
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
cout << "Введите эл матрицы:" << endl;
cin >> arr[i][j];
}
}
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
cout << arr[i][j] << "\t";
}
cout << endl;
}
cout << endl;
matrix2(arr, size);
for (int i = 0; i < size; i++)
{
delete[] arr[i];
}
delete[] arr;
}
void matrix2(int** matrix, int n)
{
int count = 0;
int k = 0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (matrix[i][j] == matrix[j][i])
{
count++;
}
if (count == n)
{
cout << " \n " << i << " строка совпадает с " << i << " столбцом " << endl;
k++;
}
}
count = 0;
}
if (k == 0)
cout << "\n\n Нет совпадающих строк и столбцов" << endl;
}