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