Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Devastator1
4 / 4 / 0
Регистрация: 12.10.2010
Сообщений: 21
#1

Двоичное число + строки - C++

15.10.2010, 15:16. Просмотров 871. Ответов 9
Метки нет (Все метки)

Определить является ли введенная с клавиатуры строка двоичным числом?

Не могу понять как реализовать, помогите плиз..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2010, 15:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двоичное число + строки (C++):

перевернуть двоичное число - C++
Нужно ввести число от 1 до 32 бит, указать количество бит, а затем перевернуть требуемое количество бит и вывести результат т.е. ввели...

Двоичное число с избытком - C++
Дана строка из 32 символов, содержащая только символы '0' и '1'. Строка представляет целое число, заданное в двоичном коде с избытком на...

Максимальное двоичное число - C++
Имеются два натуральных числа в двоичной форме, требуется найти максимальное число полученное из этих двух чисел Помогите пожалуйста ...

Перевести восьмеричное число в двоичное - C++
имееться задача перевести восьмеричное число в двоичное с использованиям структуры с битовыми полями. Как? До этой задачи я даже незнал...

Перевести двоичное число в десятичное - C++
у меня есть например ASCII код в двоичной системе какого то символа. как вывести это двоичное число чтоб на экране вывелась буква...

Двоичное число перевести в десятичное - C++
Введите целое число в двоичной системе счисления и выведите его десятичный эквивалент. Указание. Примените операции деления (/) и...

9
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
15.10.2010, 15:18 #2
Если в строке только "0" и "1", то это двоичное число
0
Devastator1
4 / 4 / 0
Регистрация: 12.10.2010
Сообщений: 21
15.10.2010, 15:23  [ТС] #3
Цитата Сообщение от LineStown Посмотреть сообщение
Если в строке только "0" и "1", то это двоичное число
это понятно. как выразить это в коде?
0
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
15.10.2010, 15:25 #4
ввести строку и по символьно сравнивать с 1 и 0, если не равно - вывод строка не двоичная)
Нужно: 1 строка, 1 цикл, 1 переменных типа инт. Всё.
0
Devastator1
4 / 4 / 0
Регистрация: 12.10.2010
Сообщений: 21
15.10.2010, 15:45  [ТС] #5
Цитата Сообщение от LineStown Посмотреть сообщение
ввести строку и по символьно сравнивать с 1 и 0, если не равно - вывод строка не двоичная)
Нужно: 1 строка, 1 цикл, 1 переменных типа инт. Всё.
типо этого? можете поправить, где ошибся...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
void main()
{
int i=0;
char s[100];
cout<<"Enter string: ";
cin>>s;
for(i=0;i<=strlen(s);i++)
    
if(s=="0" || s=="1")
{
         cout<<"Yes"<<endl;
}        
   else 
{   
       cout<<"No"<<endl;
}
     
system("pause");
}
0
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
15.10.2010, 15:48 #6
Ну где так (не тестил)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
void main()
{
int i=0,si=0;//si-не правильный элементы;
char s[100];
cout<<"Enter string: ";
cin.get(s,100);
for(i=0;i<=strlen(s);i++)
if((s[i]!="0") && (s[i]!="1"))
{
si++;
}        
if(s==0)cout << "Yes";
else cout << "No";
system("pause");
}
2
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
15.10.2010, 15:53 #7
Как то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <string>
#include <iostream>
using namespace std;
int main()
{
int i=0;
char s[100];
cout<<"Enter string: ";
cin>>s;
 
bool f = true;
for(i=0;i<strlen(s);i++)
{
    if(s[i]!='0' && s[i]!='1')
    {
        f=false;
        break;
    }
}
 
cout<<(f?"Yes":"No")<<endl;
 
system("pause");
return 0;
}
Добавлено через 2 минуты
LineStown, оп опоздал) У вас только в
C++
1
s[i]!="0"
нужно одинарные кавычки поставить.
1
Devastator1
4 / 4 / 0
Регистрация: 12.10.2010
Сообщений: 21
15.10.2010, 15:59  [ТС] #8
Цитата Сообщение от dihlofos Посмотреть сообщение
Как то так:
благодарю за ответ. работает.

чем отличается в цикле i++ или ++i ?
0
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
15.10.2010, 16:04 #9
i++ - сначала используется значение, потом увеличивается на 1.
++i - сначала увеличивается, потом используется.
Попробуйте:
C++
1
2
3
4
int x=7;
cout<<x++<<endl;
int y=7;
cout<<++y<<endl;
При использовании в цикле
C++
1
2
3
for(i=0;i<n;i++)
//или
for(i=0;i<n;++i)
смысл будет одинаковый, так что в этом случае разницы нет.
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
15.10.2010, 16:33 #10
dihlofos, Смысл да. Скорость да. А вот скорость например с итераторами будет разной. ИМХО лучше приучаться пользоваться ++val.
1
15.10.2010, 16:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2010, 16:33
Привет! Вот еще темы с ответами:

Преобразование десятичного число в двоичное - C++
Как это сделать? Преобразование десятичного число в двоичное я знаю как делать, а вот алгоритм программы не получается, как можно...

Перевод десятичного числа в двоичное число - C++
Всем доброго времени суток! Собственно вот мой код, который должен переводисть число десятичное в число двоичное. Потестил я его, со...

Перевести длинное двоичное число в 10 систему - C++
Имеется длинное двоичное число, хранящееся в char. Необходимо перевести его в десятичную систему счисления. Как это можно сделать? ...

Вывести двоичное число в обратном порядке - C++
Вывести двоичное число в обратном порядке ???????/// while(number!=0) { res=number%2; number/=secondNum; cout&lt;&lt;res&lt;&lt;&quot; &quot;; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru