Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Перевода числа из десятичной системы в двоичную


Автор: Ronnie 22.11.2009, 11:22
Собственно, сабж.
Нужно разработать консольное приложение на C#.
Задача следующая: Разработать рекурсивный метод для перевода числа из десятичной системы счисления в двоичную.

Люди шарящие, отзовитесь, помогите. Буду премного благодарен.
Заранее спасибо, надеюсь на Вашу помощь.

Автор: DenWPF 22.11.2009, 11:43
почти любую рекурсию может заменить массив - это оправдание для препода)

http://otvety.google.ru/otvety/thread?tid=6e3b14306aea788e

Автор: Ronnie 22.11.2009, 11:46
фишка-то в том, что мне нужно решить именно с помощью рекурсивного метода. в котором я - "0".
кому не сложно, нопишите, пожалуйста, код...   smile 

Автор: Ronnie 22.11.2009, 18:32
ссылка не помогла, рр..
 smile 

Автор: Enter 22.11.2009, 20:03
делов то..
Код

        string dva;
        bool perevod(int dec)
        {
            dva = dec % 2 + dva;
            if (dec > 1) return perevod(dec / 2);
            else return true;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            dva = "";
            if(perevod(Convert.ToInt32(textBox1.Text)))textBox1.Text = dva;
        }

в формах вроде работает

Автор: source777 22.11.2009, 23:39
Enter, а что за "мода" на глобальные переменные и транслит?

Автор: Enter 23.11.2009, 03:41
это не мода, это я ступил, просто не придумал сразу как без нее сделать
а какая разница как переменные объявлять?

вот попроще
Код
        string trans(int dec,string two)
        {
            two = dec % 2 + two;
            if (dec > 1) two = trans(dec /= 2, two);
            return two;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = trans(Convert.ToInt32(textBox1.Text),"");
        }

Автор: tol05 23.11.2009, 11:43
source777, один человек пытается помочь другому человеку. В меру своих сил.

Тот, у кого сил больше - наверное сможет помочь лучше?

Автор: diadiavova 23.11.2009, 12:28
Код

        static string ToBinary(int n)
        {
            if (n < 0) throw new ArgumentException("Число должно быть неотрицательным");
            else if (n < 2) return n.ToString();
            else return ToBinary(n / 2) + (n % 2).ToString();
        }
А вообще, для таких вопросов есть центр помощи.

Автор: source777 23.11.2009, 13:35
Цитата(tol05 @  23.11.2009,  11:43 Найти цитируемый пост)
source777, один человек пытается помочь другому человеку. В меру своих сил.

Если бы ещё это было без понтов:
Цитата(Enter @  22.11.2009,  20:03 Найти цитируемый пост)
делов то..

то можно было бы и не критиковать... Но ведь критика бывает на пользу, вон Enter в итоге сообразил алгоритм, который даже лучше, чем у diadiavova в плане использования стека. Осталось ему подучить мат.часть по именованию идентификаторов и можно уже будет переходить к изучению основ ООП...


Цитата(diadiavova @  23.11.2009,  12:28 Найти цитируемый пост)
А вообще, для таких вопросов есть центр помощи. 

золотые слова

Автор: tol05 23.11.2009, 13:40
у человека всего 8 сообщений. Куда написал, туда и написал )

Переместить вопрос в "центр помощи" - легко может модератор.
Цитата(source777 @  23.11.2009,  12:35 Найти цитируемый пост)
Но ведь критика бывает на пользу, вон Enter в итоге сообразил алгоритм, который даже лучше, чем у diadiavova в плане использования стека. Осталось ему подучить мат.часть по именованию идентификаторов и можно уже будет переходить к изучению основ ООП...

Т.е. он - не безнадежен? )))

Автор: diadiavova 23.11.2009, 13:46
Цитата(source777 @  23.11.2009,  13:35 Найти цитируемый пост)
вон Enter в итоге сообразил алгоритм, который даже лучше, чем у diadiavova в плане использования стека.

Ну я всё-таки исходил из того, что основным мотивом для использования рекурсии обычно является её декларативность, а не экономия ресурсов.

Автор: Ronnie 6.12.2009, 14:24
что за центр помощи?

Автор: diadiavova 6.12.2009, 14:26
Цитата(Ronnie @  6.12.2009,  14:24 Найти цитируемый пост)
что за центр помощи? 

http://forum.vingrad.ru/forum/Vingrad-help-center.html

Автор: scalosale 8.2.2023, 20:53
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)