Вычисление суммы массивов в одной функции - C (СИ)
Формулировка задачи:
Даны три одномерных массива а [], b [], c []. Вычислить
Я написала программу, но преподаватель требует чтобы суммы вычислялись в одной функции, а как это сделать не соображу. Может кто поможет. Вот моя программа:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define Na 7
#define Nb 7
#define Nc 7
void vvod(float a[ ], int n, char q);
float sum(float a[ ], int n);
float sum1(float b[ ], int n);
float sum2(float c[ ], int n);
int main()
{
float a[Na], b[Nb], c[Nc], y;
vvod(a, Na, 'a');
vvod(b, Nb, 'b');
vvod(c, Nc, 'c');
y=sum(a, Na)+sum1(b, Nb)+sum2(c, Nc);
printf("y=%f\n",y);
system("PAUSE");
return 0;
}
void vvod(float a[], int n, char q)
{
int j;
for (j=0; j<n; j++)
{
printf("Vvedite %c[%i]=\n", q, j+1);
scanf("%f", &a[j]);
}
return;
}
float sum(float a[ ], int n)
{
int j;
float s=0;
for(j=0; j<n; j++)
{
s+=a[j];
}
return s;
}
float sum1(float b[ ], int n)
{
int j;
float s1=0;
for(j=0; j<n; j++)
{
s1+=b[j]*b[j];
}
return s1;
}
float sum2(float c[ ], int n)
{
int j;
float s2=0;
for(j=0; j<n; j++)
{
s2+=c[j]*c[j]*c[j];
}
return s2;
}Решение задачи: «Вычисление суммы массивов в одной функции»
textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define SIZE 7
void Vvod(float arr[], int n, char q){
for (int j=0; j<n; j++){
printf("Enter the value of the item %c[%i]: ", q, j+1);
scanf("%f", &arr[j]);
}
printf("\n");
}
float Sum(const float a[], const float b[], const float c[],int n){
float s=0;
for(int j=0; j<n; j++){
s+=a[j]+pow(b[j], 2)+pow(c[j], 3);
}
return s;
}
int main(int argc, char **argv){
float a[SIZE], b[SIZE], c[SIZE], y;
Vvod(a, SIZE, 'a');
Vvod(b, SIZE, 'b');
Vvod(c, SIZE, 'c');
y=Sum(a, b, c, SIZE);
printf("Y=%.2f\n",y);
system("PAUSE");
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с плавающей точкой и для работы с массивами
- Определение размера массива в 7 элементов
- Создание функции для ввода значений массива с помощью клавиатуры
- Проход по всем элементам массива и добавление значений в переменную s
- Возвращение суммы всех элементов массива
- Ввод значений для каждого из массивов
- Вычисление суммы массивов a, b и c
- Вывод результата на экран
- Ожидание нажатия клавиши для завершения работы программы