Есть ответ 👍

Пользователь вводит с клавиатуры количество строк и количество столбцов. программа создает динамический двумерный массив и заполняет его случайными значениями в диапазоне от 1 до 999. необходимо подсчитать сумму всех этих значений и полученное число по цифрам записать в одномерный динамический массив. одна цифра – один элемент. на с

107
126
Посмотреть ответы 2

Ответы на вопрос:

Sophie228
4,7(79 оценок)

#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("\n");         }         printf("сумма всех элементов = %d\n", 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; }
Ди1218
4,6(27 оценок)

Нужно взвесить любые две монеты. если они весят одинаково, то фальшивая та которую не взвешивали. если одна из монет легче, то она и фальшивая

Популярно: Информатика