Вычислить массив в функции - C (СИ)
Формулировка задачи:
Убил много времени,а оно все не работает и не работает.
Задача программы вычислить ср. арифметическое массивов а10 b15 c20,но один массив обработать в функции (подпрограмме)
Кому не трудно помогите,пожалуйста.
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>
int main(void) {
int a[10];
int b[15];
int c[20];
int i=0;
int p=0;
int o=0;
float SREDa=0;
float SREDb=0;
float SREDc=0;
for(i=0;i<=9;i++)
{
a[i]=rand()%99+1;
SREDa+=a[i];
printf("a[%d]=%d ",i,a[i]);
}
printf("SRED=%f \n",SREDa/10);
for(p=0;p<=14;p++)
{
b[p]=rand()%99+1;
SREDb+=b[p];
printf("b[%d]=%d ",p,b[p]);
}
printf("SRED=%f \n",SREDb/15);
for(o=0;o<=19;o++)
{
c[o]=rand()%99+1;
SREDc+=c[o];
printf("c[%d]=%d ",o,c[o]);
}
printf("SRED=%f \n",SREDc/20);
}Решение задачи: «Вычислить массив в функции»
textual
Листинг программы
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>
float srednee(int a[], int length){
float SREDc=0;
int o;
for(o=0;o<20;o++)
{
a[o]=rand()%99+1;
SREDc+=a[o];
printf("c[%d]=%d \n",o,a[o]);
}
return SREDc/20;
}
int main(void) {
int a[10], b[15], c[20];
int i, p;
float SREDa=0, SREDb=0, SREDc;
for(i=0;i<10;i++)
{
a[i]=rand()%99+1;
SREDa+=a[i];
printf("a[%d]=%d \n",i,a[i]);
}
printf("SRED=%f \n",SREDa/10);
for(p=0;p<15;p++)
{
b[p]=rand()%99+1;
SREDb+=b[p];
printf("b[%d]=%d \n",p,b[p]);
}
printf("SRED=%f \n",SREDb/15);
printf("SRED=%f \n",srednee(c, 10));
return 0;
}
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы: stdio.h, time.h, math.h, stdlib.h
- Определяется функция srednee с двумя аргументами: массив a и его длина length. Внутри функции объявляются две переменные: SREDc и o. SREDc будет использоваться для хранения суммы элементов массива, а o - для цикла.
- Запускается цикл for, который будет выполняться 20 раз. В каждой итерации выполняются следующие действия:
- В массив a[o] записывается случайное число от 1 до 99 с помощью функции rand().
- К переменной SREDc прибавляется значение a[o].
- С помощью функции printf() выводится сообщение с индексом элемента массива и его значением.
- В функции main() объявляются три массива: a, b и c.
- Запускаются три цикла for для заполнения массивов a и b случайными числами и вычисления их суммы SREDa и SREDb соответственно.
- Выводится сообщение с суммой SREDa/10.
- Выводится сообщение с суммой SREDb/15.
- Вызывается функция srednee с массивом c и его длиной 10. Результат сохраняется в переменной SREDc.
- Выводится сообщение с значением SREDc.
- Функция main() возвращает 0, что означает успешное завершение работы программы.