Cześć wszytkim, na zajęciach mieliśmy napisać tablice, która:
a) znajduje wartość największą i najmniejszą,
b) oblicza średnią arytmetyczną,
c) oblicza standardowe odchylenie
Mimo, że jestem początkujacym, to udało mi się napisać caly kod, jednak nie program nie do końca robi to co w poleceniu: Po pierwsze w tablicy wyświetla jakieś dziwne wartości, chciałem, żeby każda kolejna wartość w tablicy to była losowa liczba od 0 do 9. Jest też problem z minimalną i maksymalną wartością:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define m 10
int losuj(int*t, int i)
{
t[i]=rand()%m ;
return t[i];
}
int SumujTab(int *t)
{
int suma = 0;
int i;
for(i=0; i<m; i++)
suma += *(t+i);
return suma;
}
int odchylenie(int *t)
{
int q = 0;
int tab [m];
int i ;
int w=0;
for(i=1; i<m; i++)
{
q += *(t+i);
w = (q - SumujTab(tab))/m ;
}
return w ;
}
int main()
{
int tab [m];
int k ;
int i ;
int e ;
int min ;
int max ;
for(i=1; i<m; i++)
losuj(&tab[i], i);
for (i=0; i<m; ++i)
{
printf ("Element numer %d = %d\n", i, tab[i]);
}
printf("Suma wszystkich elementow tablicy wynosi %d.\n", SumujTab(tab));
k=SumujTab(tab)/m;
printf("Srednia wszystkich elementów tablicy wynosi %d.\n",k );
e=sqrt(odchylenie(tab));
printf("Odchylenie standardowe wynosi %d \n", e);
max=tab[0];
min=tab[0];
for(i=0; i<m; i++)
{
if(tab[i]>max) max=tab[i];
if(tab[i]<min) min=tab[i];
printf("max = %d",max);
printf("\n");
printf("min = %d",min);
printf("\n");
}
return 0;
}