Copyright 2024 - Custom text here

Lekcja 10 Liczby pseudolosowe

Generator Liczb pseudolosowych To program lub podprogram, który na podstawie niewielkiej ilości informacji generuje losowe liczby.

Co to znaczy pseudolosowe? 

Znaczy to że są one generowane według określonego schematu i jeśli zainicjalizujemy funkcję losującą tą samą wartością to program zwróci wylosowane liczby w tej samej kolejności .

Funkcje losujące

To Funkcje, które posłużą do wylosowania liczb znajdują się w bibliotece cstdlib, którą dołącza się poprzez dyrektywę include:​   #include <cstdlib>

#include <cstdlib>

Następnie musimy uzyć czegoś co nam wygeneruję liczby, do tego użyjemy funkcji srand(), jednakże należy pamietać że konieczne będzie coś co nam będzie te liczby losowało, do tego będzie potrzebna  funkcja rand().

 

 

  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int main() {
  5.   srand(100);
  6.   for (int i = 0; i < 10; i++) 
  7.     cout << rand() << endl;
  8.   system("pause");
  9.   return 0;
  10. }

 

 

 

#include <iostream>

#include <cstdlib> //deklaracja biblioteki obsługującej funkcję rand

using namespace std;

int main() {

srand(100); 

 for (int i = 0; i < 10; i++) 

cout << rand() << endl;

system("pause");

return 0;

}

 

Program, który wylosuje liczbę od 1 do 100

#include <stdio.h>
#include <cstdlib> //deklaracja biblioteki obsługująca rand
#include <iostream>
#include <time.h>  //deklaracja biblioteki obsługująca srand
using namespace std;
int liczba;   // wartość wylosowanej liczby

int main()
{
cout <<"Witaj zgadnij o jakiej liczbie pomyślałem z zakresu od 1 do 100"<<endl;
srand(time(NULL));  // umożliwia zmianę wylosowanej liczby
liczba = rand()%100+1; // % operator modulo
cout<<liczba<<endl;

return 0;
}

 

Program, który wylosuje 5 liczb z zakresu od 1 do 100

#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
int liczba;

int main()
{
cout <<"witaj pomyślalem sobie liczne od 1 do 100"<<endl;
srand(time(NULL)); // tej funkcji nie należy kopiować!
liczba = rand()%100+1;
cout<<liczba<<endl;
liczba = rand()%100+1;
cout<<liczba<<endl;
liczba = rand()%100+1;
cout<<liczba<<endl;
liczba = rand()%100+1;
cout<<liczba<<endl;
liczba = rand()%100+1;
cout<<liczba<<endl;
return 0;
}

 

Program, który wylosuje dowolną liczbę z zakresu od 1 do 100 i użytkownik będzie musiał odgadnąć jaka to liczba? (wykorzystamy petlę while}

#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
int liczba, podana_liczba;

int main()
{
cout <<"witaj pomyślalem sobie liczne od 1 do 100"<<endl;
srand(time(NULL));
liczba = rand()%100+1;
cout<<liczba<<endl; // tu widać wylosowaną liczbę (później należy wykasować ten wiersz)

while(podana_liczba!=liczba)  // warunek wyjścia z pętli 

{
cout<<"Zgdanij jaka jest liczba ";
cin>>podana_liczba;

if (podana_liczba==liczba)
cout<<"Trafiles - BRAWO"<<endl;

else if (podana_liczba<liczba)
cout<<"To za malo"<<endl;

else if (podana_liczba>liczba)
cout<<"To za duzo"<<endl;

}

return 0;
}

Ten sam progam wzbogacony o ilość podanych prób w celu odgadnięcia liczby

#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
int liczba, podana_liczba; //deklaracja nowej zmiennej
int ilosc_proba=0;

int main()
{
cout <<"witaj pomyślalem sobie liczne od 1 do 100"<<endl;
srand(time(NULL));
liczba = rand()%100+1;
cout<<liczba<<endl;

while(podana_liczba!=liczba)

{

ilosc_proba++; //zwiększenie ilości prób o 1
cout<<"Zgdanij jaka jest liczba - to Twoja "<<ilosc_proba<<" proba: "; //wypisanie ilości prób
cin>>podana_liczba;

if (podana_liczba==liczba)
cout<<"Trafiles - BRAWO"<<endl;

else if (podana_liczba<liczba)
cout<<"To za malo"<<endl;

else if (podana_liczba>liczba)
cout<<"To za duzo"<<endl;

}

return 0;
}

Karki świąteczne

  • Aleksandra Żyłkowska
    Aleksandra Żyłkowska
  • Angelika Jażewicz
    Angelika Jażewicz
  • Iwo Szostakiewicz
    Iwo Szostakiewicz
  • Julia Makar
    Julia Makar
  • Kacper Drupisz
    Kacper Drupisz
  • Kamila Gaweł
    Kamila Gaweł
  • Monika Żywiecka
    Monika Żywiecka
  • Wojciech Kierbić
    Wojciech Kierbić
  • 2019 - Karolina Kozłowska
    2019 - Karolina Kozłowska
f t g m