Kezdőoldal » Számítástechnika » Programozás » Egy kérdés, azt szeretném...

Egy kérdés, azt szeretném kiíratni, hogy a bevitt szó tükörkép e. De mivel cikluson belül írattam ki hogy tükörkép e, ezért annyiszor írja ki (nyilván), ahányszor lefut a ciklus. A következő kódot írtam: Hogy lehet megoldani?

Figyelt kérdés

#include <iostream>

#include <cstring>

using namespace std;

int main ()

{

char in[20];

cin >> in;

int db=strlen(in);

for (int i=0; i<db/2; i++) {

if (in[i]==in[db-i-1]) {

cout <<"tükörkep";

}else{

cout <<"nem tükörkép";

}

}

}


2016. jan. 31. 13:35
 1/3 anonim ***** válasza:

Nem a leghatékonyabb de egyszerű.


#include <string>


int main()

{

std::string s;

std::cin >> s;


if (s == std::string{s.crbegin() , s.crend()})

{

std::cout << "tukorkep\n";

}


std::cin.get();

}

2016. jan. 31. 13:56
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Ugye akkor tükörkép (palindorm) a szó, ha egyszer se lépett be az else ágba, minden betűre tükörkép volt. Tehát a ciklus végén azt kell tudni megmondani hogy volt e az else ágban vagy sem. A legegyszerűbb megoldás ha csinálsz egy boolean változót a ciklus előtt amit átállítasz ha belép az else ágba. Ha lefutott a ciklus akkor megnézed a változót hogy át lett e állítva. A programod ilyenre átírva így nézne ki:


#include <iostream>

#include <cstring>

using namespace std;

int main ()

{

char in[20];

cin >> in;

int db=strlen(in);

bool tukorkep = true;

for (int i=0; i<db/2; i++) {

if (in[i]!=in[db-i-1]) {

tukorkep = false;

break;

}

}

if(tukorkep)

cout <<"tükörkep";

else

cout <<"nem tükörkép";

}

2016. jan. 31. 14:07
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
köszönöm, mindenkinek, az utolsót választottam, tökéletesen működik... :-)
2016. jan. 31. 14:35

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!