Informatică, întrebare adresată de aledan12, 8 ani în urmă

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
aledan12: Nu mai pot edita...
ProMinecraft69: Poti pune codul pe pastebin si trimiti link aici
aledan12: file:///Users/alxx/Desktop/aaa.png sper ca ti se dechide
ProMinecraft69: Inteleg ca esti moderator dar, trebuie sa iti si bati joc de cine vrea sa ajute?
aledan12: Nu imi bat joc de cineva
aledan12: De ce intrebi asta?
ProMinecraft69: Ti-am zis frumos, intra pe site-ul pastebin, pune-ti codul , da-i create si apoi trimite-mi mie link. Tu mi-ai dat un link care poate fi deschis doar de pc-ul tau.
aledan12: Aaa. scuze
aledan12: stai sa caut site-ul

Răspunsuri la întrebare

Răspuns de ProMinecraft69
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