20.04.2010, 21:58
общий
это ответ
Здравствуйте, Селеверстов Антон Юрьевич. Текст программы в приложении. CodeBlocks/G++.
Приложение:
// Найти максимальный среди всех элементов тех строк заданной матрицы,
// которые упорядочены (либо по возрастанию, либо по убыванию),
// матрица должна задаваться с клавиатуры.
#include <iostream>
using namespace std;
int main()
{
const int rows=5; // строки
const int cols=4; // столбцы
int max; // максимальный элемент
int v[rows][cols]; // матрица
// ввод
for (int i=0; i<rows; ++i)
for (int j=0; j<cols; ++j)
cin >> v[i][j];
max=v[0][0]; // пусть элемент v[0,0] - максимальный
for (int i=0; i<rows; ++i)
{
bool up = true; // строка упорядочена по возрастанию
bool down = true; // строка упорядочена по возрастанию
int j=1;
while ((up || down) && j<cols)
{
if (down && v[i][j]>=v[i][j-1])
down = false;
if (up && v[i][j]<=v[i][j-1])
up = false;
++j;
}
if (up && v[i][cols-1]>max) // если по возрастанию,
max = v[i][cols-1]; // сравниваем последний
else if (down && v[i][0]>max)
max = v[i][0]; // иначе первый в строке
}
cout << max << endl;
system("pause");
return 0;
}
5
Большое спасибо за программу и подробные комментарии.