Форум программистов, компьютерный форум CyberForum.ru

Оператор ИЛИ - C++

Восстановить пароль Регистрация
 
andryshka
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 81
09.01.2014, 18:00     Оператор ИЛИ #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
24
#include <iostream>
#include <iomanip>
#include  <string.h>
using namespace std;
int main()
{   
    int cancel_program;
    do 
    {
    char mas[20];
    cin.getline(mas,20);
        int n=strlen(mas);
            for(int i=0;i<n;i++)
                {
                if(mas[i]!='1'||mas[i]!='0'||mas[i]!=' ')
                i=n;
                cout<<"!!!";
                }
        cout<<  n << endl;
    cin >> cancel_program ;
    cin.get();
    }
    while(cancel_program!=0);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
09.01.2014, 18:04     Оператор ИЛИ #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool flag = true;
for (int i=0; i<strlen(mas); i++)
{
    if (mas[i]=='1' || mas[i]=='0' || mas[i]==' ')
        continue;
    else
    {
         flag = false;
         break;
    }
}
cout <<flag <<'\n';
andryshka
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 81
09.01.2014, 18:07  [ТС]     Оператор ИЛИ #3
Цитата Сообщение от MicM Посмотреть сообщение
C++
1
bool flag = true; for (int i=0; i<strlen(str); i++) { if (mas[i]=='1' || mas[i]=='0' || mas[i]==' ') continue; else { flag = false; break; } } cout <<flag <<'\n';
А можно без логических переменных обойтись?
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
09.01.2014, 18:09     Оператор ИЛИ #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int k = 1;
for (int i=0; i<strlen(mas); i++)
{
    if (mas[i]=='1' || mas[i]=='0' || mas[i]==' ')
        continue;
    else
    {
         k = 0;
         break;
    }
}
if (!k)
    cout <<"Error!\n";
else cout <<"Good!\n";
ilja123
43 / 43 / 6
Регистрация: 24.12.2009
Сообщений: 382
09.01.2014, 18:15     Оператор ИЛИ #5
Цитата Сообщение от andryshka Посмотреть сообщение
А можно без логических переменных обойтись?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#define YES 1
#define NO 0
 
int flag = YES;
for (int i=0; i<strlen(mas); i++)
{
    if (mas[i]=='1' || mas[i]=='0' || mas[i]==' ')
        continue;
    else
    {
         flag = NO;
         break;
    }
}
cout <<flag <<'\n';
andryshka
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 81
09.01.2014, 18:18  [ТС]     Оператор ИЛИ #6
Имею наглость вас немного поправить:
C++
1
2
3
4
5
6
7
8
9
10
for(int i=0;i<strlen(mas);i++)
                {
                if(mas[i]=='1'||mas[i]=='0'||mas[i]==' ')
                    continue;
                        else
                        {
                            cout<<"abra"<<endl;
                            break;
                        }
                }
Yandex
Объявления
09.01.2014, 18:18     Оператор ИЛИ
Ответ Создать тему
Опции темы

Текущее время: 20:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru