Średnia w tablicy

Odpowiedz Nowy wątek
2015-01-17 13:15
0

Witam

Napisałem program, który liczy mi średnią w tablicy. Wiem, że lepiej z floatem to zrobić, ale tym zajmę się później. Jednak program mi działał, a teraz nie wiem co się stało i znajduje bład.

 #include <stdio.h>     
#include <stdlib.h>
#include <time.h>

int main{
    #define TABSIZE 10 

    int tablica[TABSIZE],i,suma;
    srand(time(NULL));    
        for (i=0;i<TABSIZE;i++)
        {
            tablica[i]=rand()/10000;                  
            printf("%d", tablica[i]);
        }
        suma=0;
        for (int i = 0; i < TABSIZE; i++)
        suma = suma+ tablica[i]/TABSIZE);
        printf("\nWynik to:%d",suma);

 }

Pomoże ktoś?

Czytelniejsze było by napisanie suma += tablica[i]; - _borisov8 2015-01-17 13:36

Pozostało 580 znaków

2015-01-17 13:20
1
        for (int i = 0; i < TABSIZE; i++)
        suma = suma+ tablica[i]/TABSIZE);

zamiast wyliczyc sume i raz podzielic przez elementy ty dzielisz caly czas (w tym przypadku 10 razy)

Pozostało 580 znaków

2015-01-17 13:42
0

Dzieki, ale nie o to mi chodzi.

Wogole mi nie kompiluje. Jest bład kompilacji. Na samym poczatku w 5 linii pokazuje mi "invalid function declaration". Może to coś ze środowiskiem jest nie tak?

Tu już uaktualniony program

 #include <stdio.h>     
#include <stdlib.h>
#include <time.h>

int main{
    #define TABSIZE 10 

    int tablica[TABSIZE],i,suma;
    srand(time(NULL));    
        for (i=0;i<TABSIZE;i++)
        {
            tablica[i]=rand()/10000;                  
            printf("%d", tablica[i]);
        }
        suma=0;
        for (int i = 0; i < TABSIZE; i++)
        suma = suma+ tablica[i]);
        float sred = suma/TABSIZE;
        printf("\nWynik to:%d",sred);

 }

Pozostało 580 znaków

2015-01-17 13:46
1

#include <stdio.h>        
#include <stdlib.h>
#include <time.h>
#define TABSIZE 10 
int main()
{
    int tablica[TABSIZE],i,suma;
    float srednia = 0;
    srand(time(NULL));    
        for (i=0;i<TABSIZE;i++)
        {
            tablica[i]=rand()%50;                  
            printf("%d\n", tablica[i]);
        }
         suma=0;
        for(int i = 0; i < TABSIZE; i++)
            suma += tablica[i];
        srednia = suma/(float)TABSIZE;
        printf("\nWynik to:%.2lf",srednia);

 }

Brak nawiasów w funkcji main, oraz niezamknięty nawias w linii 18.
Czytanie komunikatów kompilatora nie boli :D

edytowany 3x, ostatnio: _borisov8, 2015-01-17 15:35
Pokaż pozostałe 2 komentarze
A po poprawce działa? - _13th_Dragon 2015-01-17 15:37
No działa. - _borisov8 2015-01-17 15:42
1. Nie kompiluje się pod C; 2. printf(&quot;\nWynik to:%.2lf&quot;,srednia); - wyświetlasz float z formatem lf - nieliczne kompilatory to obsłużą poprawnie. - _13th_Dragon 2015-01-17 15:49
fakt, kompiluje to g++-em, dlaczego Ty musisz być takim purystą :) ? - _borisov8 2015-01-17 15:52
Wręcz na odwrót mam bardzo liberalne poglądy co do programowania (jak na ten forum). - _13th_Dragon 2015-01-17 15:55

Pozostało 580 znaków

2015-01-17 15:16
0
#include <stdio.h>        
#include <stdlib.h>
#include <time.h>

#define TABSIZE 10 

int main()
  {
   int tablica[TABSIZE],i,suma;
   srand(time(NULL));
   for(i=0;i<TABSIZE;++i) tablica[i]=rand()%10000;
   for(i=0;i<TABSIZE;++i) printf("%d ", tablica[i]);
   suma=0;
   for(i=0;i<TABSIZE;++i) suma+=tablica[i];
   printf("\nSrednia: %.2lf\n",suma/(double)TABSIZE);
   return 0;
  }

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0