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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
chdunyi
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 16
#1

Если кого не затруднит, посмотрите где у меня ошибка - C++

21.07.2013, 12:28. Просмотров 1364. Ответов 54
Метки нет (Все метки)

Вот задание:
Даны две последовательности a1, a2, …an и b1, b2, …bm. (n>m). В каждой из них члены различны. Верно, ли что все члены второй последовательности входят в первую последовательность?
У меня всё время пишет, что входит, хотя и разные числа в обоих массивах забиваю. Вот код, если кого не затруднит, подскажите, где я что пропустил
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<iostream.h>
#include<windows.h>
#include<math.h>
 
int main()
{
    SetConsoleOutputCP(1251);
    const int n=7;
    const int m=4;
    int a[n];
    int b[m];
    int i,j;
    bool flag;
    cout<<"Введите члены 1-й последовательности: "<<endl;
    for(i=0;i<n;i++)
    {
    cout<<"a["<<i+1<<"] =";
            cin>>a[i];
    }
 
    cout<<"Введите члены 2-й последовательности: "<<endl;
 
        for(j=0;j<m;j++)
    {
    cout<<"b["<<j+1<<"] =";
            cin>>b[j];
    }
 
        for(i=0; i<n; i++) 
        {
            for(j=0; j<m; j++)
            {
                if (b[j]==a[i])   flag=true;    
            }   
        }
 
        if(flag=true) cout<<"Входит"<<endl;
        else cout<<"Не входит"<<endl;
        return 0;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2013, 12:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Если кого не затруднит, посмотрите где у меня ошибка (C++):

Проверьте,please код,если не затруднит! - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; const int strsize = 40; struct bop { char fullname; char title; char...

Если не затруднит подскажите хорошие онлайн-справочники по С++ - C++
Здравствуйте, уважаемые форумчане. 2. Если не затруднит подскажите хорошие онлайн-справочники по С++. Например, никак не могу найти...

Посмотрите пожалуйста где ошибка. Запись текста в файл - C++
#include &lt;iostream&gt;//программа для записи текста в файл. #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; int main() { ...

Не могу понять где у меня ошибка с використанням if - C++
Люди помогите, подскажите где у меня ошибка в коде С++ по визуал студио #include&lt;iostream&gt; using std::cin; using std::endl; ...

Уже обсуждалась ранне,но я хочу понять,где у меня ошибка в проге - C++
Шифр RSA. Вроде бы все прочла ,что связано с этой темой,ну и как бы написала программу,но она при компилировании выдает ошибки. Я не...

Ребята, у меня не работает программа. Посмотрите - C++
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащей хотя бы один...

54
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
21.07.2013, 12:30 #2
В начале инициализируй флаг: bool flag = false;
0
chdunyi
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 16
21.07.2013, 12:38  [ТС] #3
Не изменилось ничего
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
21.07.2013, 12:41 #4
Точно, тут надо наоборот:
В начале: bool flag = true;
И измени условие:
C++
1
if (b[j]!=a[i]) { flag=false; break; }
0
chdunyi
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 16
21.07.2013, 12:47  [ТС] #5
тоже ничего не поменялось, может быть for один лишний? или так что-нибудь я не учёл и не написал?
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
21.07.2013, 12:49 #6
Между строк читал задание.. Покажи что получилось.
0
chdunyi
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 16
21.07.2013, 12:52  [ТС] #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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<iostream.h>
#include<windows.h>
#include<math.h>
 
int main()
{
    SetConsoleOutputCP(1251);
    const int n=7;
    const int m=4;
    int a[n];
    int b[m];
    int i,j;
    bool flag=true;
    cout<<"Введите члены 1-й последовательности: "<<endl;
    for(i=0;i<n;i++)
    {
    cout<<"a["<<i+1<<"] =";
            cin>>a[i];
    }
 
    cout<<"Введите члены 2-й последовательности: "<<endl;
 
        for(j=0;j<m;j++)
    {
    cout<<"b["<<j+1<<"] =";
            cin>>b[j];
    }
 
 
     
        for(i=0; i<n; i++) 
        {
            for(j=0; j<m; j++)
            {
            
            if (b[j]!=a[i]) { flag=false; break; }  
            
         
            }
            
        }
 
        if(flag=false) cout<<"Не входит"<<endl;
        else cout<<" входит"<<endl;
        return 0;
}
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.07.2013, 12:53 #8
C++
1
if(flag==false) cout<<"Не входит"<<endl;
1
chdunyi
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 16
21.07.2013, 12:59  [ТС] #9
теперь всё время пишет "не входит" , хоть и во второй последовательности ввожу числа из первой
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
21.07.2013, 13:01 #10
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    const int n=7;
    const int m=4;
    int a[n];// = { 0, 1, 4, 3, 5, 6, 9 };
    int b[m];// = { 1, 2, 3, 4 };
    int i,j;
    bool flag;
 
    cout<<"Введите члены 1-й последовательности: "<<endl;
    for(i=0;i<n;i++) {
        cout<<"a["<<i+1<<"] =";
        cin>>a[i];
    }
 
    cout<<"Введите члены 2-й последовательности: "<<endl;
    for(j=0;j<m;j++) {
        cout<<"b["<<j+1<<"] =";
        cin>>b[j];
    }
 
    for ( j = 0; j < m; j++ ) {
        flag = false;
        for ( i = 0; i < n; i++ ) {
            if ( b[j] == a[i] ) { flag = true; break; }
        }
        if ( !flag ) break;
    }
 
    if ( flag )
        cout << "входит" << endl;
    else
        cout << "Не входит" << endl;
 
    return 0; 
}
1
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,926
Записей в блоге: 1
21.07.2013, 13:04 #11
Цитата Сообщение от lazybiz Посмотреть сообщение
if (b[j]!=a[i]) { flag=false; break; }
Не надо этого. это сработает, если все последовательности заполнены одинаковым числом.
lazybiz, прав
1
chdunyi
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 16
21.07.2013, 13:07  [ТС] #12
Всем спасибо большое за помощь.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.07.2013, 13:42 #13
Если ваш код немного доработать:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<iostream>
#include<windows.h>
#include<cmath>
using namespace std;
 
int main()
{
    SetConsoleOutputCP(1251);
    const int n=7;
    const int m=4;
    int a[n];
    int b[m];
    int i, j;
    int flag = m;
    cout<<"Введите члены 1-й последовательности: "<<endl;
    for(i=0;i<n;i++)
    {
        cout<<"a["<<i+1<<"] =";
            cin>>a[i];
    }
 
    cout<<"Введите члены 2-й последовательности: "<<endl;
 
    for(j=0;j<m;j++)
    {
        cout<<"b["<<j+1<<"] =";
        cin>>b[j];
    }
 
    for(i=0; i<m; i++) 
    {
        for(j=0; j<n; j++)
        {
            if (b[i]==a[j]) 
            { 
                --flag; 
                break; 
            }  
        }
    }
 
    if(flag) cout << "Не входит" << endl;
    else cout << " входит" << endl;
        
    return 0;
}
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
21.07.2013, 19:51 #14
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
26
27
#include<iostream.h>
#include<windows.h>
#include<math.h>
 
int main()
{
    SetConsoleOutputCP(1251);
    const int n=7;
    const int m=4;
    int a[n];
    int b[m];
    int i,j;
    bool flag=false;
 
    cout<<"Введите члены 1-й последовательности: "<<endl;
    for(i=0;i<n;i++){cout<<"a["<<i+1<<"] =";cin>>a[i];}
 
    cout<<"Введите члены 2-й последовательности: "<<endl;
    for(j=0;j<m;j++){cout<<"b["<<j+1<<"] =";cin>>b[j];}
 
    for(i=0; i<n; i++){for(j=0; j<m; j++){if (b[j]==a[i])flag=true;}}
 
    if(flag==true) cout<<"Входит"<<endl;
    else cout<<"Не входит"<<endl;
 
    return 0;
}
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
21.07.2013, 19:59 #15
Очередной нерабочий вариант?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2013, 19:59
Привет! Вот еще темы с ответами:

Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку - C++
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя все правильно из группы спрашивал у парней говорят что не...

Посмотрите где ошыбка?? - C++
#include&lt;cstdio&gt; #include&lt;cstdlib&gt; #include&lt;string&gt; using namespace std; int main(){ FILE* f = fopen(&quot;file.txt&quot;,&quot;r&quot;); ...

Посмотрите если не сложно - C++
Уважаемые форумчане.Уже пол дня сижу, и не имею малейшего предпочтения как ее решить..... Если можно, то помогите хотя бы как то. :wall: ...

Где найти Двунаправленное кольцо? у кого есть такое? или есть ссылки где их можно найти? - C++
Можете пожалуйста скинуть примеры задач с Двунаправленным кольцом, или хотябы где их искать. Буду очень благодарен!!!!!!!


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
21.07.2013, 19:59
Ответ Создать тему
Опции темы

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