Ešte jedna ukážka s poľom
Než sa vrhneme na reťazce, chcel by som ukázať ešte jeden program vhodný pre začiatočných programátorov. Samozrejme, s poľami sa dá robiť všeličo, ale ďalšie ukážky budú až keď si ukážeme cykly.
#include <iostream> // hlavičkový súbor
using namespace std; // priestor mien
int main() //hlavná funkcia
{
float pole[5] = {1, 22, 1757, 1112, 45}; // deklarácia poľa
float vysledok; // premenná typu float
// výstupy na obrazovku
// PS: komentáre má spravidla len prvý program, pretože zvyčajne ostatné programy
v ústrednej téme článku podobnú funkcionalitu.
cout << "Scitanie hodnot v prvkoch pola: "<<pole[0]+pole[1]+pole[2]+pole[3]+pole[4]<<"\n";
cout << "Odcitanie hodnot v prvkoch pola: "<<pole[0]-pole[1]-pole[2]-pole[3]-pole[4]<<"\n";
cout << "Nasobenie hodnot v prvkoch pola: "<<pole[0]*pole[1]*pole[2]*pole[3]*pole[4]<<"\n";
cout << "Delenie hodnot v prvkoch pola: "<<pole[0]/pole[1]/pole[2]/pole[3]/pole[4]<<"\n";
return 0; // koniec programu
}
Výsledok:
Scitanie hodnot v prvkoch pola: 2937 Odcitanie hodnot v prvkoch pola: -2935 Nasobenie hodnot v prvkoch pola: 1.93425e+09 Delenie hodnot v prvkoch pola: 5.16997e-10
Reťazce
Reťazec chápeme ako špecifický typ poľa. Miesto číselnej hodnoty reťazec obsahuje znaky. V krátkostí, reťazec je pole znakov.
Reťazec má v C++ veľkú podporu, ktorá sa odráža napríklad v rozsiahlej knižnice cstring, o ktorej by som chcel neskôr v seriáli rozprávať. Najskôr ale musíme prebrať cykly a pointery, aby ste si viac užili komplikovanejšie algoritmy napr. palindrom pomocou tejto knižnice cstring.
Ukážeme si dve podporované štýly deklarácie reťazca. Prvý klasický C-štýl a druhý štandardný C++. Síce môže byť pre niekoho zbytočne uvádzať zastaralý C-štýl, ale programátor by mal poznať viacero možností deklarácii. Taktiež z C-štýlu sa ľahšie chápe pojem reťazec ako klasické pole, naplnené znakmi.
Deklarácia reťazca (C štýl) je nasledovná:
char retazec[6] = {'w', 'o', 'r', 'l', 'd', '\0'};
Znak \0 znamená koniec reťazca. Treba si len dať pozor pri tomto definovaní, aby nedeklarovali menej prvkov ako je počet znakov aj so znakom \0. Znak \0 sa automatický pridáva v každom reťazci. Ešte pripomienka, že táto deklarácia je v C-štýle tá staromodnejšia. Pekne vykopávky vás tú nútim „učiť“.
Príklad, že to vážne funguje si ukážeme teraz.
2. príklad: C-štýl deklarácie reťazcov
#include <iostream>
using namespace std;
int main()
{
char retazec[8] = {'j', 'u', 'p', 'i', 't', 'e', 'r', '\0'};
cout <<retazec<<"\n";
return 0;
}
Výsledok: zobrazí sa reťazec jupiter.
Ukážme si novší C-štýl, ktorý je pohodlnejší pre využívanie. Dokonca, nemusíme udávať počet prvkov. Všetko už kompilátor zistí sám. Nezabudnite, že síce máte reťazec takýto:
char retazec[] = "mama";
Prvkov je 5 nie 4! Nezabudnite práve na ten znak \0. Je to dôležité vedieť a neskôr sa naučíte efektívne pracovať s poľom pomocou cyklu for.
No fajn, chcelo by to overovací program že?
3. program: C-štýl efektívnejší spôsob
#include <iostream>
using namespace std;
int main()
{
char retazec[] = "Svet je pekelnym miestom pre zivot";
cout <<retazec<<"\n";
return 0;
}
Súčasný spôsob deklarácie reťazca v C++
V súčasnom spôsobe deklarácie hraje ústrednú rolu magické slovo string. Rýchly príklad na koniec.
4. príklad: Súčasný C++ štýl deklarácie reťazca
#include <iostream>
using namespace std;
int main()
{
string retazec = "Svet je pekelnym miestom pre zivot";
cout <<retazec<<"\n";
return 0;
}
Výsledok je každému jasný. V článku sme si rýchlo prezreli možností deklarácie reťazca. Samozrejme, odporúčam C-štýl brať ako zaujímavosť a nemusíte sa ju učiť. To s reťazcami nie je ani zďaleka koniec. Avšak, chcem vás už nabudúce previesť cyklami, nech túto veľmi dôležitú vec máme za sebou. Potom nás čakajú ešte pointery a štruktúry. A môžeme sa potom vrhnúť na knižnicu cstring s plnou energiou. Snáď to všetko zvládneme v zdraví a pokoji.








