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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
chdunyi
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 16
21.07.2013, 12:28     Если кого не затруднит, посмотрите где у меня ошибка #1
Вот задание:
Даны две последовательности 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;
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:44     Если кого не затруднит, посмотрите где у меня ошибка #21
Цитата Сообщение от alsav22 Посмотреть сообщение
Да и не работает...

Не по теме:

опоздали, компьютер мой

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
22.07.2013, 21:47
  #22

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
Не по теме:
опоздали, компьютер мой
Он только для проверки саоего кода предлагал, не навсегда. Да и то, за вознаграждение...

Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 21:48     Если кого не затруднит, посмотрите где у меня ошибка #23
Цитата Сообщение от lazybiz Посмотреть сообщение
Шутки юмора не понял, если честно..)
Я эти строчки копировал в компилятор, жал контрл+эф5 и программа работала и правильно. А что именно в моём варианте Вам показалось "очередным не рабочем"? Если я не прав, то буду просить прощения на коленях)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.07.2013, 21:49     Если кого не затруднит, посмотрите где у меня ошибка #24
Цитата Сообщение от Retyrn0 Посмотреть сообщение
А что именно в моём варианте Вам показалось "очередным не рабочем"?
Скрин посмотрите в 20 посте.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
22.07.2013, 21:50     Если кого не затруднит, посмотрите где у меня ошибка #25
Цитата Сообщение от Retyrn0 Посмотреть сообщение
А что именно в моём варианте Вам показалось "очередным не рабочем"? Если я не прав, то буду просить прощения на коленях)
Программа не правильно определяет вхождение одной последовательности в другую. Даказать!?) Или сказу на колени?)))
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:50     Если кого не затруднит, посмотрите где у меня ошибка #26
Цитата Сообщение от alsav22 Посмотреть сообщение

Не по теме:


Он только для проверки саоего кода предлагал, не навсегда. Да и то, за вознаграждение

Не по теме:

ну вот, а я хотел в благородного поиграть, вернуть компьютер с каким-нибудь назиданием

Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 21:54     Если кого не затруднит, посмотрите где у меня ошибка #27
Момент

Добавлено через 3 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
Скрин посмотрите в 20 посте.
В обоих массивах есть число 7...

Как сюда картинку впихнуть? (Не смейтесь, я новичёк ;-))
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:55     Если кого не затруднит, посмотрите где у меня ошибка #28
Цитата Сообщение от Retyrn0 Посмотреть сообщение
программа работала и правильно.
Ваш алгоритм проверяет, входит ли хотя бы один элемент второй последовательности в первую. согласитесь, это совсем не то, что нужно.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
22.07.2013, 21:55     Если кого не затруднит, посмотрите где у меня ошибка #29
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Как сюда картинку впихнуть?
Кнопка "Расширенный режим", рядом с "Отправить быстрый ответ"
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 21:57     Если кого не затруднит, посмотрите где у меня ошибка #30
Единственное, что могу предположить - у Вас создаётся unsigned по умолчанию(?)
Тогда так:

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
#include<iostream.h>
#include<windows.h>
 
int main()
{
    SetConsoleOutputCP(1251);
    const int n=7;
    const int m=4;
    signed int a[n];
    signed 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;
}
Добавлено через 1 минуту
Цитата Сообщение от Thinker Посмотреть сообщение
Ваш алгоритм проверяет, входит ли хотя бы один элемент
Ааа...прошу прощения на коленях) Я почему-то решил только исправить код, но не вдумался в суть задания) Момент...
castaway
22.07.2013, 21:57
  #31

Не по теме:

Действительно, как мы не заметили.. программа то рабочая! Просто у Нас создается unsigned .... и как мы могли это упустить..

Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:57     Если кого не затруднит, посмотрите где у меня ошибка #32
Retyrn0, внимательно прочтите пост #28
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
22.07.2013, 21:57     Если кого не затруднит, посмотрите где у меня ошибка #33
Цитата Сообщение от Retyrn0 Посмотреть сообщение
#include<iostream.h>
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<windows.h>
int main()
{
 SetConsoleOutputCP(1251);
 const int n=7;
 const int m=4;
 signed int a[n];
 signed 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;
}
Не вникал, но очевидно, что тут не рассматривается случай, когда в последовательности встречаются повторяющиеся элементы.
И таки да. Только одна пара элементов в массивах совпадёт - и ответ будет неверным!
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 21:58     Если кого не затруднит, посмотрите где у меня ошибка #34
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
#include<iostream.h>
#include<windows.h>
 
int main()
{
    SetConsoleOutputCP(1251);
    const int n=7;
    const int m=4;
    signed int a[n];
    signed 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;}}
 
    if(flag==true) cout<<"Входит"<<endl;
    else cout<<"Не входит"<<endl;
    
    return 0;
}
Так нормально?
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
22.07.2013, 21:58     Если кого не затруднит, посмотрите где у меня ошибка #35
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Момент...
Ты щас все на double менять будешь?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:58     Если кого не затруднит, посмотрите где у меня ошибка #36
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Так нормально?
нет, нет и еще раз нет!!!
для разных m и n ответ будет всегда "не входит"
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
22.07.2013, 22:00     Если кого не затруднит, посмотрите где у меня ошибка #37
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Так нормально?
Понимаешь... хрен.. он как бы редьки не слаще.
Thinker
22.07.2013, 22:07
  #38

Не по теме:

Retyrn0, ну? ждем верный алгоритм. задача очень простая, у вас получится, давайте!

castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
22.07.2013, 22:09     Если кого не затруднит, посмотрите где у меня ошибка #39
Цитата Сообщение от Thinker Посмотреть сообщение
у вас получится, давайте!
Мне тоже интересно) Retyrn0, только не копируй рабочий вариант, сделай что-нибудь по-своему.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2013, 22:12     Если кого не затруднит, посмотрите где у меня ошибка
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 22:12     Если кого не затруднит, посмотрите где у меня ошибка #40
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
#include<iostream.h>
#include<windows.h>
 
int main()
{
    SetConsoleOutputCP(1251);
    const int n=7;
    const int m=4;
    signed int a[n];
    signed int b[m];
    int i,j;
    bool flag[2];
    flag[0]=false;
    flag[1]=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(j=0;j<m;j++)
    {
        flag[0]=false;
        for(i=0;i<n;i++)
        {
            if(b[j]==a[i])flag[0]=true;
        }
        if(flag[0]==false)flag[1]=false;
    }
 
    if(flag[1]==true) cout<<"Входит"<<endl;
    else cout<<"Не входит"<<endl;
    
    return 0;
}
Ещё один очередной не рабочий вариант

Добавлено через 33 секунды
Цитата Сообщение от Thinker Посмотреть сообщение
Retyrn0, ну? ждем верный алгоритм. задача очень простая, у вас получится, давайте!
Очень смешно =)

Добавлено через 30 секунд
Цитата Сообщение от lazybiz Посмотреть сообщение
рабочий вариант
где он? А чё я время тут трачу?)
Yandex
Объявления
22.07.2013, 22:12     Если кого не затруднит, посмотрите где у меня ошибка
Ответ Создать тему
Опции темы

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