Advertisement
Zennoma

12 laba)a)

Feb 20th, 2020
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.56 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include<time.h>
  4.  
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int n,m;
  9.     puts("inputed row number");
  10.     scanf_s("%d", &n);
  11.     int** array = new int* [n]; // Создаем массив указателей
  12.     puts("input collums number");
  13.     scanf_s("%d", &m);
  14.     puts("generated matrix");
  15.     for (int i = 0; i < n; i++)
  16.     {
  17.         array[i] = new int[m]; // Создаем элементы
  18.     }
  19.     for (int i = 0; i < n; i++)
  20.     {
  21.         for (int j = 0; j < m; j++)
  22.         {
  23.             *(*(array + i)+j) = rand() % 21 - 10;
  24.             printf_s("%6d", *(*(array + i) + j));
  25.         }
  26.         printf_s("\n");
  27.     }
  28.     for (int i = 0; i < n; i++) //нахождение адресов и смена мест
  29.     {
  30.         int max = -15;
  31.         int min = 15;
  32.         int* ptrmin, * ptrmax;
  33.         ptrmin = *(array + i);
  34.         ptrmax = *(array + i);
  35.         for (int j = 0; j < m; j++)
  36.         {
  37.            
  38.             if (*(*(array + i) + j) < min)
  39.             {
  40.                 ptrmin = *(array + i) + j;
  41.                 min = *(*(array + i) + j);
  42.             }
  43.             if (*(*(array + i) + j) > max)
  44.             {
  45.                 ptrmax = *(array + i) + j;
  46.                 max = *(*(array + i) + j);
  47.             }
  48.         }
  49.         printf_s("row number %d\n", i+1);
  50.         printf_s("minimal %p       ", ptrmin);
  51.         printf_s("maximal %p\n", ptrmax);
  52.         *ptrmin = max;
  53.         *ptrmax = min;
  54.     }
  55.     puts("new matrix");
  56.     for (int i = 0; i < n; i++)
  57.     {
  58.         for (int j = 0; j < m; j++)
  59.         {
  60.             printf_s("%6d", *(*(array + i) + j));
  61.         }
  62.         printf_s("\n");
  63.     }
  64.     // Удаление массива
  65.     for (int i = 0; i < n; i++)
  66.     {
  67.         delete[]array[i]; // Удаляем каждый элемент
  68.     }
  69.     delete[] array; // А потом массив
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement