Сложение двух массивов - C (СИ) (74712)
Формулировка задачи:
Напишите функцию с именем addarray(), принимающую два массива в качестве аргументов одинаковой длины. Функция должна складывать соответствующие элементы двух массивов и помещать результаты в третий массив.
"Простой" си.
Прошу помощи, пожалуйста!
Решение задачи: «Сложение двух массивов»
textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
enum { SIZE = 10 };
void addarray(int *, int *, int *, int);
int main(void)
{
int v1[SIZE], v2[SIZE], vr[SIZE];
srand(time(0));
for (int i =0; i < SIZE; ++i){
v1[i] = rand() % 20;
v2[i] = rand() % 20;
}
printf("v1: ");
for (int i = 0; i < SIZE; ++i) printf("%3d ", v1[i]);
printf("\n");
printf("v2: ");
for (int i = 0; i < SIZE; ++i) printf("%3d ", v2[i]);
printf("\n");
addarray(v1, v2, vr, SIZE);
printf("vr: ");
for (int i = 0; i < SIZE; ++i) printf("%3d ", vr[i]);
printf("\n");
return EXIT_SUCCESS;
}
void addarray(int *v1, int *v2, int *vr, int size){
for (; size >= 0; --size) vr[size] = v1[size] + v2[size];
}
Объяснение кода листинга программы
В данном коде выполняется сложение двух массивов с использованием функции addarray.
- Массив v1 инициализируется случайными числами от 0 до 19 с помощью функции rand().
- Массив v2 также инициализируется случайными числами от 0 до 19 с помощью функции rand().
- Выводится на экран массив v1 с помощью цикла for и функции printf().
- Выводится на экран массив v2 с помощью цикла for и функции printf().
- Вызывается функция addarray, которая принимает в качестве аргументов массивы v1, v2 и vr, а также размер массива.
- В функции addarray выполняется сложение элементов массивов v1 и v2 и запись результата в массив vr.
- Выводится на экран массив vr с помощью цикла for и функции printf().
- Завершается выполнение программы.