Birinci döngü imleci en son konuma getiriyor onun için ikinci döngüde
verileri alamıyorsun.
Çözüm: İkinci döngü başlamdan önce imleci en başa konumla ki döngü çalışsın
yada dosyayı kapatıp yeniden aç. örneğin şöyle bir şey
fin.close();
fin.open("veri.txt");
int dizi[sayac-1];
int i=1,g;
while (!fin.eof()){
fin >> g;
cout << "sayi= "<< g << endl;
dizi[i] = g;
i++;
}
cout << dizi[1];
2008/3/14, cemalettin kara <cemalettinkara_at_yahoo.com>:
>
> merhabalar.c++'da dosyadaki verileri diziye akktarırken sorun
> yaşıyorum.yazdığım kod şöyle
> #include <iostream.h>
> #include <fstream.h>
> #include <time.h>
> int main(){
> double tmp,toplam,ort;
> int sayac=0;
> ifstream fin; //dosyamızı açıyoruz
> fin.open("veri.txt");
> //dosyamızdaki sayıları okuyalım ve toplayalım
> while(!fin.eof())
> {
> fin >> tmp;
> toplam=tmp+toplam;
> sayac++;
> }
>
> ort = toplam/sayac; //aritmetik ortayı ajlıyoruz
> cout<<"sayıların ortalaması= "<<ort<<" dır. :-D"<<endl;
> //buraya kadar sorun yok aşağıdaki kısımda sorun var
> int dizi[sayac-1];
> int i,g;
> while (!fin.eof()){
> fin >> g;
> for(int i=1;i<sayac;i++){
> dizi[i] = g;
> }
> }
> cout<<dizi[1]<<endl;
> }
>
> ------------------------------
> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it
> now.<http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ>
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
-- Nesimi ACARCA www.nesimia.com
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Sat 15 Mar 2008 - 11:08:54 EET