• В произвольно заданной матрице размерам NxM упорядочить построчно
    все значения элементов по возрастанию. на си будьте добры

Ответы 1

  • #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; }

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years