Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Informatika #C

466
Hol lehet a hiba ?

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

int main()
{

int i,n,*v;
float atlag;

printf("Hany eleme lesz a tombnek: ");
scanf("%d", &n);

for (i=0; i<n; i++)
{
scanf("%i", &v[i]);
printf("v[%i]=%i \n ", i+1, v[i]);

}
for (i=0; i<n; i++)
{
atlag=(v[i]+v[i+1]) /2 ;
printf("\n%f\n",atlag);
}
return 0;
}

Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika

Válaszok

1
Hát, C-ben a tömb létrehozás nem így működik, pontosabb nem hoztál létre semmit.
Az int *v az nem mutat sehova, egy null pointer, így nem is tudsz semmit se oda írni.

Ezenkívül én azt javaslom, hogy %i helyett %d-t használj. Ha tudod, hogy 10-es számrendszerben írják be a számokat, akkor jobb a %d.

Az átlag számításnál meg kimész a tömbből. Amikor i=n-1, akkor az átlag számításnál a v[i+1] = v[n-1+1] = v[n], ami már a tömbön kívül lesz.
0