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

Se citesc perechi de numere până la citirea a două valori nule. Să se determine câte dintre perechi au proprietatea că numerele pot fi concatenate astfel încât să se obțină un palindrom. As vrea sa fie fara biblioteca string in C.Multumesc!

Răspunsuri la întrebare

Răspuns de andreidiaconescu18
0

Ai aici rezolvarea. Am verificat in ambele sensuri: x1x2 sau x2x1.

Daca ai vreo intrebare nu ezita sa mi-o adresezi.


#include <iostream>

using namespace std;

int nr_cifre(int x)

{

   if(x==0)

       return 1;

   int k=0;

   while(x!=0)

   {

       k++;

       x=x/10;

   }

   return k;

}

int oglindit(int x)

{

   int aux=0;

   while(x!=0)

   {

       aux=aux*10+x%10;

       x=x/10;

   }

   return aux;

}

int main()

{

   int x1, x2;

   int k=0;

   cout<<"x1=";

   cin>>x1;

   cout<<"x2=";

   cin>>x2;

   while(x1!=0 && x2!=0)

   {

       int cifre = nr_cifre(x2);

       int cifre2 = nr_cifre(x1);

       int aux1 = x1;

       int aux2 = x2;

       for(int i=0; i<cifre; i++)

           aux1=aux1*10;

       for(int i=0; i<cifre2; i++)

           aux2=aux2*10;

       aux1=aux1+x2;

       aux2=aux2+x1;

       if(aux1==oglindit(aux1) || aux2==oglindit(aux2))

           k++;

       cout<<"x1=";

       cin>>x1;

       cout<<"x2=";

       cin>>x2;

   }

   cout<<"Perechi = "<<k<<endl;

   return 0;

}

Alte întrebări interesante