Юзер вводит с клавиатуры количество строк и количество столбцов. Программка делает
Юзер вводит с клавиатуры количество строк и количество столбцов. Программа делает динамический двумерный массив и наполняет его случайными значениями в спектре от 1 до 999.
Необходимо подсчитать сумму всех этих значений и полученное число по цифрам записать в одномерный динамический массив. Одна цифра один элемент.
на С
1 ответ
Бададина Кира
include lt;stdio.hgt;
include lt;stdlib.hgt;
include lt;locale.hgt;
include lt;malloc.hgt;
int main()
int **a;
int i, j, n, m;
setlocale(LC_ALL, "Rus");
printf("Введите количество строк: ");
scanf("%d", amp;n);
printf("Введите количество столбцов: ");
scanf("%d", amp;m);
//Выделение памяти
a = (int**)malloc(n * sizeof(int*));
long int sum;
/* Заполнение массива случайными числами */
srand(time(NULL));
for (i = 0; i lt; n; i++)
a[i] = (int*)malloc(m * sizeof(int));
for (j = 0; j lt; m; j++)
a[i][j] = rand() % 999 + 1;
sum += a[i][j];
/* Вывод массива */
for (i = 0; i lt; n; i++)
for (j = 0; j lt; 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 lt; k / 2; i++)
int tmp = b[i];
b[i] = b[k - i - 1];
b[k - i - 1] = tmp;
/* Выводим массив */
printf("Массив из цифр: ");
for (i = 0; i lt; k; i++) printf("%d ", b[i]);
//getch();
return 0;
include lt;stdlib.hgt;
include lt;locale.hgt;
include lt;malloc.hgt;
int main()
int **a;
int i, j, n, m;
setlocale(LC_ALL, "Rus");
printf("Введите количество строк: ");
scanf("%d", amp;n);
printf("Введите количество столбцов: ");
scanf("%d", amp;m);
//Выделение памяти
a = (int**)malloc(n * sizeof(int*));
long int sum;
/* Заполнение массива случайными числами */
srand(time(NULL));
for (i = 0; i lt; n; i++)
a[i] = (int*)malloc(m * sizeof(int));
for (j = 0; j lt; m; j++)
a[i][j] = rand() % 999 + 1;
sum += a[i][j];
/* Вывод массива */
for (i = 0; i lt; n; i++)
for (j = 0; j lt; 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 lt; k / 2; i++)
int tmp = b[i];
b[i] = b[k - i - 1];
b[k - i - 1] = tmp;
/* Выводим массив */
printf("Массив из цифр: ");
for (i = 0; i lt; k; i++) printf("%d ", b[i]);
//getch();
return 0;
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов