Ł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
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