Вычисление суммы массивов в одной функции - 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с плавающей точкой и для работы с массивами
  2. Определение размера массива в 7 элементов
  3. Создание функции для ввода значений массива с помощью клавиатуры
  4. Проход по всем элементам массива и добавление значений в переменную s
  5. Возвращение суммы всех элементов массива
  6. Ввод значений для каждого из массивов
  7. Вычисление суммы массивов a, b и c
  8. Вывод результата на экран
  9. Ожидание нажатия клавиши для завершения работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5
Похожие ответы