Каждый второй элемент массива умножить на 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, свидетельствующий об успешном завершении работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д