přejít na obsah přejít na navigaci

Linux E X P R E S, Programovanie v jazyku C++: Generátor pseudonáhodných čísel (2)

Control

Programovanie v jazyku C++: Generátor pseudonáhodných čísel (2)

C++

Pokračujeme druhým dielom o generátore pseudonáhodných čísel. Diel bude zameraný na tvorbu programov, kde si precvičite generátor pseudonáhodných čísel. 


Tvorba zaujímavých programov

Zatiaľ sme si z minulého diela ukázali nejaké to základne fungovanie generátora pseudonáhodných čísel. Teraz si ukážeme dva príklady na generátor pseudonáhodných čísel.

Pri prvom programe využijeme príklad už známy z minulého dielu, len mierne modifikovaný.

1. príklad:

#include <iostream>   // hlavičkové súbory
#include <cstdlib>
#include <ctime>

using namespace std;   // priestor mien

int main()   // hlavná funkcia main
{
   cout << "Postupnost 5 nahodnych cisel: \n";
   srand(time(0));   // inicializácia generátora pseudonáhodných čísel

   for (int i = 0; i < 5; i++)
   {
        for (int j = 0; j < 5; j++)
        {
            int pseudocislo = rand() % 100;   // pseudonáhodne číslo

            cout << pseudocislo << " ";
        }

        cout << "\n";
    }

    return 0;   // koniec programu
}

Výsledok programu:

Postupnost 5 nahodnych cisel:
49 12 13 25 82
34 17 25 55 16
74 70 22 43 70
30 18 31 11 23
76 60 98 17 32

Rozbor programu:

Ak chceme získať len nejaké čísla od nejakého interválu, tak najefektívnejšie ich získame jednoduchým doplnením funkcie rand na rand() % 100. Čo sa udeje pri tomto zápise? Funkcia rand nájde nejaké číslo od 0 do RAND_MAX a toto číslo vydelíme 100 a získame nejaký zvyšok. Ak napríklad vydelíme číslo 125, tak 125 / 100 = 1 so zvyškom 25. Dostaneme pri takomto definovaní náhodné číslo 25. Celkový interval je teda od 0 do 99 pri rand() % 100. Ak chceme interval od 1 do 100, tak napíšeme rand() % 100 + 1. Takto môžete získať ľubovoľný želaný interval.

2. príklad: Hádžeme kockou trikrát!

#include <iostream>   // hlavickové súbory
#include <cstdlib>
#include <ctime>

using namespace std;   // priestor mien

int main()   // hlavná funkcia main
{
    srand(time(0));   // deklaracia generatora pseudocisel
    cout << "Tri hody kockou!\n";

    for (int i = 0; i < 3; i++)
    {
        cout << "+---+\n";
        int nahodneCislo = rand() % 6 + 1;
        if (nahodneCislo == 1)
        {
            cout << "|   |\n";   // generujeme hody kociek
            cout << "| * |\n";
            cout << "|   |\n";
        }

        if (nahodneCislo == 2)
        {
            cout << "|*  |\n";
            cout << "|   |\n";
            cout << "|  *|\n";
        }

        if (nahodneCislo == 3)
        {
            cout << "|  *|\n";
            cout << "| * |\n";
            cout << "|*  |\n";
        }

        if (nahodneCislo == 4)
        {
            cout << "|* *|\n";
            cout << "|   |\n";
            cout << "|* *|\n";
        }

        if (nahodneCislo == 5)
        {
            cout << "|* *|\n";
            cout << "| * |\n";
            cout << "|* *|\n";
        }

        if (nahodneCislo == 6)
        {
            cout << "|***|\n";
            cout << "|   |\n";
            cout << "|***|\n";
        }

        if (nahodneCislo < 1 || nahodneCislo > 6)    // pre pripad co ak by sa nieco pokazilo
        {
            cout << "Ups, nejaka chybicka sa vyskytla, koncim!";
            return 0;
        }

        cout << "+---+\n";
    }

    return 0;   // koniec programu
}

Výsledok programu Výsledok programu

Rozbor programu:

Skúste spustiť program, získate 3 hody kocky. Interval pseudonáhodných čísel sme zvolili od 1 do 6. V našom definovanom prípade nehľadáme zvyšky pri delení 100, ale 6. Takto intuitívne si môžete definovať jednotlivé intervaly.

To by bolo všetko ku generátoru pseudonáhodných čísel. V budúcich dielach si ukážeme ďalšie knižnice so zaujímavými funkciami, napríklad pre prácu zo znakmi alebo prácu s reťazcami.



Nahoru

(Jako ve škole)
Průměr: 1,00 | Hodnotilo: 4
 

Top články z OpenOffice.cz

Příspěvky

Programovanie v jazyku C++: Generátor pseudonáhodných čísel (2)
maureenash 1. 07. 2017, 13:14:15
Odpovědět  Odkaz 
Thanks.Good article.Love to see this here.Its giving us the full details about the programs.Thanks.Good voice and excellent structure of your essay gives a perfect essay and you can perform well at your university competitions easily. Visit custom essays for getting a interesting tips to make your essay excellent one. Visit https://www.essayguardian.com/.

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky Exospace.cz. Mám 23 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity
  • Hodnocení autora: *


Soutěž - monitor Philips 24"

Public Relations

Využijte letní akce na předplatné časopisu IT Systems!

Nenechte si ujít příležitost dostávat pravidelně informace ze světa podnikové informatiky a předplaťte si časopis IT Systems. Udržujte si přehled v oboru a získejte inspiraci, jak využít informační technologie pro vaši firmu nebo organizaci. K pořízení nebo obnovení předplatného IT Systems je nyní ideální příležitost. Právě totiž probíhá letní akce, v rámci níž je možno získat roční předplatné jen za 599 Kč.

Pokračování ...


Redakční blog

Pavel Fric

Pavel Fric, 28. únor

Lollypop


Pavel Fric

Pavel Fric, 29. listopad

Palapeli


Pavel Fric

Pavel Fric, 19. listopad

Amarok


Všechny blogy »