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)

PointX - news (2016)

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. 


reklama

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: *



Public Relations

Zajímavosti o Linuxu a užitečné tipy

Operační systém GNU/Linux (známý pod zkráceným názvem Linux) rozhodně není žádnou horkou novinkou, neboť jeho kořeny sahají až do roku 1984. Tento operační systém, jehož maskotem je tučňák, umožňuje svobodné použití bez nepříjemných pořizovacích nákladů.

Pokračování ...


Sophos