Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2017, 23:06   #1
vinsent
Новичок
Джуниор
 
Регистрация: 13.12.2017
Сообщений: 2
По умолчанию Проверить правильность ввода числа в двоичной системе счисления

Здравствуйте! Подскажите, пожалуйста, как исправить код, чтобы выполнялось задание. Делалось на основе паскаля, но получилось не очень
Код:
int i;
            double a;
            double b;
            int k;
            string s;
            do
            {
                k = 0;
                Console.WriteLine("Введите число в двочной системе счисления:");
                s = Console.ReadLine();
                for (i = 1; i < s.Length; i++)
                {
                    if ((s[i] != 1) || (s[i] != 0))
                    {
                        k = 1;
                        Console.WriteLine("Число введено неверно. Повторите ввод.");
                        break;
                    }
                }
            }
            while (k == 0);
            a = 0;
            for (i = s.Length - 1; i > 1; i--)
            {
                if (s[i] == 1)
                {
                    b = 1;
                    for (k = 1; k > s.Length - i; i++)
                    {
                        b=Math.Pow(2,b);
                    }
                }
                else
                {
                    b = 0;
                    a = a + b;
                }
            }
            if (s[s.Length] == 1)
            {
                a++;
            }
            Console.WriteLine("Число в десятичной системе = " + a);
            Console.ReadLine();

Последний раз редактировалось vinsent; 13.12.2017 в 23:38.
vinsent вне форума Ответить с цитированием
Старый 14.12.2017, 16:13   #2
ZnZ
Пользователь
 
Регистрация: 14.06.2017
Сообщений: 45
По умолчанию

Код:
if ((s[i] != 1) || (s[i] != 0))
когда ты через индекс обращаешься к s[i] ты получаешь char который можно сравнить с int но ты тогда сравниваешь s[i] с символом под номером 0 и 1, а не с символами 0 и 1, что бы было правильно измени на
Код:
if ((s[i] != '1') || (s[i] != '0'))
Что бы ты понял что я имел введу посмотри ascii таблицу
ZnZ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Деление двух чисел в двоичной системе счисления DEFENDOR Паскаль, Turbo Pascal, PascalABC.NET 4 27.12.2011 22:10
Дано число в двоичной системе счисления. Проверить правильность ввода этого числа isus Помощь студентам 2 29.11.2009 23:32
Сложение, вычитание в двоичной системе счисления Vemor Паскаль, Turbo Pascal, PascalABC.NET 5 16.06.2009 14:02
Сложение в двоичной системе счисления Volchara Общие вопросы C/C++ 2 23.04.2009 19:54
Деление чисел в двоичной системе счисления Mss_Smith Помощь студентам 9 04.05.2007 17:02