Program w c++

Awatar użytkownika
przemk20
Użytkownik
Użytkownik
Posty: 1094
Rejestracja: 6 gru 2006, o 22:47
Płeć: Mężczyzna
Lokalizacja: Olesno
Podziękował: 45 razy
Pomógł: 236 razy

Program w c++

Post autor: przemk20 »

Wyjasnil by mi ktos jak dziala podany nizej fragment kodu
:arrow:
char slowo[MAX_DLUGOSC+1];
int i;
cin >> slowo;
for(i = 0; slowo != 0; ++i);
while(i--)
cout
Xitami

Program w c++

Post autor: Xitami »

na moje oko While w For nie zrobi nic
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

Program w c++

Post autor: soku11 »

Wczytuje do tablicy ciag znakow z klawiaturki a pozniej wyswietla ten ciag w odwrotnej kolejnosc POZDRO
Awatar użytkownika
przemk20
Użytkownik
Użytkownik
Posty: 1094
Rejestracja: 6 gru 2006, o 22:47
Płeć: Mężczyzna
Lokalizacja: Olesno
Podziękował: 45 razy
Pomógł: 236 razy

Program w c++

Post autor: przemk20 »

a na jakiej zasadzie to dziala,??
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

Program w c++

Post autor: Szemek »

Pętla typu "for" 'przeskakuje' po tablicy znaków o jeden element, idzie w kierunku 'końca' tablicy i przerywa swoje działanie, kiedy element tablicy jest równy \0 - jest to tzw. znacznik końca tekstu.
Pętla "while" zaczyna od tego miejsca gdzie pętla for się przerwała i idzie do początku wyświetlając znaki, które są odwrotnym zapisem podanego wcześniej słowa.
Pętla "while" zatrzymuje się, gdy 'i--' osiągnie wartość 0.
Mam nadzieję, że orientujesz się jak są indeksowane poszczególne elementy tablicy, w tym przykładzie jednowymiarowej.
Ostatnio zmieniony 18 paź 2007, o 16:40 przez Szemek, łącznie zmieniany 2 razy.
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

Program w c++

Post autor: soku11 »

Najpierw petla for sprawdza ilosc literek w ciagu. Jak masz slowo abcde, to wtedy wartosc i wynosi 5. (while nie jest w petli for - srednik na koncu for). Pozniej wypisuje kolejne wartosci tablicy slowo, od 5 do 0 (0 oznacza falsz i petla while sie zatrzymuje). POZDRO
Awatar użytkownika
przemk20
Użytkownik
Użytkownik
Posty: 1094
Rejestracja: 6 gru 2006, o 22:47
Płeć: Mężczyzna
Lokalizacja: Olesno
Podziękował: 45 razy
Pomógł: 236 razy

Program w c++

Post autor: przemk20 »

to petla while sie tylko zatrzymuje gdy i=0 a gdybym dal while(++i) to sie ona zapetli
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

Program w c++

Post autor: soku11 »

Nom Tylko wiesz - masz ograniczenie w wielkosci danych. i typu int ma jakies tam ograniczenia W c++ wszystko co nie 0 to prawda POZDRO
ODPOWIEDZ