Informatică, întrebare adresată de FizzyPlays, 8 ani în urmă

Se citește un șir de caractere de la tastatură, folosind literele alfabetului englez. Să se verifice dacă acesta este palindrom.

Răspunsuri la întrebare

Răspuns de grigore2018
0

Pascal:

var

   s: string;

   i,f: byte;

begin

   write('String: ');

   readln(s);

   f := 0;

   for i := 1 to length(s) div 2 do

       if s[i] <> s[length(s)-i+1] then begin

           writeln('Nu este palindrom');

           f := 1;

           break

       end;

   if f = 0 then

       write('Palindrom');

readln

end.

C++:

#include <iostream>

#include <cstring>

using namespace std;

bool check_polindrom(string word)

{

int len = word.length();

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

{

 if(word[i] != word[len-i-1])

 {

  return false;

 }

}

return true;

}

int main()

{

string str;

cout << "Introduceți cuvântul: ";

cin >> str;

if(check_polindrom(str))

{

 cout << "Cuvântul este palindrom.";

}

else

{

 cout << "Cuvântul nu este palindrom";

}

return 0;

}


grigore2018: Palindrom cred ca stii ce este? ( un numar,cuvant care se citeste la fel in ambele parti ca exemplu nr. 44 sau monom,lupul )
FizzyPlays: Da, stiu. Daca se poate sa imi traduci si mie tot programul in C++? :))
grigore2018: Ehhh C++ asta,acus am sa incerc,asteapta putin, 5 min : )
grigore2018: Am creat programul,acus il adaug in raspuns
FizzyPlays: Mersi! Dar încă o întrebare, de ce n-i-1?
grigore2018: [len-i-1] aici da?
FizzyPlays: Da, vina mea cu "n"-ul ala :)))
grigore2018: Pentru inceput am determina cate simboluri sunt intr-un sir,am folosit functia int len = word.length();
grigore2018: De ce len-i-1? Matricele în C ++ sunt numerotate de la 0, deci pentru a obține primul element al șirului, trebuie să obținem elementul 0 din matrice și pentru a obține ultimul element trebuie să obținem len-1,cred ca este clar
grigore2018: len stochează lungimea șirului
Alte întrebări interesante