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)

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

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



 
 

Top články z OpenOffice.cz

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 25 rokov. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity



Public Relations

Soulad s normou nemusí znamenat bezpečnost

ALEFNemusíme se vracet daleko do minulosti, aby bylo možné pozorovat IT oddělní velkých společností, jak se soustředí téměř výhradně na efektivitu poskytovaných služeb pro primární účely organizace. Proč také ne? Informační bezpečnost byla výsadou několika málo oborů a většina organizací si vystačila s firewallem a antivirovým programem.

Pokračování ...


IBM POWER

Redakční blog

Pavel Fric

Pavel Fric, 21. August

Sayonara Player 1.5.1

Přehrávač, jak má být. Poslední dobou vývoj šlape


Pavel Fric

Pavel Fric, 26. January

MuseScore 3

První aktualizace třetí řady notačního editoru MuseScore


Redakce

Redakce, 21. December

Pište pro LinuxEXPRES

Baví vás Linux? Pište o něm, není to nic těžkého. LinuxEXPRES hledá nové autory.


Všechny blogy »