NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.
Avatar
Pepa Pacalaj
Člen
Avatar
Pepa Pacalaj:3.4.2016 12:23

Ahoj,
dostali jsme za úkol napsat program, který zjistí jestli zadané slovo je palindrom, nebo není.
Program mi nechce projít kompilací.

#include <iostream>
#include <string>
using namespace std;
string slovo;
bool palindrom = true;
int main()
{
cin >> slovo;
for (int i = 0; i < slovo.length; i++)
{
if (slovo[i] != slovo[slovo.length - i])
{
palindrom = false;
}
}
cout << palindrom << endl;
return 0;
}

  • předem děkuji.
 
Odpovědět
3.4.2016 12:23
Avatar
Jakub Šilhavý:3.4.2016 12:29

Čau, .length() je funkce, tak u ní musíš mít závorky (argument).

A ještě drobnost, program ti nebude fungovat kvůli tomuhle řádku:

if (slovo[i] != slovo[slovo.length() - i])

Musíš si uvědomit, že pole se indexuje od nuly, tak proto musíš při ověřování znaku z pravé strany odečíst ještě -1.

if (slovo[i] != slovo[slovo.length() - i - 1])

Finální kód vypadá nějak takto:

#include <iostream>
#include <string>
using namespace std;

bool palindrom = true;
string slovo;

int main() {
        cin >> slovo;
        for (int i = 0; i < slovo.length(); i++) {
                if (slovo[i] != slovo[slovo.length() - i - 1]) {
                        palindrom = false;
                }
        }
        cout << palindrom << endl;
        return 0;
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
3.4.2016 12:29
Život je pes, a proto žít je psina.
Avatar
Pepa Pacalaj
Člen
Avatar
Pepa Pacalaj:3.4.2016 12:33

Moc děkuji, vše funguje jak má. :-)

 
Nahoru Odpovědět
3.4.2016 12:33
Avatar
VelkyKopyto
Člen
Avatar
Odpovídá na Jakub Šilhavý
VelkyKopyto:20.4.2020 14:51

A mas to i v jazyce českém ?

 
Nahoru Odpovědět
20.4.2020 14:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.