4 dec. 2011

Sortarea cifrelor unui numar

Programul urmator sorteaza cifrele unui numar intreg


#include <iostream>

using namespace std;

/*
 * functia sort - bubble sort simplificat
 *
 * primeste vectorul pentru sortare si dimensiunea folosita
 *
 * returneaza adresa vectorului sortat
 */
int* sort(int n[], int size) {
 bool f = true;
 int tmp;

 //cat timp mai sunt interschimbari
 while (f) {
  f = false;
  // verifica daca mai sunt intersichimbari
  for (int i = 1; i < size; i++) {
   if (n[i - 1] > n[i]) {
    tmp = n[i - 1];
    n[i - 1] = n[i];
    n[i] = tmp;
    f = true;
   }
  }
 }
 return n;
}

int main() {
 // vectorul care va tine cifrele
 int v[10];
 // n - numarul dat
 int n;
 // numarul de cifre
 int i = 0;

 cin >> n;

 // cat timp n mai are cifre
 // le parcurgem si le punem in vector
 while (n != 0) {
  v[i] = n % 10;
  n = n / 10;
  i++;
 }

 //sortam vectorul
 sort(v, i);

 for (int j = 0; j < i; j++) {
  cout << v[j] << ',';
 }
 return 0;
}
propuneri de enunturi

Niciun comentariu:

Trimiteți un comentariu