day & night

задача на С++, целочисленные массивы
Дата обновления: , перейти к новому сообщению
#1
drakon803



Unregistered














Помогите с решением задачи.
Даны 2 целочисленных массива.Первый 1,2,2,3,4,5,5 и второй 0,2,3,5.Найти элементы,входящие как в первый ,так и во второй массив,но без повторов и вывести их на экран в виде третьего массива.
вот текст проги,но кроме 2,она никакой элемент больше не выводит.
int a[7]={1,2,2,3,4,5,5};
int b[4]={0,2,3,5};
int c;
for (int j=0;j<7;j=j+1)
{
for (int i=0;i<4;i=i+1)
if (a[j]==b[i])
{
c[x]=a[j];
cout << c[x++]<< '\n';
}
}
Сначало из массивов формируется третий с одинаковыми элементами,затем удаляются повторяющиеся.Удаление одинаковых элементов оформляется через булеву переменную,но как???-не знаю.
Go topGo end
 

Ответов(1 - 2)
16.10.2008 - 21:24
#2
yah



профи!
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 2.336
Регистрация: 27.01.2006
Из: рнд
Пользователь №: 500


Респектов: 408
-----XXX--




Цитата | Quote(drakon803 @ 16.10.2008 - 22:19)
int a[7]={1,2,2,3,4,5,5};
int b[4]={0,2,3,5};
int c;
for (int j=0;j<7;j=j+1)
{
for (int i=0;i<4;i=i+1)
if (a[j]==b[i])
{
c[x]=a[j];
cout << c[x++]<< '\n';
}
}
*


Что это вообще такое?
User is offline
Go topGo end
17.10.2008 - 15:29
#3
yah



профи!
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 2.336
Регистрация: 27.01.2006
Из: рнд
Пользователь №: 500


Респектов: 408
-----XXX--




Проверяй:
Code
#include <iostream>
using namespace std;

int main()
{
int array_1[7]={1,2,2,3,4,5,5};
int array_2[4]={0,2,3,5};
int array_3[4]={0};
int c=0;
bool flag=true;
bool flag2=true;

for (int a=0; a<7; a++)
{
 for (int b=0; b<4; b++)
 {
  if(array_1[a]==array_2[b])
  {
   if(flag2)
   {
    array_3[c]=array_2[b];
    flag2=false;
    c++;
    continue;
   }

   for(int f=0; f<c; f++)
   {
    if(array_3[f]==array_2[b])
    {
     flag=false;
     break;
    }    
   }

   if(flag)
   {
    array_3[c]=array_2[b];
    c++;
   }
   flag=true;

   }
   
  }

 }

for (int d=0; d<c; d++)
 cout<<array_3[d]<<' ';
cout<<endl;

return 0;
}


Добавлено:

Цитата | Quote(drakon803 @ 16.10.2008 - 22:19)
Сначало из массивов формируется третий с одинаковыми элементами,затем удаляются повторяющиеся.
*


У меня повторяющиеся элементы удаляются во время заполнения третьего массива. Т.е. я сразу проверяю, ыбл уже такой элемент или нет и, если нет, то заношу в массив.
User is offline
Go topGo end

Topic Options
Сейчас: 2.05.2024 - 7:45
Мобильная версия | Lite версия