Najmanja Cifra (C++)

Napisi te program koji omogucava korisniku unos cijelog broja,te pronalazi njegovu najmanju cifru I formira novi broj u kojem je najmanja cifra zamjenjena sa “5”, ukoliko uneseni cijeli broj sadrži više istih cifara koje su najmanje, tad je potrebno zamjeniti svaku of njih.Dodatno program treba ispisati razliku unesenog broja koji se dobije nakon zamjene cifara koje su najmanje.


#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int NajmanjaCifra(int broj) {
int min = 9;
while (broj > 0) {
int cifra = broj % 10;
broj /= 10;
if (cifra < min) min = cifra;
}
return min;
}
int Zamijeni(int br, int min) {
// pretvaranje int u string
stringstream ss;
ss << br;
string brTemp = ss.str();
//---------
// int u char
char aChar = '0' + min;
// sama zamjena sa 5
replace(brTemp.begin(), brTemp.end(), aChar, '5');
// vracamo int da bi se mogli oduzeti pocetni i dobiveni
return atoi(brTemp.c_str());
}
int main() {
int broj;
cout << "Unesite broj: " << endl;
cin >> broj;
// f-ja za pronalazk najmanje cifre
int najmanji = NajmanjaCifra(broj);
// f-ja za zamjenu najmanje cifre sa 5
int zamijenjen = Zamijeni(broj, najmanji);
cout << "Broj gdje je najmanja cifra zamijenjena sa 5: " << zamijenjen
<< endl;
cout << "Razlika pocetnog i zamijenjenog broja: " << broj - zamijenjen
<< endl;
system("Pause");
return 0;
}

Capture

Komentariši