Miért nem jó ez a program? (C)
#include <stdio.h>
#include <stdlib.h>
#define MAX 4
#define BEOLVAS for(i=0;i<=MAX;++i){scanf("%d",&szam[i]);}
int main(){
float szam[MAX],max;
int i,hanyadik=0;
float osszeg=0;
BEOLVAS;
for(i=0;i<=MAX;++i)
{osszeg+=szam[i];}
printf("Atlag: %f",osszeg/(MAX+1));
max=szam[0];
for(i=0;i<=MAX;++i)
if(max<szam[i]){max=szam[i];hanyadik=i;}
system("pause");
}
Mindig 0-t ad átlagra. Órán írtuk, de valamit elrontottam benne és nem látom mit.
Lehet, hogy én vagyok degenerált, de nem igazán értem, miért konstansként definiálsz valamit, amit vagy függvényben kéne megírni (beolvas), aztán meghívni, hiszen a beolvas nem egy konstans, hanem egy művelet kéne, hogy legyen, vagy ki se kell venni belőle, hacsak nem ezt kéri a feladat.
ha linuxon írod, akkor fordítsd gcc -Wall kapcsolóval
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!