Se citeşte un număr natural cu cifre nenule. Să se determine cel mai mic şi cel mai mare număr format din cifrele acestui număr.
Exemplu:
Date de intrare:
n=26341
Date de ieşire:
min=12346 max=64321.
Rezolvati in C++, am nevoie de ajutor urgent!!
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
void algo(const std::string& n) {
size_t i, c[10] = {};
for (i = 0; i < n.size(); ++i)
++c[n[i] - '0'];
size_t j, mx = 0, mn = 0;
for (i = 0; i < 10; ++i)
for (j = 0; j < c[i]; ++j) {
mn *= 10;
mn += i;
}
for (i = 9; i != SIZE_MAX; --i)
for (j = 0; j < c[i]; ++j) {
mx *= 10;
mx += i;
}
std::cout << mn << ' ' << mx;
}
int main() {
std::string n;
std::cin >> n;
algo(n);
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă