0 / 0 / 0
Регистрация: 21.07.2020
Сообщений: 34
1

Отобразить элементы из первой последовательности, которых нет во второй

21.07.2020, 18:30. Показов 4457. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Требуется написать программу, которая получит последовательность из двух целых чисел длины 10 на входе, отобразит все элементы из первой последовательности, которых нет во второй. Отображаемые числа должны быть разделены пробелом և должны отображаться в том же порядке, в котором они были введены. Используйте массив для решения ; I am a NOOB in c++))

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
#include <iostream>
int main() {
  int n =10;
  int a[n];
  int b[n];
  int count = 0;
 
 
  for(int i = 0;i < n;i++)
  {
    std::cin>>a[i];
  }
   for(int i = 0;i < n;i++)
  {
    std::cin>>b[i];
  }  
  for(int i = 0;i < n;i++)
  {
       for(int j = 0;j<n;j++)
       {
         if(a[i]!=b[j]){
           std::cout<<a[i]<<" ";
           break;
         }
       }
 
 }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2020, 18:30
Ответы с готовыми решениями:

Получить последовательность состоящую из членов первой последовательности, которых нет во второй
Даны две упорядоченные по неубыванию целочисленные последовательности, получить упорядоченную по...

Получить упорядоченную по невозрастанию последовательность, состоящую из тех членов первой последовательности, которых нет во второй
Даны две последовательности. Получить упорядоченную по невозрастанию последовательность, состоящую...

Получить упорядоченную по невозрастанию последовательность, состоящую из тех членов первой последовательности, которых нет во второй
кот Бегемот, а на Паскале можешь первую задачу написать?

Даны две последовательности целых чисел. Удалить из первой последовательности все элементы, встречающиеся во второй
Решить с помощью vector. Даны две последовательности целых чисел. Удалить из первой...

8
online
51 / 34 / 16
Регистрация: 11.02.2018
Сообщений: 221
21.07.2020, 18:46 2
Лучший ответ Сообщение было отмечено Stefano как решение

Решение

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 <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    set <int> kek;
    for(int i = 0; i < 10; ++i)
    {
        int f;
        cin >> f;
        kek.insert(f);
    }
    for(int i = 0; i < 10; ++i)
    {
        int f;
        cin >> f;
        if (kek.count(f) == 0)
        {
            cout << f << " ";
        }
    }
    return 0;
}
Добавлено через 6 минут
С помощью массивов.

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
#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    vector <int> a(10);
    /*vector <bool> ans(10);
    fill(ans.begin(), ans.end(), false);*/
    for(int i = 0; i < 10; ++i)
        cin >> a[i];
    vector <int> b(10);
    for(int i = 0; i < 10; ++i)
        cin >> b[i];
    for(int i = 0; i < 10; ++i)
    {
        bool ok = 0;
        for(int g = 0; g < 10; ++g)
        {
            if (a[i] == b[g])
            {
                ok = 1;
                break;
            }
        }
        if (!ok)
            cout << a[i] << " ";
    }
    return 0;
}
1
0 / 0 / 0
Регистрация: 21.07.2020
Сообщений: 34
21.07.2020, 18:53  [ТС] 3
bool ok = 0 , eto kak bool ok = false? 0 - false? 1- true?
sorry 3a noobskie Baprosi) ya navichok)
0
online
51 / 34 / 16
Регистрация: 11.02.2018
Сообщений: 221
21.07.2020, 18:54 4
Stefano, +
0
0 / 0 / 0
Регистрация: 21.07.2020
Сообщений: 34
21.07.2020, 18:58  [ТС] 5
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
#include <iostream>
int main() {
  int n =10;
  int a[n];
  int b[n];
  int count = 0;
 
 
  for(int i = 0;i < n;i++)
  {
    std::cin>>a[i];
  }
   for(int i = 0;i < n;i++)
  {
    std::cin>>b[i];
  }  
  for(int i = 0;i < n;++i)
  {
    bool ok = false;
       for(int j = 0;j<n;j++)
       {
         if(a[i]==b[j]){
           ok = false;
           break;
         }
       }
       if(true)std::cout<<a[i];
  }
 
}
pochemy tak ne rabotaet,a s 0 i 1 rabotaet pravilno?prosto ne ponimajy esli 0=false 1 =true
0
online
51 / 34 / 16
Регистрация: 11.02.2018
Сообщений: 221
21.07.2020, 19:01 6
Лучший ответ Сообщение было отмечено Stefano как решение

Решение

if (true) или если(истина) - независимое сравнение. Это условие всегда верно(как 1 = 1)
Правильно будет if (ok == false)
C++
1
2
3
4
5
6
7
8
9
bool ok = false;
for(int j = 0;j<n;j++)
{
if(a[i]==b[j]){
ok = false; //ok должен измениться, если число есть во втором массиве, а тут он опять остается false. Правильно: ok = true;
break;
}
}
if(true)std::cout<<a[i];//Правильно будет: ok == false, то есть числа нет в массиве, иначе же ok = true, если число есть в массиве
1
0 / 0 / 0
Регистрация: 21.07.2020
Сообщений: 34
21.07.2020, 19:05  [ТС] 7
все понял! огромное спасибо!!!
0
Модератор
Эксперт С++
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,700
21.07.2020, 19:15 8
Цитата Сообщение от Mike_Boone Посмотреть сообщение
if (ok == false)
Не надо такому учить.
Масло оно УЖЕ масляное.
пишите
C++
1
if( !ok )
0
online
51 / 34 / 16
Регистрация: 11.02.2018
Сообщений: 221
21.07.2020, 19:17 9
Цитата Сообщение от zss Посмотреть сообщение
Не надо такому учить.
Цитата Сообщение от Mike_Boone Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
for(int g = 0; g < 10; ++g)
        {
            if (a[i] == b[g])
            {
                ok = 1;
                break;
            }
        }
        if (!ok)
            cout << a[i] << " ";
}
Человек спросил, в чем проблема именно в его коде...
0
21.07.2020, 19:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2020, 19:17
Помогаю со студенческими работами здесь

Удалить из первой строки символы, которых нет во второй
Составить процедуру, в результате обращения к которой из первой заданной строки удаляется каждый...

В двух заданных строках элементы первой поменяет на элементы второй, а элементы второй на элементы первой
Задание:Составить программу,которая в двух заданных строках элементы первой поменяет на элементы...

Получить новую строку из символов первой строки, которых нет во второй
Помогите написать программу Добавлено через 27 секунд Дана срока, состоящая из букв и цифр, и...

Определить, сколько в первой строке таких символов, которых нет во второй?
даны две строки, сколько в первой строке таких символов, которых нет во второй?

Получить новую строку из символов первой строки, которых нет во второй
дана срока, состоящая из букв и цифр, и строка из цифр и других знаков. Получить новую строку из...

Показать строку из букв первой строки, которых нет во второй строке
Написать на Java программу, которая создает окно, в котором текстовые поля и кнопка. В одно (или...


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

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

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