Poziom 2 Pseudolosowe liczby całkowite (praca domowa)
Ostatnio zmodyfikowano 2013-06-04 00:12
pekfos |
» 2013-06-02 15:17:48 nieraz moze byc przydatne na upartego uzytkownika, zeby nie pisac kodow w kolko.. |
Od tego są pętle. |
|
ferdek_kiepski |
» 2013-06-02 15:18:40 |
|
usmiech |
» 2013-06-02 15:31:36 << removed >> |
|
RazzorFlame |
» 2013-06-02 18:30:57 Ja się wypowiem o tzw. "goto". Prawda jest taka: + Łatwy skok z wybranej pozycji - Właściwie żadna czytelność kodu Przykład: "goto" int iloscWykonan = 5; int counter = 0;
wypisz: cout << "Blablabla" << endl; counter++; if( counter < iloscWykonan ) goto wypisz;
Pętla "for" for( int counter = 0; counter < 5; counter++ ) cout << "Blablabla" << endl;
Z podanego przykładu wynika jeszcze: - Dłuższy kod - Prawie żadne zastosowanie (bardzo łatwo można zastąpić to pętlą) Przyznam się że użyłem tego skoku około 3x w życiu. Co do problemu, chyba nikt nie podał dobrego gotowca (z tych co je podawali [chodzi o gotowiec bez 'goto]) tak więc: @norbertms wywal 'goto' użyj pętli a w niej z każdym wykonaniem dodaj do wcześniej wyzerowanej zmiennej (nazwa oczywiście jest dowolna) 1. Prosty przykład: dla 'for' for( int i = 0; i < maxWykonan; i++ ) { }
Tutaj cała zawartość pętli robi to za ciebie (jeśli odpowiednio ją skonstruujesz). dla 'while' int i = 0; while( i < maxWykonan ) { i++; }
dla 'do...while" int i = 0; do { i++; } while( i < maxWykonan );
Pamiętaj że do...while wykona się przynajmniej raz. |
|
Bajt |
» 2013-06-02 22:23:29 @SeaMonster, pekfos Czy teraz się podoba? #include <iostream> #include <ctime> #include <conio.h>
int main() { int counter = 1; srand(( int ) time( NULL ) ); int number = rand() % 100 + 1; std::cout << "Wylosowano liczbe z przedzialu 1-100." << std::endl; int user_number; std::cout << "Odgadnij ja: "; std::cin >> user_number; while( user_number != number ) { if( user_number < number ) { std::cout << "Liczba zbyt mala."; } else std::cout << "Zbyt duza liczba."; std::cout << " Sprobuj jeszcze raz: "; counter++; std::cin >> user_number; } std::cout << "odgadles za " << counter << " razem!"; _getch(); }
Tamten kod trochę nieuważny więc zwracam honor ;) |
|
pekfos |
» 2013-06-03 13:58:57 Tamten kod trochę nieuważny |
Tak jak ten. |
|
seprob |
» 2013-06-03 15:10:22 A może tak: #include <iostream> #include <stdlib.h> #include <time.h>
using namespace std;
int draw();
int main() { int number_search; int number_rand; srand( time( NULL ) ); number_rand = rand(); while( number_search = draw() ) { if( number_search == number_rand ) { cout << "Zgadles." << endl; break; } else if( number_search < number_rand ) { cout << "Za malo." << endl; continue; } else { cout << "Za duzo." << endl; continue; } } system( "pause" ); }
int draw() { static int counter = 0; int number; cout << "Podaj poszukiwana liczbe: "; cin >> number; counter++; cout << "Liczba prob = " << counter << "." << endl; return number; }
|
|
Bajt |
» 2013-06-03 16:05:54 @pekfos Zdumiewające, jednak na moim kompilatorze wszystko działa |
|
1 « 2 » 3 |