Не вычисляется среднее арифметическое элемнтов массива - C (СИ)
Формулировка задачи:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void aver(int tab[], int n);
void aver(int tab[],int n){
int suma=0;
for(int i=0;i<n;i++){
suma=suma+tab[i];
}
float aver=(float)suma/n;
printf("Aver=%d \n",aver);
}
void random(int tab[], int n);
void random(int tab[],int n){
float element;
for(int i=0;i<n;i++){
element=rand()%9;
tab[i]=element;
printf("%d ",tab[i]);
}
}
int main(){
srand(time(NULL));
int N;
printf("N=");
scanf("%d",&N);
int*tab=(int*)malloc(sizeof(int)*N);
random(tab,N);
aver(tab,N);
return 0;
}Решение задачи: «Не вычисляется среднее арифметическое элемнтов массива»
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void aver(int tab[],int n){
int suma=0;
for(int i=0;i<n;i++){
suma=suma+tab[i];
}
float aver=(float)suma/n;
printf("Aver=%lf \n",aver);
}
void myrandom(int tab[],int n){
float element;
for(int i=0;i<n;i++){
element=rand()%9;
tab[i]=element;
printf("%d ",tab[i]);
}
}
int main(void){
srand(time(NULL));
int N=10;
int*tab=(int*)malloc(sizeof(int)*N);
myrandom(tab,N);
aver(tab,N);
return 0;
}
Объяснение кода листинга программы
В этом коде есть две функции: aver и myrandom. Функция aver принимает два аргумента: массив целых чисел и его размер. Внутри функции происходит инициализация переменной suma, которая будет хранить сумму всех элементов массива. Затем с помощью цикла for происходит проход по всем элементам массива, и каждый элемент прибавляется к переменной suma. После этого переменной aver присваивается значение суммы, разделённой на размер массива. В конце функции выводится на экран значение переменной aver. Функция myrandom принимает два аргумента: массив целых чисел и его размер. Внутри функции происходит инициализация переменной element, которая будет хранить случайно сгенерированное число от 0 до 9. Затем с помощью цикла for происходит проход по всем элементам массива, и каждый элемент присваивается значение переменной element и выводится на экран. В функции main создаётся массив N, инициализированный случайными числами с помощью функции myrandom. Затем вызывается функция aver для вычисления среднего арифметического элементов массива. В конце программы возвращается 0, что означает успешное выполнение.