czesc, mam pytanie co do programu, teoretycznie działa, ale..
Ma byc tak: jesli wpiszemy liczbe to zwroci nowa liczbe sortujac jej posczegole liczby.
np. 878201 to bedzie 12788
Napisalem to tak, ale czy mozna inaczej sie dostac do poszczegolnych cyferek bez konwertowania na stringi? np. jesli wymog bedzie ze tylko podajemy int i zwraca int. Ponadto gdy wpisze np. 55555555555555 to program zwraca dziwne liczby :D
kod:
#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
void zamiana(string tab,int roz){
for(int j=0; j<roz;++j){
for(int i=0; i<roz-1;++i){
if(tab[i]>tab[i+1]){
swap(tab[i],tab[i+1]);
}
}
}
for(int i=0; i<roz; i++){
if(tab[i]=='0')cout<<"";
else
cout<<tab[i];
}
}
int main()
{
int liczba;
char buffor[32];
cout << "podaj liczbe ";
cin>>liczba;
itoa(liczba,buffor,10);
string liczba1=(string)buffor;
int roz=liczba1.length();
zamiana(liczba1, roz);
return 0;
}