Odczyt liczb rzeczywistych z pliku tekstowego

0

Dany jest plik tekstowy, o nazwie "dane.txt", zawierający liczbyrzeczywiste.
Napisz funkcję kopiującą zawartość tego pliku do nowego (tekstowego) pliku "wyniki.dat", ale z pominięciem liczb ujemnych.

Na razie staram się napisać program bez funkcji. W pliku dane.txt jest 5 liczb. Ale niestety nie do końca działa, bo zamiast liczb wyświetla same zera.

#include <stdio.h>
#include <stdlib.h>
int a[5], b[5], i=0, j=0;
int main(void)
{
    FILE* plik;
    plik=fopen("dane.txt", "r");
    for(i; i<5; i++){
           fscanf(plik,"%d", &a[i]);
           if(a[i]>=0){
                       b[j]=a[i];
                       j++;
                       }
           printf("%d ", b[j]);
           }
    fclose(plik);

printf("\n\n");
system("PAUSE");
}
0
#include <iostream>
#include <conio.h>
#include <fstream>
using namespace std;
void zapisz (float tablica[],int i)
{
	ofstream zapis("wyniki.doc");
		for(int a=0;a<i-1;a++)
		{
			if(tablica[a]>0)
				zapis<<tablica[a];
		}
	zapis.close();
}

int main()
{
		int i=0;
		float tablica[5];
	ifstream odczyt("dane.txt");
	while(!odczyt.eof())
	{
		odczyt>>tablica[i];
		i++;
	}
	zapisz(tablica,i);
	odczyt.close();

	_getch();
}

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