#include <iostream.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
#include <stdio.h>
#include <algorithm>
using namespace std;
//19. Дана матрица размером NxM.
//Упорядочить ее строки по возрастанию их наибольших элементов.
// функция ввывода
void print(int **arr, int nrow, int ncol)
{
for(int i = 0; i < nrow; i++)
{
for(int j = 0; j < ncol; j++)
cout << arr[i][j] << "\t";
cout << endl;
}
}
// функция ввывода
//=====================================
//функция сортировки
void processor (int **arr, int nrow, int ncol)
{
int i,j,s,k;
double mas[100];
int max=0;
for(int i=0;i<ncol;i++)
{
for(int j=0;j<nrow;j++)
{
if(arr[i][j]>max) max=arr[i][j];
}
for(int k = 0; k < nrow; k++)
{ mas[k]=max;
}
cout<<max<<" ";
max=0;
}
for ( k = 0; k < nrow+1; k++) // сравниваем максимальные элементы строк
{
if ( mas[k] < mas[k+1])
{
int temp;
temp = *arr[j]; /* сохранить значение по адресу x */
*arr[j] = *arr[j+1]; /* поместить y в x */
*arr[j+1] = temp; /* поместить x в y */
}
}
cout<<" \n";
//double mas[Nmax][Nmax];
//int N=5,M=8;
//for (int i=0; i<N; i++)
//sort(mas+i, mas+i+M);
system("Pause");
}
//функция сортировки
//=====================================
int main()
{
SetConsoleOutputCP(1251);
setlocale(LC_ALL,"Russian");
srand(unsigned (time(NULL)));
int nrow, ncol, n1 = 0;
int i, j;
cout << "Введите кол-во строк: ";
cin >> nrow;
cout << endl << "Введите кол-во столбцов: ";
cin >> ncol;
int **arr = new int*[nrow];
for (i = 0; i < nrow; i++)
arr[i] = new int [ncol];
cout << "Заполняем массив: " << endl << "1. Случайным образом" << endl << "2. Ввести вручную" << endl;
cin >> n1;
switch(n1)
{
case 1:
for(int i = 0; i < nrow; i++)
for(int j = 0; j < ncol; j++)
arr[i][j] = rand()%100;
cout << endl << "Сгенерированный массив: " << endl;
print(arr, nrow, ncol);
break;
case 2:
cout << endl << "Введите эл-ты массива: " ;
for(int i = 0; i < nrow; i++)
for(int j = 0; j < ncol; j++)
cin >> arr[i][j];
cout << endl << "Введите сдвиг " << endl;
print(arr, nrow, ncol);
break;
default :
cout << "Ошибка" << endl;
break;
}
cout << endl << endl << endl;
processor(arr, nrow, ncol);
print(arr, nrow, ncol);
delete[]arr;
}