Răspuns :
Răspuns:
cand calculam maximul, retinem si ultima pozitie in care se afla .
la construirea noului numar, sarim peste pozitia maximului. pozitia maximului se numara de la dreapta la stanga, tinand cont ca eliminam tot ultima cifra din numar.
numar 4 8 3 2 8 5 1
pozitie 7 6 5 4 3 2 1
cifra maxima este 8, iar ultima pozitie in care acesta se afla, este pozitia 6
#include <iostream>
using namespace std;
int main()
{
unsigned long int N, copieN, noulN, poz, pozMax;
int cifMax = 0, prod = 1;
cout<<"N="; cin >> N;
copieN = N;
noulN = 0;
poz = 0;
while (N != 0) {
poz++;
if (N % 10 >= cifMax) {
cifMax = N % 10;
pozMax = poz;
}
N = N / 10;
}
cout<<endl<<cifMax<<" se afla pe poz "<<pozMax<<endl;
poz = 0;
while (copieN != 0) {
poz++;
if (copieN % 10 != cifMax || poz != pozMax) { //daca ultima cifra din numar este diferita de max sau daca e maxim, nu e ultima pozitie in care acesta se alfa
noulN = (copieN % 10) * prod + noulN;
prod = prod * 10;
}
copieN = copieN / 10;
}
cout << noulN;
return 0;
}
Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.