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

Ответы 1

  • #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;}
    • Автор:

      piper93
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years