Код программы
Лабораторная работа №4.
Тема: Двумерные массивы.
Цель работы: Приобретение навыков в составлении программ с использованием битов, приобретение навыков в формировании и обработке одномерных и многомерных массивов.
Задание на работу:
Каждую строку матрицы Z(5,4) преобразовать по правилу: если максимальный элемент не первый, то поменять его местом с первым. Вывести количество таких строк, исходную и преобразованную матрицы.
Блок-схема алгоритма
Код программы
#include <iostream>
using namespace std;
void main()
{
setlocale(0, "Rus");
int Z[5][4], temp, counter=0, i, j;
cout << "Введите элементы матрицы Z[5][4]\n";
for (i = 0; i < 5; i++)
for (j = 0; j < 4; j++)
cin >> Z[i][j];
cout << "Исходная матрица:\n";
for (i = 0; i < 5; i++)
{
for (j = 0; j < 4; j++)
cout << Z[i][j] << "\t";
cout << "\n";
}
for (i = 0; i < 5; i++)
{
temp = 0;
for (j = 1; j < 4; j++)
if (Z[i][j]>Z[i][temp])
temp = j;
if (temp)
{
Z[i][0] += Z[i][temp];
Z[i][temp] = Z[i][0] - Z[i][temp];
Z[i][0] -= Z[i][temp];
counter++;
}
}
cout << "Преобразованная матрица\n";
for (i = 0; i < 5; i++)
{
for (j = 0; j < 4; j++)
cout << Z[i][j] << "\t";
cout << "\n";
}
cout << "Количество строк матрицы, где максимальный элемент не первый = " << counter << "\n";
system("pause");
}