Uzupełnienie tablicy danymi z pliku

0

Witam, mam pewne zadanie do wykonania:
Muszę wczytać dane z pliku .txt - wartości double, każda kolejna w nowej linijce tekstu. Najpierw muszę je odczytać w celu uzyskania liczby wartości, a następnie aby wpisać je do tablicy. Niestety kod nie działa - wychodzą same wartości 0.000000, mimo że nie pojawiają się warningi i errory - kompiluje się bez problemu. Proszę o pomoc, mój kod wygląda tak:

#include <stdio.h>
 int main (void)
{
	puts ("Witaj w programie!");
	
	printf ("Podaj nazwe pliku, z ktorego chcesz czytac: ");
	char nazwa_pliku[30];
	scanf ("%s", nazwa_pliku);
	
	FILE *plik = fopen (nazwa_pliku, "r");
	if (!plik) 
	{
		printf ("Nie moge czytac z pliku %s!\n", nazwa_pliku);
		return 1;
	}
	
	double wyniki;
	int rozmiar = 0;
	while ( fscanf (plik, "%lf", &wyniki) != EOF)
	{
		rozmiar++;
	}
	printf ("W tablicy znajduje sie %d pomiarow.\n", rozmiar); // - tylko dla sprawdzenia
	
	/* //próbowałam najpierw z while, ale wynik jest taki sam zarówno dla while jak i dla for, który jest poniżej
	double pomiary[rozmiar];
	int i = 0;	
	while(fscanf(plik, "%lf", &pomiary[i]) != EOF)
	{
		printf("Number is: %lf\n", pomiary[i]);
        i++;
    }
	*/

	double pomiary[rozmiar]; 
	for (int i=0; i<rozmiar; i++)
	{
		fscanf (plik, "%lf", &pomiary[i]);
		//printf("Number is: %lf\n", pomiary[i]);
	}	
	for(int i = 0; i < rozmiar; i++)
    {
        printf("%lf\n" , pomiary[i]);
    }
 fclose(plik);
return 0;
}
0

Pierwszy while dochodzi do końca pliku, i stąd drugi już nic z niego nie czyta. Zastosuj tablicę dynamiczną (wtedy rozmiar nie ma znaczenia) i połącz pętle, albo "zamknij" plik i otwórz go ponownie między while-ami.

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