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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2009, 19:46   #1
Jereme
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 51
По умолчанию строки

Зада4ка:
Написать программу, которая проверяет, является ли введенная с клавиатуры строка двоичным числом

подскажите если кто знает.
Mega HiP-Hop--- http://muzxclusive.com/
Jereme вне форума Ответить с цитированием
Старый 12.11.2009, 19:48   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Чтобы решить эту задачу - подумай, какие цифры допустимы в двоичной строке, затем пройдись по каждому символу строки, на соответствие этим цифрам.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 12.11.2009, 19:55   #3
Jereme
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 51
По умолчанию

ну я знаю что двоичное 4исло состоит из 1 и 0 . а как написать условие что могут присутствовать только 1 и 0 ?
Mega HiP-Hop--- http://muzxclusive.com/
Jereme вне форума Ответить с цитированием
Старый 12.11.2009, 19:57   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Код:
For I:=1 to Length(S) do If Not (S[I] in ['0','1']) then Flag := false;
If Flag Then Нормально Else Плохая строка!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 12.11.2009, 20:01   #5
Jereme
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 51
По умолчанию

а в С++ можно?
Mega HiP-Hop--- http://muzxclusive.com/
Jereme вне форума Ответить с цитированием
Старый 12.11.2009, 20:24   #6
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

Нельзя. Но если интересует сам алгоритм - все просто. Вычитаем из каждого байта 0x30 и если остаток 1 или 0 - значит это было двоичное число. Как опцию можно добавить проверку не является ли байт пробелом.
Для справки - 0x30 - '0' , 0x31 - '1' , 0x60 - ' '-пробел. ASCII.
ASCII Table 0x0-0x7F

ASCII Table 0x80-0xFF
PS: Сглупил, ведь можно и не вычитать Сразу сравнивать с 0x30/0x31
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 12.11.2009 в 20:28.
Ivan_32 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
Строки help avp91 Паскаль, Turbo Pascal, PascalABC.NET 0 03.06.2009 16:17
Строки. Как вывести часть строки? Anfall Общие вопросы Delphi 7 26.02.2009 09:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45