Mam takie zadanie. Napisać program, który dla zadanej liczby naturalnej n, podaje z ilu różnych cyfr jest złożony jest jej zapis oraz wypisuje te cyfry na ekranie w kolejności malejącej.
Udało mi się wykonać 2/3 z zadania, zrobiłem sortowanie ale po uruchomieniu programu wyskakują mi jakieś dziwne ciągi liczb. Podpowiedzcie, gdzie mogłem zrobić błąd?
Pozdrawiam
#include <iostream>
#include <windows.h>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
int i,j;
//Wczytuję z klawiatury liczbę naturalną N
cout<<"Podaj liczbe naturalna N ";
int n;
cin>>n;
//Obliczam z ilu cyfr składa się liczba
cout << "Liczba sklada sie z ";
cout << (int)log10(n)+1;
cout << " cyfr" "\n";
//Przeprowadzam sortowanie liczb w kolejności malejącej"
cout << "Posortuje teraz liczby w kolejnosci malejacej";
int tablica[n];
for ( j=0; j<n-1; j++)
for ( i=0; i<n-1; i++)
if (tablica[i]>tablica[i+1])
swap(tablica[i], tablica[i+1]);
for ( i=0; i<n; i++)
cout<<tablica[i];
cout<<endl;
system("pause");
return 0;
}