[c++]usuwanie słów

t

Jakim cudem ci się to kompiluje ?? Że, zauważyłeś taki błąd :stuck_out_tongue:

Nie bardzo rozumiem, po co ci mierzenie ilości liter w wierszu (od długości odejmujesz ilość spacji), co to ma wspólnego z zadaniem.

Naucz się porządnie formatować kod, po pierwsze oszczędzi to ci czas przy szukaniu błędów, po drugie na posty z ładnie sformatowanym kodem częściej i szybciej odpowiadają.

jak po co mi długość liter w wierszu, a skąd będe wiedział czy linia jest parzysta czy nie??odejmuje spacje żeby uzyskać rzeczywistą długość, bo jak wklepe length() to podaje długość ze spacjami

Człowieku, wymyślasz sobie jakieś terminy których nie wyjaśniasz jak ci ktoś ma pomóc.

Człowieku , linia parzysta to taka , w której ilość liter jest parzysta

słowo parzyste to takie , w którym ilość liter jest parzysta

Parzyste- podzielne przez 2

Mój program ma wyświetlać linie parzyste z usuniętymi słowami nieparzystymi i linie nieparzyste z usuniętymi słowami parzystymi

Tu masz topa co pomoże ci rozróżnić wyraz “parzysty”, od “nie parzystego”. Jedyne co musisz dorobić to getline (jako podział na linie), możesz go dać sobie w pętli while dodając licznik linii. I oczywiście warunek przy wyświetlaniu.

Twoja metoda w ogóle się nie sprawdza, po co ci znać ilość linii jak nic z tym nie robisz. Włóż jedno w drugie i powinno po poprawkach zadziałać.

ale ja nie używam numeru lini i to rzeczywiście nie jest potrzebne, ale używam długość lini (u mnie x), podział na przyste i nieparzyste jest prosty,

u mnie

x=name.length();

if(x%2==0){

plik>>string;

if(string.length()%2==0){

cout<

u mnie ,jeżeli bym napisał program na linie parzyste i tylko wyłącznie , to działa bez zarzutu, ale nie wiem dlaczego jak dostawiam else dla nieparzystych to mi długości lini zmienia na 13, i właśnie cały czas tego próbuje się dowiedzieć

Definiujesz x w środku pętli :stuck_out_tongue:

A warunek w tej pętli sprawdza przedostatnią linijkę jako ostatnią to ci wychodzi 13 :stuck_out_tongue:

Pozatym masz inne długości tych lini a x jest jeden.

czyli zrobić dla długości tablice??ale ja nadal nie mogę sobie wyjaśnić, dlaczego dla jednego typu lini wychodzi dobrze i x też dobre wychodzi , bo jak tam mam cout<

A nie jednak masz dobrze, formatowanie kodu u ciebie kuleje nie zauważyłem klamry. Daj* mi chwile.

// masz zły warunek w while, musisz go dać dla danej linii a nie całego pliku

Chyba nadal nie rozumiem, czy parzysty wiersz to ten którego długość jest parzysta?

Ja myślałem że parzysty wiersz to drugi, czwarty, szósty itp, a nieparzysty to pierwszy, trzeci, piąty itp.

http://forum.4programmers.net/Newbie/17 … wanie_slow

a właśnie swoją drogą, jeżli chce brać numer lini

to wystarczy w pętli for(int i=1;i<=3;++i) {getline(plik,name)};

napisać np. if(i==1)?? jeżli chce pierwszą linie?

Dodane 30.04.2011 (So) 9:14

for (int i=1;i<=3;i++){

   getline (plik,name);

if(i%2!=0){

plik >>name;

 if(name.length()%2==0)

cout<

dlaczego coś takiego nie działa??

Dodane 30.04.2011 (So) 10:12

dobra zrobiłem stringstream’em

Dodane 30.04.2011 (So) 10:21

tylko jak by mi jeszcze ktoś podpowiedział , jak zrobić , żeby najpierw wyświetlało 2 linie a później reszte. Bo u mnie to po kolei robi