Ładny brzuch

witam
kto mi udzieli rady dotyczcej pliku txt i tablic.
mam przeczytac plik textowy w ktorym jest tablica liczb rzeczywistych, tylko sa dwa warunki:
1. nie znam rozmiaru tej tablicy;(bo innaczej wziobym petle "for" i sprawa zaatwiona)
2. nie moge uzyc eof bo mam przeczytac cay plik do konca razem z biaymi znakami ktore moga wystepowac po ostatniej liczbie;
hmmm moze i proste ale akrat trafilo namnie ze niewiem czego uyc
z gory dzieki za rade

kto pyta nie bdzi



otwierasz plik i czytasz linia po linii az wystapi eof. nastepnie parsujesz linie wyciagajac z nich liczby rzeczywiste. i dlaczego nie mozesz uzyc eof? chyba nie za bardzo rozumiesz co eof oznacza...

pozdrawiam
pepsi^no1

moze i masz racje co do tego eof
czy moglbys mi napisac przyklad czytania takiego pliku txt w ktory
jest tablica liczb rzeczywistych bo niemoge znalesc zednych materialow na ten temat

z gory dzieki

musisz podac jak wyglada taki przykladowy plik, bo tablica jest pojeciem wzglednym :]
1. czy to jest tylko jeden wiersz z liczbami rzeczywistymi oddzielonymi spacjami, czy moze dowolna ilosc wierszy?
2. czy w kazdym z wierszy jest taka sama ilosc liczb rzeczywistych?
3. czy pusty wiersz ma byc traktowany jako blad czy pomijany?
itd...

pozdrawiam
pepsi^no1



Nie wiem o co Ci chodzi, ale tu masz program ktory czyta caly plik i wyswietla go na kernia(chyab skumasz):

[code]
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
ifstream plik("blabla.txt");
cout << plik.rdbuf();
}

Kompilatory s jak kobiety - raz chc, a raz nie ;-)

g-g: 2550505
tlen: dieboy@tlen.pl
Moj prostacki hompejd: http://dieboy.er.pl

a wiec od poczatku
najpierw kazal zrobic nam program ktory w pliku tablica.txt zapisuje tablice 100 elementowa wylosowanych liczb rzeczywistych
tablica byla wypelniona tak: for(i=0;i<100;i++){
tab[i]=rand()}
a deklaracja jej wygladala tak: float tab[100];
int i;
i tyle pozniej tylko wyslanie tego do pliku i plik.close();

a teraz mam napisac program ktory czyta ten plik i wypisuje ile ma elementow tablica oraz wypisac ta tablice w odwrotnej kolejnosci
pamietajac ze przyjmujemy ze nie znamy z ilu sklada sie elementow ta tablica

pozdrawiam

ps program jest kompilowany na dev-cpp

#include <iostream> #include <fstream> #include <vector> using namespace std; int main() {   ifstream fin;   fin.open("plik.txt");   vector<float> tab;   float tmp;   while( fin>>tmp) {      tab.push_back(tmp);   }   fin.close();   cout<<"ilosc wczytanych liczb: "<<tab.size()<<endl;   cout<<"wczytane liczby:"<<endl;   for( vector<float>::iterator i = tab.begin(); i != tab.end(); i++ )      cout<<*i<<" ";   cout<<endl<<"wczytane liczby w odwrotnej kolejnosci:"<<endl;   for( vector<float>::reverse_iterator i = tab.rbegin(); i != tab.rend(); i++ )      cout<<*i<<" ";   cin.get();   return 0; }

pozdrawiam
pepsi^no1

dziekuje za pomoc
czy zachciabys mi pomoc poskada te dwa programy w cao nie ukrywam ze musze troche poczytac na tenat <vector> bo pierwszy raz sie z tym spotkalem
ponizej zamieszczam to co ja napisaem oraz ty chciabym teraz te dwa programy poczy w jedna calosc zeby najpierw tworzyc ta tablice i zapisac ja do pliku, oraz zamknac plik, a puzniej zrobic te operacje na tym pliku ktre s zawarte w twoim kodzie
i czy mozna to wszystko zrobic z rozszerzeniem < .h>
i mam pytanie nieukrywam ze instrukcje w twoim kodzie s dlamnie nowoscia tak ze mam prosbe o wskazowki co do materialow na ten temat

TO JEST TO CO JA ZROBILEM I CHCIALBYM TO POLACZYC W JEDNA CALOSC
TYLKO CHODZI O JAK NAJMNIEJSZA INGERENCJE W MOJ KOD, A DOPASOWANIE TWOJEGO KODU DO MOJEGO CZY JEST TO MOZLIWE

#include <iostream.h>
#include <fstream.h>
#include <vector.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
using namespace std;

int main(void)
{
float tab[100];
int i;
ofstream f;
f.open("hhh.txt");
srand(time(NULL));

for(i=0;i<10;i++)tab[i]=rand();

f<<tab[i];
f.close();

/*----------------------------------------------------*/
//TU JEST TWOJ KOD

ifstream fin;
fin.open("hhh.txt");
vector<float> tab;
float tmp;
while( fin>>tmp) {
tab.push_back(tmp);
}
fin.close();

cout<<"ilosc wczytanych liczb: "<<tab.size()<<endl;

cout<<"wczytane liczby:"<<endl;
for( vector<float>::iterator i = tab.begin(); i != tab.end(); i++ )
cout<<*i<<" ";

cout<<endl<<"wczytane liczby w odwrotnej kolejnosci:"<<endl;
for( vector<float>::reverse_iterator i = tab.rbegin(); i != tab.rend(); i++ )
cout<<*i<<" ";
cin.get();
getch();
}

JESZCZE RAZ DZIEKI ZA POMOC I ZAINTERESOWANIE

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •