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

Ofer puncte! Va rog, am nevoie de un raspuns complet cat de rapid!
Precizez ca trebuie sa fie in C++, rezolvata intr-un mod cat mai simplu, fara notatii complexe.


Se dau numerele naturale n și k, unde k este o cifră.

Să se construiasca numarul nr1 cu cifrele lui n care sunt mai mici sau egale decât k.

Daca toate cifrele sunt strict mai mari decat k, sa se afiseze IMPOSIBIL.

ex: n=14326809 si k=6 => nr1=14320

Răspunsuri la întrebare

Răspuns de AndreiIulian2003
1

#include<iostream>

using namespace std;

int n,k,nr1,val=0,t;

int main()

{cin>>n>>k;

while(n>0)

{t=n%10;

if(t<=k) nr1=nr1*10+t;

else val++;

n=n/10;}

if(val==0) cout<<nr1;

else cout<<"IMPOSIBIL";

return 0;

}


madalin01vaicar: nu merge in xcode :(((
slytherinbrainly: Nu merge in CodeBlocks...
Răspuns de madalin01vaicar
2

Răspuns:

#include <iostream>

using namespace std;

int n,k,a,cif=0,x=0,ogl=0;

int main()

{

   cin>>n>>k;

   while (n>0)

   {

       a=n%10;

       if(a<=k)

           {x=x*10+a;

           cif++;

           n=n/10;}

       else

           n=n/10;

   }

   while(x>0)

   {

       ogl=ogl*10+x%10;

       x=x/10;

   }

   if(cif!=0)

       cout<<ogl;

   else

       cout<<"IMPOSIBIL";

   return 0;

}


slytherinbrainly: Am incercat sa introduc in CodeBlocks rezolvarea, dar nu imi da doar partial raspunsul corect.
slytherinbrainly: Multumesc oricum pentru ajutor!
madalin01vaicar: chiar nu pot sa imi dau seama de ce...
madalin01vaicar: cu placere! :)
Alte întrebări interesante