Advertisement
ms_shnits

Представление двумерного массива в виде одномерного

Dec 5th, 2018
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.03 KB | None | 0 0
  1. #include  <stdio.h>
  2. #include  <string.h>
  3.  
  4. // число строк
  5. #define n 3
  6.  
  7. // число столбцов
  8. #define m 4
  9.  
  10. int main(void)
  11. {
  12.     int *a = calloc(m*n, sizeof(int));
  13.    
  14.     puts("Инициализируем и печатаем матрицу:");
  15.     for (int y = 0; y < m; y++)
  16.     {
  17.         for (int x = 0; x < n; x++)
  18.         {
  19.             a[x + y*n] = x + 10*y;
  20.             printf("%d\t", a[x + y*n]);
  21.         }
  22.         puts("");
  23.     }
  24.    
  25.     puts("----");
  26.     puts("Печатаем получившийся одномерный массив:");
  27.     for (int u = 0; u < n*m; u++)
  28.         printf("%d\t", a[u]);
  29.     puts("");
  30.  
  31.     puts("----");
  32.     printf("Печатаем соответствие индексов матрицы элементам одномерного массива:");
  33.     for (int u = 0; u < n*m; u++)
  34.     {
  35.         if (!(u%n)) printf("\n%d-я строка:", u/n);
  36.         printf("\n[%d][%d] => [%d]\tзначение: %d", u%n, u/n, u, a[u]);
  37.     }
  38.    
  39.     free(a);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement