Другие языки программирования и технологии

Программирование. Си шарп, си ++

В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное этими же цифрами
Altynbek Begaliev
Altynbek Begaliev
230
Такая сложная задача и на двух языках, только за двойную плату!

using System;
namespace example
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.Write("Введите число: ");
            string s = Console.ReadLine();
            char[] a = s.ToCharArray();
            Array.Sort(a);
            string num = new string(a);
            foreach (var n in num)
            {
                if (n == '0') continue;
                Console.Write(n);
            }
            Console.ReadKey();
        }
    }
}
Славик Малянов
Славик Малянов
76 944
Лучший ответ
Получаешь все цифры числа (не больше 10 будет) потом формируешь число так, чтоб в начале шли меньшие цифры а в младших разрядах большие. Вот и усе.
А язык как понял без разницы какой

На крик души:
>я понимаю, что теоретически нужно сделать, уже сижу часа 3, но у меня выдает ошибки, и меняются почему-то только первые 2 цифры

Помогу :)

int n;
int m[10];
int c;

// обнуление
for(int i=0; i<10; i++) m[ i ] = 0;

cout << "n = ";
cin >> n;

while(n > 0){
c = n % 10;
m[c]++;
n = n / 10;
}

int kc = 0;
n = 0;
// формируем число
for(int i=0; i<10; i++){

while(m[ i ] > 0){
if(kc > 0) n = n*10;
n=n+i;
m[ i ]--;
kc++;
}

}

cout << "N=" << n;

return 0;

Если будет 0 то он как бы не показывается в начале
Vadik Zhigalov
Vadik Zhigalov
96 430
c#

Console.WriteLine("Ведите число");
List<char> Chars = Console.ReadLine().ToList();
Chars.Sort();
Console.WriteLine(Chars.ToArray());
Разбиваешь на цифры, заносишь эти цифры в массив и сортируешь массив в порядке возрастания значений. Выводишь последовательно каждый элемент массива.