Сформировать массив, элементы которого равны произведению соответствующих элементов двух других массивов - C (СИ)
Формулировка задачи:
Дано два массива одного размера. Сформулировать третий массив, элементы которого равны произведению соответствующих элементов начальных массивов, если они одного знака, и 0 в противном случае.
Решение задачи: «Сформировать массив, элементы которого равны произведению соответствующих элементов двух других массивов»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main() { int i, n; scanf("%d", &n); int *a = (int*)malloc(sizeof(int) * n); int *b = (int*)malloc(sizeof(int) * n); int *c = (int*)malloc(sizeof(int) * n); for(i = 0; i < n; i++) scanf("%d", a + i); for(i = 0; i < n; i++) scanf("%d", b + i); for(i = 0; i < n; i++) { if((a[i] > 0 && b[i] > 0) || (a[i] < 0 && b[i] < 0)) c[i] = a[i] * b[i]; else c[i] = 0; } for(i = 0; i < n; i++) printf("%d ", c[i]); free(a); free(b); free(c); return 0; }
Объяснение кода листинга программы
- Объявлены три переменные типа int: a, b, c.
- Введен размер массива n с помощью функции scanf.
- Выделен память под массив a с помощью функции malloc.
- Выделен память под массив b с помощью функции malloc.
- Выделен память под массив c с помощью функции malloc.
- Заполнены массивы a и b с помощью функции scanf.
- Создается цикл for для перебора элементов массива c.
- Если произведение a[i] и b[i] не равно нулю, то c[i] присваивается это произведение.
- Если произведение a[i] и b[i] равно нулю, то c[i] присваивается нулю.
- Выводится массив c с помощью функции printf.
- Освобождается память, выделенная под массив a.
- Освобождается память, выделенная под массив b.
- Освобождается память, выделенная под массив c.
- Возвращается 0, завершая работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д