R. 35 - prośba o sprawdzenie zadania domowego
Ostatnio zmodyfikowano 2019-01-28 19:36
colargol Temat założony przez niniejszego użytkownika |
R. 35 - prośba o sprawdzenie zadania domowego » 2019-01-28 18:45:43 Witam. Czy mógłbym poprosić o sprawdzenie czy poprawnie wykonałem zadanie domowe z rozdziału 35 poziom 4? #include <fstream> #include <iostream>
using namespace std;
int main()
{ ifstream plik( "C:\\plik.txt" ); if( !plik.good() ) return 0; char znak; int ile = 0; while( !plik.eof() ) { plik >> znak; ile++; } plik.clear(); plik.seekg( 0 ); int pozycja = plik.tellg(); do { plik.seekg( 3, ios::cur ); plik >> znak; cout << znak << ", "; pozycja = plik.tellg(); } while( pozycja < ile - 1 ); return 0; } |
|
pekfos |
» 2019-01-28 18:51:05 Niepotrzebnie masz dwie pętle. |
|
colargol Temat założony przez niniejszego użytkownika |
» 2019-01-28 18:52:17 Która pętla jest niepotrzebna i dlaczego? |
|
pekfos |
» 2019-01-28 19:01:47 Która, to powinno być oczywiste. Są tylko dwie, a jedna wykonuje zadanie. Nie musisz wiedzieć, ile jest znaków. Masz je po prostu wypisywać, aż się skończą. |
|
colargol Temat założony przez niniejszego użytkownika |
» 2019-01-28 19:08:34 Jak usune tą pętle to wtedy ostatni znak dwa razy mi wyświetla. |
|
pekfos |
» 2019-01-28 19:12:14 |
|
colargol Temat założony przez niniejszego użytkownika |
» 2019-01-28 19:15:11 To co mam zrobić żeby działało poprawnie? Wyświetla tak: a, c, d, d, A ma wyświetlać tak: a, c, d, Tamta druga pętla właśnie powodowała to, że dobrze wyświetla. |
|
pekfos |
» 2019-01-28 19:18:38 Najprościej nie robić tego: plik >> znak; cout << znak << ", ";
Jeśli skończy się plik i nie wczytasz znak, to i tak go wyświetlasz. |
|
« 1 » 2 |