Zamiana ról while() i do while()
[+] Zamiana ról while() i do while()
Witam.
Mam podać możliwie najprostszy sposób spowodowania, że program zawierający pętlę while( )
zacznie się zachowywać jak program zawierający pętlę do while( ) - w przykładzie napisałem nieskończoną pętlę while(1), bo zawsze się wykona. Czy to jest dobrze?
Czy istnieje analogiczna możliwość zamiany rolami pętli do while( ) za pomocą pętli while( )? - Tu mam podać przykład i zupełnie nie wiem od której strony się za to zabrać.
Mam podać możliwie najprostszy sposób spowodowania, że program zawierający pętlę while( )
zacznie się zachowywać jak program zawierający pętlę do while( ) - w przykładzie napisałem nieskończoną pętlę while(1), bo zawsze się wykona. Czy to jest dobrze?
Czy istnieje analogiczna możliwość zamiany rolami pętli do while( ) za pomocą pętli while( )? - Tu mam podać przykład i zupełnie nie wiem od której strony się za to zabrać.
Ja to widzę na przykładzie pętli tak:
Pętla oryginalna:
Pętla skonwertowana do do while:
Pętla oryginalna:
Kod: Zaznacz cały
while (warunek_org)
{
rób coś;
}
Kod: Zaznacz cały
warunek_pom=true;
while (warunek_pom)
{
rób coś;
If warunek_org = false
{
warunek_pom = false;
}
}
Pierwszy program:
Drugi program:
Czy takie rozwiązanie jest prawidłowe?
Kod: Zaznacz cały
do
{
instrukcje
} while (warunek);
while (warunek)
{
instrukcje
}
cout << endl;
return 0;
Kod: Zaznacz cały
if (warunek)
{
do
{
instrukcja;
} while (warunek);
}
Wg mnie rozwiązanie jest złe.
W pierwszym programie masz dwie pętle.
W drugim nie bardzo rozumiem co ty tam robisz. Którą pętlę pierwszego programu konwertujesz ?
Przy okazji przyszła mi do głowy prostsza konwersja
i po konwersji
W pierwszym programie masz dwie pętle.
W drugim nie bardzo rozumiem co ty tam robisz. Którą pętlę pierwszego programu konwertujesz ?
Przy okazji przyszła mi do głowy prostsza konwersja
Kod: Zaznacz cały
while (warunek)
{
rób coś;
}
Kod: Zaznacz cały
pierwsze_uruchomienie = true;
while ( pierwsze_uruchomienie || warunek)
{
rób coś;
pierwsze_uruchomienie = false;
}
Ok, czyli konwersja z while() na "do while()":
A na odwrót? Mam użyć samych pętli while()/instrukcji warunkowej?
Kod: Zaznacz cały
bool pierwsze_uruchomienie = true;
while ( pierwsze_uruchomienie || warunek)
{
instrukcje
pierwsze_uruchomienie = false;
}
Ok, a czy w konwersji "do while" na "while" mogę to zrobić tak:
?
Czy muszę użyć w jakiś inny sposób pętli while() ?
Kod: Zaznacz cały
do
{
if (warunek)
{
instrukcje
}
else break;
}while (warunek)
Czy muszę użyć w jakiś inny sposób pętli while() ?
- marcin1982
- Moderator
- Posty: 1731
- Rejestracja: 05 maja 2011, 12:59
- Lokalizacja: Zagłębie Dąbrowskie