Условие Над главное диагональю найти максимум в каждом столбике Код #include <iostream> #include <iomanip> #include <cstdlib> using namespace std; #define n 4 #define m 4 int A[n][m], i, j; int main() { //srand(time(NULL)); setlocale(LC_CTYPE, "russian"); system("color f0"); cout << "Вывод матрицы A:\n"; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { A[i][j] = -20 + rand() % 70; cout << setw(4) << A[i][j] << " "; } cout << endl; } int max = 1; for (i = 2; i < n; i++) { if (A[i][0] > A[max][0]) max = i; } for (int i = 0; i < m; i++) { int temp = A[0][i]; A[0][i] = A[max][i]; A[max][i] = temp; } cout << endl; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { cout << setw(4) << A[i][j] << " "; } cout << endl; } return 0; } C #include <iostream> #include <iomanip> #include <cstdlib> using namespace std; #define n 4 #define m 4 int A[n][m], i, j; int main() { //srand(time(NULL)); setlocale(LC_CTYPE, "russian"); system("color f0"); cout << "Вывод матрицы A:\n"; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { A[i][j] = -20 + rand() % 70; cout << setw(4) << A[i][j] << " "; } cout << endl; } int max = 1; for (i = 2; i < n; i++) { if (A[i][0] > A[max][0]) max = i; } for (int i = 0; i < m; i++) { int temp = A[0][i]; A[0][i] = A[max][i]; A[max][i] = temp; } cout << endl; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { cout << setw(4) << A[i][j] << " "; } cout << endl; } return 0; } Как должно быть Выводится максимум из чисел в каждом столбике(кроме первого), на скрине я помечаю эти максимумы
#include <iostream> #include <iomanip> #include <cstdlib> using namespace std; int main(){ int a[4][4]; int b[4][4] = {0}; for(int i=0; i<4; i++){ for(int j=0; j<4; j++){ a[i][j] = rand()%70 - 20; } } for(int i = 0; i < 4; ++i){ for(int j = i + 1; j < 4; ++j){ b[i][j] = a[i][j]; } } for(int i=0; i<4; i++){ for(int j=0; j<4; j++){ cout<<a[i][j]<<" "; } cout<<endl; } cout<<endl; for(int i=0; i<4; i++){ for(int j=0; j<4; j++){ cout<<b[i][j]<<" "; } cout<<endl; } cout<<endl; for(int i=0; i<4; i++){ int val = 0; for(int j=0; j<4; j++){ if(val < b[j][i]) val = b[j][i]; } cout<<val<<" "; } return 0; } Код #include <iostream> #include <iomanip> #include <cstdlib> using namespace std; int main(){ int a[4][4]; int b[4][4] = {0}; for(int i=0; i<4; i++){ for(int j=0; j<4; j++){ a[i][j] = rand()%70 - 20; } } for(int i = 0; i < 4; ++i){ for(int j = i + 1; j < 4; ++j){ b[i][j] = a[i][j]; } } for(int i=0; i<4; i++){ for(int j=0; j<4; j++){ cout<<a[i][j]<<" "; } cout<<endl; } cout<<endl; for(int i=0; i<4; i++){ for(int j=0; j<4; j++){ cout<<b[i][j]<<" "; } cout<<endl; } cout<<endl; for(int i=0; i<4; i++){ int val = 0; for(int j=0; j<4; j++){ if(val < b[j][i]) val = b[j][i]; } cout<<val<<" "; } return 0; } там должна быть какая то формула которую можно вывести, я просто пересохранил в массив и нашел максимумы для рандомного массива. думаю справишься впихнуть в свой код.