sebikom
(Sebikom)
#1
Witam szukam sposobu aby odczytać dane z pliku.
Zakładając, że moje dane w pliku to
6
2400 2000 1200 2400 1600 4000
1 4 5 3 6 2
5 3 2 4 6 1
Wiem jak zczytać cale linie do tablicy, a chciałbym poszczególne cyfry.
Szukałem sposobu ale nie było to zbyt owocne.
_alex
([alex])
#2
ifstream f;f.open("plik.txt",ios::in);string wiersz1,wiersz2;getline(f,wiersz1);getline(f,wiersz2);f.close(); [/code]
w s wiersz2 masz "2400 2000 1200 2400 1600 4000"
sebikom
(Sebikom)
#3
Chcialbym zrobić tak ze wiersz 2,3,4 to tablice w których elementami sa kolejne cyfry z wierszy.
_alex
([alex])
#4
string jest tablicą:
wiersz2[0]==‘2’
wiersz2[1]==‘4’
wiersz2[2]==‘0’
pomiędzy liczbami są spacje, wystarczy je poprawnie zliczać.
sebikom
(Sebikom)
#5
Bardziej chodzi mi o wiersz2[0]=2400
Chodzi mi tylko o to jak zczytywać z pliku tak odrazu albo, po wczytaniu całej lini jak ja podzielić.
nr47
(Sawyer47)
#6
Napisałeś, że chodzi Ci o poszczególne cyfry, wtedy rada [alex] jest jak najbardziej na miejscu. Jeśli natomiast chodzi Ci o liczby, to np.
int zmienna;
strumien >> zmienna;
//I masz liczbę w zmiennej.
sebikom
(Sebikom)
#7
Chodzi mi o liczbe, mój bład.
Strumien to jest otwarty plik? Tylko jak zczytywać kolejne liczby z linni kiedy niewiem ile ich jest i potem zejść do następnej?
_alex
([alex])
#8
Na ile rozumiem liczba w pierwszym wierszu mówi o ilości kolumn więc:
ifstream f;f.open("plik.txt",ios::in);int N;fN;f)
sebikom
(Sebikom)
#9
Czemu dla danych
4
5
1 5 5 8 6
3
2 2 2
3
5 7 8
4
1 5 7 4
Ponizszy kod niedziala poprawnie, niechce zejsc do 2 wiersza tablicy
wejscie>>n;
for(int i=0;i
{
wejscie>>b[i][0];
for(int k=0;i
{
wejscie>>liczba;
if(!wejscie) break;
b[i][k+1]=liczba;
}
}
[/code]
_alex
([alex])
#10
Wszystko zależy od tego czym jest to b ;
sebikom
(Sebikom)
#11
jest tablica dwuwymiarowa int
_alex
([alex])
#12
Podaj deklaracje tej tablicy, już widzę, ale głupi błąd:
for(int k=0; i