Próbuję odczytać numery z pliku tekstowego i zapisać go w tablicy. Kiedy próbuję odczytywać liczby znajdujące się w tablicy, wynik jest nieznaczny. To jest mój kod:Tablica nie drukuje poprawnych wartości
struct point{
double x[7];
double y[7];
}point;
int main()
{
FILE *fp;
fp = fopen("data_2.txt", "r");
struct point points;
int len = 8;
int i = 0;
int j = 0;
int k = 0;
double a = 0;
double b = 0;
double c = 0;
double total = 0;
int left=0;
int right=0;
int line = 0;
for (i=0;i<len;i++)
{
fscanf(fp, "%lf %lf", &points.x[i],&points.y[i]);
}
for(i = 0; i < len;i++)
printf("looking at point %.2f %.2f\n",points.x[i],points.y[i]);
return(0);
}
pliku testu używam zawiera następujące cyfry
2.3 7.5
7.6 7.1
8.5 3.0
5.9 0.7
1.0 2.0
5.1 5.8
4.0 4.5
4.3 3.4
Wyjście otrzymuję to:
looking at point 2.30 4.30
looking at point 7.60 7.10
looking at point 8.50 3.00
looking at point 5.90 0.70
looking at point 1.00 2.00
looking at point 5.10 5.80
looking at point 4.00 4.50
looking at point 4.30 3.40
Co to jest, że ja robię źle?
To dziwne. Spróbuj zamknąć plik, gdy jego użycie zostanie zakończone. – Shravan40
Masz nadmiar indeksów tablicy. Tablica 'x, y' w struct point może zawierać tylko 7 liczb, ale próbujesz napisać do 8. Rozszerzenie rozmiaru tablicy naprawi to. –
Powinieneś zajrzeć do [właściwego formatowania C] (// prohackr112.tk/pcf). –