Не вычисляется среднее арифметическое элемнтов массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Скажите, что не так в моем коде?
Листинг программы
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4. void aver(int tab[], int n);
  5. void aver(int tab[],int n){
  6. int suma=0;
  7. for(int i=0;i<n;i++){
  8. suma=suma+tab[i];
  9. }
  10. float aver=(float)suma/n;
  11. printf("Aver=%d \n",aver);
  12. }
  13. void random(int tab[], int n);
  14. void random(int tab[],int n){
  15. float element;
  16. for(int i=0;i<n;i++){
  17. element=rand()%9;
  18. tab[i]=element;
  19. printf("%d ",tab[i]);
  20. }
  21. }
  22. int main(){
  23. srand(time(NULL));
  24. int N;
  25. printf("N=");
  26. scanf("%d",&N);
  27. int*tab=(int*)malloc(sizeof(int)*N);
  28. random(tab,N);
  29. aver(tab,N);
  30. return 0;
  31. }
Заранее спасибо!

Решение задачи: «Не вычисляется среднее арифметическое элемнтов массива»

textual
Листинг программы
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4.  
  5.  
  6.    void  aver(int tab[],int n){
  7.          int suma=0;
  8.          for(int i=0;i<n;i++){
  9.                suma=suma+tab[i];
  10.          }
  11.          float aver=(float)suma/n;
  12.          printf("Aver=%lf \n",aver);
  13.    }
  14.  
  15.  
  16.    void  myrandom(int tab[],int n){
  17.          float element;
  18.          for(int i=0;i<n;i++){
  19.             element=rand()%9;
  20.             tab[i]=element;
  21.             printf("%d ",tab[i]);
  22.          }
  23.    }
  24.  
  25. int main(void){
  26.       srand(time(NULL));
  27.       int N=10;
  28.       int*tab=(int*)malloc(sizeof(int)*N);
  29.       myrandom(tab,N);
  30.       aver(tab,N);
  31.  
  32.       return 0;
  33. }

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

В этом коде есть две функции: aver и myrandom. Функция aver принимает два аргумента: массив целых чисел и его размер. Внутри функции происходит инициализация переменной suma, которая будет хранить сумму всех элементов массива. Затем с помощью цикла for происходит проход по всем элементам массива, и каждый элемент прибавляется к переменной suma. После этого переменной aver присваивается значение суммы, разделённой на размер массива. В конце функции выводится на экран значение переменной aver. Функция myrandom принимает два аргумента: массив целых чисел и его размер. Внутри функции происходит инициализация переменной element, которая будет хранить случайно сгенерированное число от 0 до 9. Затем с помощью цикла for происходит проход по всем элементам массива, и каждый элемент присваивается значение переменной element и выводится на экран. В функции main создаётся массив N, инициализированный случайными числами с помощью функции myrandom. Затем вызывается функция aver для вычисления среднего арифметического элементов массива. В конце программы возвращается 0, что означает успешное выполнение.

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


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

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

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы