Каждый второй элемент массива умножить на 2, а из каждого пятого элемента вычислить 5 - C (СИ)
Формулировка задачи:
1)Дан двумерный массив А (n , m). Каждый второй элемент умножить на 2, а из каждого пятого элемента вычислить 5. Вывести новый массив на печать.ЯЗЫК СИ.
Решение задачи: «Каждый второй элемент массива умножить на 2, а из каждого пятого элемента вычислить 5»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, m, i, j, x = 1, **A = NULL;
puts("Input number rows:");
scanf("%d", &n);
puts("Input number columns:");
scanf("%d", &m);
A = malloc(n * sizeof(*A));
puts("Input value of elements:");
for(i = 0; i < n; i++){
A[i] = malloc(m * sizeof(A));
for(j = 0; j < m; j++, x++){
printf("A[%d][%d] = ", i, j);
scanf("%d", &A[i][j]);
if(x % 2 == 0)
A[i][j] *= 2;
if(x % 5 == 0)
A[i][j] -= 5;
}
}
for(i = 0; i < n; i++){
for(j = 0; j < m; j++)
printf("%6d", A[i][j]);
printf("\n");
}
return 0;
}
Объяснение кода листинга программы
- Объявление переменных:
n- количество строк в массиве;m- количество столбцов в массиве;i- счётчик строк;j- счётчик столбцов;x- счётчик элементов;A- двумерный массив.
- Запрос на ввод количества строк и столбцов.
- Выделение памяти под массив указателей на строки.
- Запрос на ввод значения элементов массива.
- Выделение памяти под каждую строку массива.
- Организация двойного цикла для заполнения массива.
- Проверка чётности/нечётности счётчика
xдля каждого элемента. - Умножение чётных элементов на 2.
- Вычитание 5 из каждого пятого элемента.
- Организация цикла для вывода значений массива.
- Вывод значений массива через 6 символов в строке.
- Освобождение памяти, выделение которой было вызвано операцией
malloc. - Возврат 0, свидетельствующий об успешном завершении работы программы.