Răspuns :
Imi e putin cam greu sa imi dau seama ce ai gresit, dar am reusit eu sa o rezolv, poate iti dai tu seama care a fost problema la tine.
#include<iostream>
using namespace std;int n,mi,p,aux,c, pAux = 1, pX = 1;
int main()
{
cin>>n;
if(n<=9){cout << "0";}
else {mi=10;}
aux=n;
while(aux!=0)
{
c=aux%10;
aux=aux/10;
if(c<mi) {mi=c;}
}
aux=n;
while (aux != 0)
{
aux /= 10;
pAux *= 10;
}
p=pAux;
aux=n;
while(p >= 10)
{
p /= 10;
pX *= 10;
c=(n/p)%10;
if (c == mi)
{
cout << (n / (p*10))*(pAux/pX)+n%p;
break;
}
}
return 0;
}
Unde : n = numarul citit, mi = cifra minima din numar, p = 10^nr cifre, c = cifra, in pAux se tine valoare lui p deoarece e necesara la final, pX = 10 ^ nr de cifre inainte de cea mai mica cifra + 1.
Sa zicem ca numarul e 423234.
mi = 1
p = 10000
pAux =1000000
pX = 100
Numarul va fi : 4 * 1000 + 3234 adica 423234;
Deci eu am luat cea mai mica cifra de la stanga la dreapta si am scos-o din numar. Sper ca nu am uitat de vreun caz particular :)
#include<iostream>
using namespace std;int n,mi,p,aux,c, pAux = 1, pX = 1;
int main()
{
cin>>n;
if(n<=9){cout << "0";}
else {mi=10;}
aux=n;
while(aux!=0)
{
c=aux%10;
aux=aux/10;
if(c<mi) {mi=c;}
}
aux=n;
while (aux != 0)
{
aux /= 10;
pAux *= 10;
}
p=pAux;
aux=n;
while(p >= 10)
{
p /= 10;
pX *= 10;
c=(n/p)%10;
if (c == mi)
{
cout << (n / (p*10))*(pAux/pX)+n%p;
break;
}
}
return 0;
}
Unde : n = numarul citit, mi = cifra minima din numar, p = 10^nr cifre, c = cifra, in pAux se tine valoare lui p deoarece e necesara la final, pX = 10 ^ nr de cifre inainte de cea mai mica cifra + 1.
Sa zicem ca numarul e 423234.
mi = 1
p = 10000
pAux =1000000
pX = 100
Numarul va fi : 4 * 1000 + 3234 adica 423234;
Deci eu am luat cea mai mica cifra de la stanga la dreapta si am scos-o din numar. Sper ca nu am uitat de vreun caz particular :)
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Ne dorim ca informațiile furnizate să vă fi fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Revenirea dumneavoastră ne bucură, iar pentru acces rapid, adăugați-ne la favorite!