#include <stdio.h>#include <stdlib.h>#include <locale.h>#include <malloc.h>int main() { int **a; int i, j, n, m; setlocale(LC_ALL, "Rus"); printf("Введите количество строк: "); scanf("%d", &n); printf("Введите количество столбцов: "); scanf("%d", &m); //Выделение памяти a = (int**)malloc(n * sizeof(int*)); long int sum; /* Заполнение массива случайными числами */ srand(time(NULL)); for (i = 0; i < n; i++) { a[i] = (int*)malloc(m * sizeof(int)); for (j = 0; j < m; j++) { a[i][j] = rand() % 999 + 1; sum += a[i][j]; } } /* Вывод массива */ for (i = 0; i < n; i++) { for (j = 0; j < m; j++) printf("%5d ", a[i][j]); printf(""); } printf("Сумма всех элементов = %d", sum); /* Подсчет количества цифр в сумме всех элементов */ int k = 0, buf = 0; n = sum; while (n != 0) { n /= 10; k++; } int *b; //Выделение памяти b = (int*)malloc(k * sizeof(int)); /* Заполнение массива цифрами */ i = 0; n = sum; while (n != 0) { b[i] = n % 10; n /= 10; i++; } /* Переворачиваем массив с цифрами */ for(i = 0; i < k / 2; i++) { int tmp = b[i]; b[i] = b[k - i - 1]; b[k - i - 1] = tmp; } /* Выводим массив */ printf("Массив из цифр: "); for (i = 0; i < k; i++) printf("%d ", b[i]); //getch(); return 0;}