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

Linux E X P R E S, Programovanie v jazyku C++: Iteratívne programy s pomocou cyklov (2)

Control

Programovanie v jazyku C++: Iteratívne programy s pomocou cyklov (2)

C++

Pokračujeme tvorbou iteratívnych programov s pomocou cyklov. Ukážeme si program na tvorbu jednoduchej tabuľky. V závere nás čaká program, ktorý nám vykreslí stromček. 


reklama

Tabuľka

Pracujeme s tabuľkou, ktorá je dvojrozmerná. To znamená, že má riadky a stĺpce. Budeme nato myslieť při návrhu programu na vykreslenie tabuľky. Tabuľky, ktoré vytvoríme budú statické. Statické tabuľky sú také, v ktorých po vykreslení už nemôžme meniť hodnoty. Musíme opäť vykresliť tabuľku, ak chceme novú. Na dynamické tabuľky alebo matice potrebujeme dvojrozmerné polia. Ale o tom pohovoríme inokedy.

1. príklad: Program na vykreslenie tabuľky

#include <iostream>   // hlavičkový súbor

using namespace std;   // priestor mien

int main()   // hlavná funkcia main
{
   int velkost;
   int riadok = 1;
   int vysledok = 0;

   cout << "Zadajte, kolko ma mat riadkov a zaroven stlpcov?\n";   // vstup od uzivatela
   cin >> velkost;

   if (velkost <= 0)
   {
       cout << "Rozmer tabulky nemoze byt nulovy alebo zaporny!";
       return 0;
   }

   while (riadok <= velkost)   // prvy cyklus
   {
       int stlpec = 1;

       while (stlpec <= velkost)   // druhy cyklus
       {
           vysledok = riadok + stlpec - 1;   // scitanie riadka a stlpca
           cout << vysledok << " ";
           stlpec++;   // prva inkrementacia
       }

       riadok++;   // druha inkrementacia
       cout << "\n";
   }

   return 0;   //koniec programu
}

Výsledok programu:

Zadajte, kolko ma mat riadkov a zaroven stlpcov?

11
1 2 3 4 5 6 7 8 9 10 11
2 3 4 5 6 7 8 9 10 11 12
3 4 5 6 7 8 9 10 11 12 13
4 5 6 7 8 9 10 11 12 13 14
5 6 7 8 9 10 11 12 13 14 15
6 7 8 9 10 11 12 13 14 15 16
7 8 9 10 11 12 13 14 15 16 17
8 9 10 11 12 13 14 15 16 17 18
9 10 11 12 13 14 15 16 17 18 19
10 11 12 13 14 15 16 17 18 19 20
11 12 13 14 15 16 17 18 19 20 21

Ok, skúsme s pomocou funkcie setw tabuľku spriehľadniť.

2. príklad: Modifikácia prvého príkladu

#include <iostream>   // hlavičkový súbor
#include <iomanip>

using namespace std;   // priestor mien

int main()   // hlavná funkcia main
{
   int velkost;
   int riadok = 1;
   int vysledok = 0;

   cout << "Zadajte, kolko ma mat riadkov a zaroven stlpcov?\n";   // vstup od uzivatela
   cin >> velkost;

   if (velkost <= 0)
   {
       cout << "Rozmer tabulky nemoze byt nulovy alebo zaporny!";
       return 0;
   }

   while (riadok <= velkost)   // prvy cyklus
   {
       int stlpec = 1;

       while (stlpec <= velkost)   // druhy cyklus
       {
           vysledok = riadok + stlpec - 1;   // scitanie riadka a stlpca
           cout << setw(5) << vysledok;
           stlpec++;   // prva inkrementacia
       }

       riadok++;   // druha inkrementacia
       cout << "\n";
   }

   return 0;   // koniec programu
}

Rozbor programu:

Po spustení programu sa vám vytvorí pekne uhľadná tabuľka. Funkciu setw sme si už vysvetlili v minulom diele. Ostatne by malo byť všetko jasné.

Program na vykreslenie stromčeka

Stromček bude tvorený hviezdičkami. Program nebude nijak zložitý. Poďme sa naňho pozrieť.

3. príklad: Program na vykreslenie stromu

#include <iostream>

using namespace std;

int main()
{
    int vyska;

    cout << "Zadaj vysku stromu!" << "\n";
    cin >> vyska;   // zadanie vysky stromceka

    int riadok = 0;

    while (riadok < vyska)
    {
        int pocitadlo = 0;

        while (pocitadlo < vyska - riadok)
        {
            cout << " ";   // prazdne miesta
            pocitadlo++;
        }

        int pocitadlo2 = 0;

        while (pocitadlo2 < 2 * riadok + 1)
        {
            cout << "*";   // hviezdicky
            pocitadlo2++;
        }

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

    return 0;
}

Výsledok programu:

Zadaj vysku stromu!

11
           *
          ***
         *****
        *******
       *********
      ***********
     *************
    ***************
   *****************
  *******************
 *********************

Nahoru

(Jako ve škole)
Průměr: 2,33 | Hodnotilo: 3
 

Top články z OpenOffice.cz

Přidat téma diskuse

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


Redakční blog

Pavel Fric

Pavel Fric, 23. říjen

Nové motivy pro přehrávač Sayonara

Pomozte rozšířit možnost měnit vzhled programu za běhu


Pavel Fric

Pavel Fric, 28. únor

Lollypop


Pavel Fric

Pavel Fric, 29. listopad

Palapeli


Všechny blogy »