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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
aquarius-a
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 48
#1

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

18.05.2011, 22:56. Просмотров 1285. Ответов 0
Метки нет (Все метки)

здравствуйте!
есть код к задаче: даны два неубывающих массива x и y. найти их "пересечение", то есть неубывающий массив z, содержащий их общие элементы, причем кратность каждого элемента в массиве z равна минимуму его кратностей в массивах x и y.
вот мой код с пояснениями, вроде все по логике, но работает некорректно, кто может ,подскажите где ошибка?
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
const int n=10,m=10;
int x[n]={1,1,2,3,3,6,6,7,8,10};
int y[m]={1,1,2,3,4,5,6,9,9,9};
int z[n<m?n:m],count=0,s;
size_t i,j,k,t=0;
 
cout<<"Massiv1:  ";
for (i=0;i<n;++i) cout<<x[i]<<" ";
printf("\n");
cout<<"Massiv2:  ";
for (j=0;j<m;++j) cout<<y[j]<<" ";
cout<<endl<<"Massiv3:  ";
 
for (i=0;i<n;i++)
  {
  for (j=0;j<m;j++)
    {
    if (x[i]==y[j])                  //сравниваем эл-ты 1-го и 2-го массивов, если равны
      {
      s=sizeof(z)/sizeof(int);       //определяем размер 3-го массива(массива-результата)
      for (k=0;k<s;k++)              //в цикле по элементам массива-результата 
        {
        if (z[k]==x[i]) count++;     //проверяем, если есть элементы совпадающие с эл-тами 1-го массива, увеличиваем счетчик 
        }
      if (count==0)                  //если счетчик равен нулю
        {
        z[t]=x[i];                   //присваиваем значение эл-та 1-го массива эл-ту массива-результата
        cout<<z[t]<<" ";             //выводим значение эл-та массива-результата на экран
        t++;                         //увеличиваем счетчик индексации эл-тов массива-результата
        count=0;                     //обнуляем счетчик
        }
      }
    }
  }
 
 
getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 22:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос пересечение массивов (C++):

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

Найти пересечение массивов - C++
Здравствуйте. Работаю с массивами. Есть 2 массива и нужно найти их пересечение. Проблема: если есть 2 или более соответствий, то есть в...

Найти пересечение двух массивов - C++
Даны два массива : А и B. Необходимо создать третий массив, в котором нужно собрать:-Общие элементы двух массивов. общие элементы...

Пересечение двух одномерных массивов N размера - C++
Всем привет! Было задание: Испробовал кучу кодов (пересечение с сортировкой, без сортировки, удаление повторяющихся элементов в...

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

Создать массив структур без использования массивов и нотации массивов - C++
Доброго времени суток! Есть задание, в котором нужно создать массив структур, имея следующую структуру: struct name { string...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2011, 22:56
Привет! Вот еще темы с ответами:

В каждом из массивов найти наибольшее значение и умножить на него все элементы массивов - C++
Заданы два массива А(5) и В(5). В каждом из массивов найти наибольшее значение и умножить на него все элементы массивов. На печать вывести...

В каждом из заданных массивов найти наибольшее значение, и разделить на него все элементы массивов - C++
Заданы два массива А(5) и В(5). В каждом из массивов найти наибольшее значение и разделить на него все элементы массивов. На печать вывести...

Сравнение массивов: найти максимальное перебором массивов - C++
Добрый вечер такая проблема даны два одномерных массива A, B причем в каждом массиве записанно число по разрядно Задачи найти...

Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать вывести исходные - C++
Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать...


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

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

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