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

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

Войти
Регистрация
Восстановить пароль
 
Fil__
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 5
#1

Массив-пересечение - C++

02.12.2010, 14:24. Просмотров 447. Ответов 3
Метки нет (Все метки)

Помогите, пожалуйста, с заданием:
Дано два целочисленных массива, состоящих из не повторяющихся чисел. Сформировать новый массив, который содержит элементы, имеющиеся одновременно и в первом и во втором массивах (массив-пересечение).

По сути, решение я уже нашел, но:
1. Не могу поставить генератор чисел для массива таким образом, чтобы он точно генерировал не повторяющиеся значения;
2. Может стоит поставить ввод значений с клавиатуры?
3. Если в задании не дано кол-во элементов массива, то как это описать в программе (путем ввода значений с клавиатуры)?
4. Прокомментируйте, пожалуйста, код. Знания по С++ крайне малы((

Сама программа:
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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std; //подключение стандартного пространства имен
 
void main()
{
int a[10]={1,2,4,6,7,9,11,8,14,16}; //Задаем массив a
int b[10]={0,2,3,5,9,12,4,8,13,15}; //Задаем массив b
int c[10]; //Задаем массив c
bool flag; //Переменная flag - логический тип
for (int j=0, k=0;j<10;j++)
    {
    for (int i=0;i<10; i++)
        if (a[j]==b[i])
        {
        flag = true;
        for(int l = 0; l< k; l++)
            {
            if(c[l] == a[j])
                {
                flag = false;
                }
            }
        if(flag)
        {
        cout << a[j]<< '\n';
        c[k++] = a[j];
        }
        }
    }
getchar(); //Пауза
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2010, 14:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив-пересечение (C++):

Пересечение двух прямых и проверка на пересечение - C++
Доброго времени суток слизал функцию проверки отсюда:/segments_intersection_checking на всякий случай у меня она выглядит так: int...

Задача на пересечение - C++
Всем доброго вечера. Помогите пожалуйста решить задачу. Я не могу понять саму структуру как должно быть.

Пересечение фигур - C++
Даны две фигуры: Окружность с центром в точке (x0,y0) и радиусом r, и пятиугольник заданный координатами вершин. Как можно определить факт...

пересечение фигур - C++
Привет всем! Как определить пересечение двух фигур: квадрата и триугольника? Квадрат задается координатами левого верхнего угла и нижнего...

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

Пересечение прямых - C++
Не могу сделать так,чтобы находил пересечения двух прямых(n штук) и выводил координаты пересечении. Вот что вышло. #include &quot;stdafx.h&quot; ...

3
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
02.12.2010, 14:26 #2
Цитата Сообщение от Fil__ Посмотреть сообщение
3. Если в задании не дано кол-во элементов массива, то как это описать в программе (путем ввода значений с клавиатуры)?
Ну да, надо юзать динамику.
C++
1
2
3
4
5
6
7
int*Arr;
int n=0;
std::cout<<"Enter n: ";
std::cin>>n;
Arr=new int[n];
//...
delete[] Arr;
0
Valerko
17 / 17 / 1
Регистрация: 30.11.2010
Сообщений: 164
02.12.2010, 14:37 #3
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <time.h>
void main()
{
srand(time(0));
 
int a[10]={1,2,4,6,7,9,11,8,14,16}; //Задаем массив a
int b[10]={0,2,3,5,9,12,4,8,13,15}; //Задаем массив b
а если так?
0
Fil__
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 5
02.12.2010, 16:51  [ТС] #4
Цитата Сообщение от Valerko Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <time.h>
void main()
{
srand(time(0));
 
int a[10]={1,2,4,6,7,9,11,8,14,16}; //Задаем массив a
int b[10]={0,2,3,5,9,12,4,8,13,15}; //Задаем массив b
а если так?
Что-то не работает(( Видимо что-то не так делаю.

Да ладно, б-г с ним, с этим генератором чисел, пусть будут постоянные значения. Время поджимает(

Я не могу понять саму логику программы, может кто объяснит.
Также непонятны следующие моменты:
C++
1
if(flag)    //Если flag принимает значение "чего?", что это за значение, true or false
C++
1
c[k++] = a[j];  //А это зачем нужно?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2010, 16:51
Привет! Вот еще темы с ответами:

Пересечение отрезков. - C++
Решал задачу на acmp про пересечение отрезков, завалился на 20 тесте. Долго просидел, решил прочитать комментарии. Объясните мне, если...

Пересечение множеств - C++
Вход — два множества натуральных чисел. Выход — их пересечение (перечисление элементов через пробел в любом порядке без повторений)...

Пересечение множеств - C++
Здравствуйте. У меня следующая задача: Даны 2 множества A и B, причем множество B отсортировано по возрастанию. Необходимо получить...

Пересечение треугольников в 3d - C++
Вот например 2 треугольника: (для примера) struct Point { int X; int Y; int Z; };


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
02.12.2010, 16:51
Ответ Создать тему
Опции темы

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