Numarul n are maxim opt cifre nenule si distincte mai mici decat 9. Sa se afiseze cifrele numarului in ordine descrescatoare.
exemplu
date de intrare n=15423
date de iesire x=54321
Am facut programul in c++ dar nu imi face ce trebuie.
Va rog in pseudocod sau c++.
aledan12:
dar hai să îl pun
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <bits/stdc++.h>
using namespace std;
int v[10], n, k, x;
int main() {
cin >> n;
if(n == 0) {
cout << 0;
return 0;
}
while(n) {
v[++k] = n % 10;
n /= 10;
}
sort(v + 1, v + 1 + k, greater<int>());
for(int i = 1; i <= k; i++) {
cout << v[i];
}
}
Explicație:
Am folosit un vector in care sa stochez fiecare cifra a numarului. Apoi le-am sortat descresctor prin functia sort().
O sortare crescatoare cu sort pentru vectorul v se realizeaza astfel
sort(v + 1, v + 1 + k), v + 1 deoarece incepem de la 1, si v + 1 + k deoarece am icneput de la unu si la k se sfarseste vectorul nostru.
O sortare descrescatoare este sort(v + 1, v + 1 + k, greater<int>()); cum am folosit si mai sus.
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă