Informatică, întrebare adresată de iancelena, 9 ani în urmă

Afisati toate nr.palindrom din intervalul inchis [a,b].
in c++

Răspunsuri la întrebare

Răspuns de stassahul
6
#include <bits/stdc++.h>

using namespace std;

int a,b;

int palindrom(int n);

int main()
{

    cin >> a >> b;

    for(int i=a;i<=b;i++)
        if(palindrom(i)) cout << i << " ";

    return 0;

}

int palindrom(int n)
{
    if(n<10 and n>-10) return 1;

    int x=n,y=n,o=0,k=1;

    while(x!=0)
        k*=10, x/=10;

    k/=10;

    while(y!=0)
        o+=y%10*k, y/=10, k/=10;

    if(o==n) return 1;
    else return 0;
}


Rayzen: Fain!
Răspuns de Rayzen
4
#include <iostream>
using namespace std;

int palindrom(int n);     //prototipul subprogramului 

int main()
{ int a,b,i;
 cout<<"Introduceti cele doua numere: "<<endl<<endl; cin>>a; cin>>b;cout<<endl;
 cout<<"Numerele palindroame din intervalul  ["<<a<<" , "<<b<<"] sunt: "<<endl<<endl; 

 for(i=a;i<=b;i++)   
  {    
     if(palindrom(i))   {cout << i << " ";}

     if(i == b)            {cout<<endl;}    //comanda e asta pentru design doar
 }
}


int palindrom(int n)      //subprogram
{

//----------------------------------------
if (n<10) {return 1;}
else if(n==10)  {return 0;}                         // 3 cazuri exceptate.
else if( (n%10) == 0) {return 0;}
//----------------------------------------
  else  
  {  
     int r=0,ultn, copie = n;   
     while(n>10)       
      {         
        if(r == 0)    
          {  
            r = n%10;
          }       
        else         
          {             
            n = n/10;           
            r = (r*10)+n%10;   
          }       
      }   
if(copie == r)   {return 1;}  else {return 0;}
 }
}

stassahul: Nui fain, afiseaza caractere in plus xd
iancelena: nu este adevarat
stassahul: Ai dat gresi chiar de la primul caracter afisat
stassahul: Afiseaza litera N, dar ar trebui sa afiseze o cifra
Rayzen: Care comanda afiseaza litera N?
stassahul: cout<<"Numerele palindroame din intervalul...
Rayzen: Aaaa, zici ca, nu trebuia sa adaug niciun text?
stassahul: Exact, ar fi bine sa nu pui texte, deoarece se depuncteaza la multe evaluari!
Rayzen: Aaa, nu stiam, textele pot fi scoase oricum, usor, eu le-am pus ca sa fie mai usor de folosit programul.
Alte întrebări interesante