Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 16
1

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

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

Author24 — интернет-сервис помощи студентам
Вот задание:
Даны две последовательности 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2013, 12:28
Ответы с готовыми решениями:

посмотрите пожалуйста где ошибка в формуле если
не правильно считает формула если не могу разобраться

кого не затруднит обратите внимание
Кого не затруднит помогите в решении двух задач: 1) Пусть дано вещественное число &quot;х&quot; и...

если не затруднит
что означает выделенная строка procedure ParseStringList(List:TStringList); var i:Integer;...

Посмотрите где ошибка
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;stdlib.h&quot; int main () { system (&quot;chcp...

54
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:44 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от alsav22 Посмотреть сообщение
Да и не работает...

Не по теме:

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

2
alsav22
22.07.2013, 21:47
  #22

Не по теме:

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

1
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
22.07.2013, 21:48 23
Цитата Сообщение от lazybiz Посмотреть сообщение
Шутки юмора не понял, если честно..)
Я эти строчки копировал в компилятор, жал контрл+эф5 и программа работала и правильно. А что именно в моём варианте Вам показалось "очередным не рабочем"? Если я не прав, то буду просить прощения на коленях)
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
22.07.2013, 21:49 24
Цитата Сообщение от Retyrn0 Посмотреть сообщение
А что именно в моём варианте Вам показалось "очередным не рабочем"?
Скрин посмотрите в 20 посте.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
22.07.2013, 21:50 25
Цитата Сообщение от Retyrn0 Посмотреть сообщение
А что именно в моём варианте Вам показалось "очередным не рабочем"? Если я не прав, то буду просить прощения на коленях)
Программа не правильно определяет вхождение одной последовательности в другую. Даказать!?) Или сказу на колени?)))
1
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:50 26
Цитата Сообщение от alsav22 Посмотреть сообщение

Не по теме:


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

Не по теме:

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

0
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
22.07.2013, 21:54 27
Момент

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

Как сюда картинку впихнуть? (Не смейтесь, я новичёк ;-))
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:55 28
Цитата Сообщение от Retyrn0 Посмотреть сообщение
программа работала и правильно.
Ваш алгоритм проверяет, входит ли хотя бы один элемент второй последовательности в первую. согласитесь, это совсем не то, что нужно.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
22.07.2013, 21:55 29
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Как сюда картинку впихнуть?
Кнопка "Расширенный режим", рядом с "Отправить быстрый ответ"
0
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
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 Посмотреть сообщение
Ваш алгоритм проверяет, входит ли хотя бы один элемент
Ааа...прошу прощения на коленях) Я почему-то решил только исправить код, но не вдумался в суть задания) Момент...
0
castaway
22.07.2013, 21:57
  #31

Не по теме:

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

0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:57 32
Retyrn0, внимательно прочтите пост #28
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 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;
}
Не вникал, но очевидно, что тут не рассматривается случай, когда в последовательности встречаются повторяющиеся элементы.
И таки да. Только одна пара элементов в массивах совпадёт - и ответ будет неверным!
0
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
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;
}
Так нормально?
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
22.07.2013, 21:58 35
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Момент...
Ты щас все на double менять будешь?
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 21:58 36
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Так нормально?
нет, нет и еще раз нет!!!
для разных m и n ответ будет всегда "не входит"
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
22.07.2013, 22:00 37
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Так нормально?
Понимаешь... хрен.. он как бы редьки не слаще.
0
Thinker
22.07.2013, 22:07
  #38

Не по теме:

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

0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
22.07.2013, 22:09 39
Цитата Сообщение от Thinker Посмотреть сообщение
у вас получится, давайте!
Мне тоже интересно) Retyrn0, только не копируй рабочий вариант, сделай что-нибудь по-своему.
0
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
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 Посмотреть сообщение
рабочий вариант
где он? А чё я время тут трачу?)
0
22.07.2013, 22:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2013, 22:12
Помогаю со студенческими работами здесь

посмотрите где ошибка
код берет либо рандомную строку из файла,либо по последовательно,вот рандом работает, а...

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

Файлы.Посмотрите где ошибка.
Создать текстовый файл из 5 строк, прочитать созданный файл и получить новый файл. В новый файл...

ребят посмотрите где ошибка
program a1; var a,b,f,x,min,max: real; begin min:=1000;max:=0; a:=5; b:=15; while a&lt;b do...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru