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