Другие языки программирования и технологии
помогите с написанием программы на С++ чего-то просто не выкупаю как сделать..
Найти максимальный элемент среди всех элементов тех строк заданной матрицы A (4, 4), которые упорядочены по возрастанию. Если упорядоченных по возрастанию строк нет, то вывести на экран минимальный элемент матрицы. Матрицу ввести с клавиатуры.
#include <iostream>
#include <iomanip>
using namespace std;
bool maximum(int *, int);
int main() {
const int k = 4;
int a[k][k];
for (int n = 0; n < k; n++)
for (int m = 0; m < k; m++) {
cout << " a[" << n << "][" << m << " -> ";
cin >> a[n][m];
}
system("cls");
for (int n = 0; n < k; n++, cout << endl) for (int m = 0; m < k; m++) cout << setw(8) << a[n][m];
bool mx = false, yes;
int max = INT_MIN, min = a[0][0];
for (int n = 0; n < k; n++) {
yes = maximum(a[n], k);
if (!mx && yes) mx = true;
if (!mx) for (int m = 0; m < k; m++) if (min > a[n][m]) min = a[n][m];
if (yes) for (int m = 0; m < k; m++) if (max < a[n][m]) max = a[n][m];
}
if (mx) cout << "\t Max = " << max << endl;
else cout << "\t Min = " << min << endl;
cin.get(); cin.get();
return 0;
}
bool maximum(int * _v, int _s) {
for (int n = 1; n < _s; n++) if (_v[n] < _v[n - 1]) return false;
return true;
}
#include <iomanip>
using namespace std;
bool maximum(int *, int);
int main() {
const int k = 4;
int a[k][k];
for (int n = 0; n < k; n++)
for (int m = 0; m < k; m++) {
cout << " a[" << n << "][" << m << " -> ";
cin >> a[n][m];
}
system("cls");
for (int n = 0; n < k; n++, cout << endl) for (int m = 0; m < k; m++) cout << setw(8) << a[n][m];
bool mx = false, yes;
int max = INT_MIN, min = a[0][0];
for (int n = 0; n < k; n++) {
yes = maximum(a[n], k);
if (!mx && yes) mx = true;
if (!mx) for (int m = 0; m < k; m++) if (min > a[n][m]) min = a[n][m];
if (yes) for (int m = 0; m < k; m++) if (max < a[n][m]) max = a[n][m];
}
if (mx) cout << "\t Max = " << max << endl;
else cout << "\t Min = " << min << endl;
cin.get(); cin.get();
return 0;
}
bool maximum(int * _v, int _s) {
for (int n = 1; n < _s; n++) if (_v[n] < _v[n - 1]) return false;
return true;
}
давай Андрей мы в тебя верим!
Проверяете строку на возрастание, если возрастает, то ищете максимум.
c := 0; for y := 1 to 4 do begin f := true; for x := 2 to 4 do if (a[x-1] > a[x]) then f := false; if (f) then begin if (c = 0) then max := a[1,y]; for x := 1 to 4 do if (a[x,y] < max) then max := a[x,y]; end; end; if (c = 0) then writeln('no') else writteln(max);
c := 0; for y := 1 to 4 do begin f := true; for x := 2 to 4 do if (a[x-1] > a[x]) then f := false; if (f) then begin if (c = 0) then max := a[1,y]; for x := 1 to 4 do if (a[x,y] < max) then max := a[x,y]; end; end; if (c = 0) then writeln('no') else writteln(max);
Похожие вопросы
- Pycharm (Пожалуйста, помогите с написанием программы)
- Помогите в написании программы.
- помогите с написанием программ на паскале
- Помогите с написанием программы C++
- Помогите с написанием программы на языке Ассемблер, алгоритм знаю, вот только команды самого языка - не очень.
- Помогите с написанием программы
- помогите с написание программы плиз:
- Помогите в написании программы на С++
- Помогите в написании программы на языке с++
- Помогите в написании программы на языке С++