Advertisement
Qellex

5.2

Dec 21st, 2020
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.26 KB | None | 0 0
  1. #include <stdio.h> // библиотека для ввода и вывода
  2. #include <math.h> // математические функции
  3. #include <locale.h> // кириллица
  4. #include<stdlib.h>
  5. #include <time.h>
  6.  
  7. int random(int N)
  8. {
  9.     return rand() % N;
  10. }
  11.  
  12. void input_arr(int** A,  int N, int M) //ввод массива с клавиатуры
  13. {
  14.     int i; int j;
  15.     for (i = 0; i < N; i++)
  16.     {
  17.         for (j = 0; j < M; j++)
  18.         {
  19.             printf("A[%d][%d]=", i, j);
  20.             scanf_s("%d", &A[i][j]);
  21.         }
  22.     }
  23.  
  24. }
  25.  
  26. void input_rand(int** A, int n, int m) //рандомное создание массива
  27. {
  28.     int i, a = -100, b = 100; int j;
  29.     for (i = 0; i < n; i++)
  30.     {
  31.         for (j = 0; j < m; j++)
  32.         {
  33.             A[i][j] = random(b - a + 1) + a;
  34.         }
  35.     }
  36. }
  37.  
  38. void output_arr(int** A, int n, int m) //вывод массивa
  39. {
  40.     int i; int j;
  41.     for (i = 0; i < n; i++)
  42.     {
  43.         for (j = 0; j < m; j++)
  44.         {
  45.             printf("%5d", A[i][j]);
  46.            
  47.         }
  48.         printf("\n");
  49.     }  
  50. }
  51.  
  52. int main() {
  53.  
  54.     setlocale(LC_ALL, "rus");
  55.  
  56.  
  57.     int** A;
  58.     int i, n, m, dir;
  59.  
  60.     do
  61.     {
  62.         printf("Введите количество строк массива А: ");
  63.         scanf_s("%d", &n);
  64.         printf("Введите количество столбцов массива А: ");
  65.         scanf_s("%d", &m);
  66.     } while (n <= 0 || m < 0);
  67.  
  68.     A = (int**)malloc(n * sizeof(int**));
  69.     for (int x = 0; x < n; x++) {
  70.         A[x] = (int*)malloc(n * sizeof(int*));
  71.     }
  72.  
  73.     printf("Введите способ заполнения матрицы: любая цифра - вручную, 0 - рандомным образом");
  74.     scanf_s("%d", &dir);
  75.     if (dir)
  76.         input_arr(A, n, m);
  77.     else
  78.         input_rand(A, n, m);
  79.  
  80.     printf("Исходный массив А: \n");
  81.     output_arr(A, n, m);
  82.  
  83.     // присваиваем минимуму, первый элемент массива
  84.     int min = A[0][0];
  85.  
  86.     // замена элементов
  87.     for (int i = 0; i < n; i++) {
  88.         for (int j = 0; j < m; j++) {
  89.             // если min больше элемента, то присвоить минимум этот элемент
  90.             if (min > A[i][j]) min = A[i][j];
  91.             // присвоение элементу минимума
  92.             A[i][j] = min;
  93.  
  94.         }
  95.     }
  96.     printf("Массив А: \n");
  97.     output_arr(A, n, m);
  98.  
  99.     getchar(); getchar();
  100.  
  101.     return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement