fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6. // Последнее измерение известно.
  7. int razmer;
  8. scanf("%i", &razmer);
  9. // array - указатель на массив, состоящий из массивов по 5 char.
  10. char (*array)[][5] = calloc(razmer * 5, sizeof(char));
  11. for (int i = 0; i < razmer; i++) {
  12. for (int j = 0; j < 5; j++) {
  13. // Звездочка нужна, чтобы разыменовать указатель на массив.
  14. (*array)[i][j] = 'A' + i;
  15. }
  16. }
  17.  
  18. printf("Array 1: %.*s\n", razmer * 5, array);
  19. free(array);
  20.  
  21. // Оба измерения неизвестны.
  22. int m, n;
  23. scanf("%i %i", &m, &n);
  24. char *array2 = calloc(m * n, sizeof(char));
  25. for (int i = 0; i < m; i++) {
  26. for (int j = 0; j < n; j++) {
  27. array2[i * n + j] = 'A' + i;
  28. }
  29. }
  30.  
  31. printf("Array 2: %.*s\n", m * n, array2);
  32. free(array2);
  33. }
  34.  
Success #stdin #stdout 0s 9424KB
stdin
10
3 4
stdout
Array 1: AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGGHHHHHIIIIIJJJJJ
Array 2: AAAABBBBCCCC