Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Plik zewnętrzny i liczby

Ostatnio zmodyfikowano 2015-11-25 11:18
Autor Wiadomość
nats
Temat założony przez niniejszego użytkownika
Plik zewnętrzny i liczby
» 2015-11-24 21:31:00
Jak z pliku zewnętrznego, który zawiera dwie kolumny liczb oddzielonych tabulatorami, znaleźć liczbę wierszy oraz wpisać te pary liczby do struktury?
P-140746
michal11
» 2015-11-24 21:36:59
ifstream do otworzenia pliku.
Wczytywać możesz operatorem >>.
Dodatkowa zmienna do zapisywania liczby wierszy inkrementowana po wczytaniu każdej pary.
Jeżeli chodziło ci o tablice struktur to powyższa zmienna może tez służyć za indeks tej tablicy do której będziesz wczytywała pary liczb.

Jak pokażesz kod będzie można powiedzieć coś więcej jak ci pomóc.
P-140747
carlosmay
» 2015-11-24 21:37:25
Zliczasz w pętli ile razy w pliku występuje znak nowej linii.
Wczytywanie operatorem wejścia '>>'.
P-140748
nats
Temat założony przez niniejszego użytkownika
» 2015-11-24 21:44:09
int main() {
 ifstream plik("plik.txt");
 if(!plik) {
 cout << "Plik nie zostal otwarty";
 return 1;
 }

 int liczba;
 while(plik >> liczba) {
 cout << liczba;
 }
 plik.close();
 return 0;
}

Przy takim wczytywaniu liczb, program wyświetla jedynie pierwszą z pierwszego wiersza, dlaczego?


i czy przy wczytywaniu kolejnych znaków, zliczanie ma wyglądać tak?
char c;
int z;
while(plik.get(c)) {
 cout << c;
 if(c=="/n") z++;
 }
 
 cout <<z;
 
P-140749
michal11
» 2015-11-24 22:47:04
Kod wstawiaj w znaczniki.
Coś musi być nie tak z plikiem jeżeli pierwszy kod kończy wczytywać po pierwszym znaku, pokaż kilka pierwszych linijek z pliku.
Nie potrzebna jest ta 2 petla wystarczy do pierwszej dodać licznik linii.
P-140755
nats
Temat założony przez niniejszego użytkownika
» 2015-11-24 22:55:51
Tutaj kilka linijek pliku:
115408960 2590747840
616780800 753444864
2318667264 1051087616
488800256 672631456
100327424 1856720816
3058739456 488035826
3561767110 964775360
3960307712 1920296616
1654578596 77814372
3284448320 3789208128
3048656896 580324864
2754490368 541519872
1462425728 3756234752

P-140758
Monika90
» 2015-11-24 23:04:22
Liczba 2590747840 jest za duża i nie mieści się w zakresie typu int, użyj typu unsigned int, a może long long.
P-140760
carlosmay
» 2015-11-24 23:09:04
Zmienna typu int ze znakiem ma maks = 2 147 483 647, a w pliku masz 2 590 747 840 jako drugą, więc jest niepowodzenie wczytywania i wyjście z pętli.
P-140761
« 1 » 2
  Strona 1 z 2 Następna strona