![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 12.12.2010
Сообщений: 2
|
![]()
Задание: Написати функцію, що повертає перетинання двох множин, які представлені за допомогою списків.
Эта программка находит только те елементы, которые стоят на одинаковых позициях. Помогите, пожалуйста, переделать так, чтобы находило пересечение множеств не зависимо от позиции! #include <iostream.h> #include <conio.h> #include <stdio.h> struct f { int n; f *next; f *prev; }; f *fir1,*fir2,*cur1,*cur2,*las1,*las2 ; void main() { clrscr(); fir1=cur1=las1=NULL; fir2=cur2=las2=NULL; int mas1[5]={2,5,8,1,6}; int mas2[5]={1,5,8,3,6}; for (int i=0; i<5; i++) { if (fir1==NULL) { las1= new f; las1->n=mas1[i]; las1->next=NULL; las1->prev=NULL; cur1=fir1=las1; } else { las1= new f; las1->n=mas1[i]; las1->next=NULL; las1->prev=cur1; cur1->next=las1; cur1=las1; } } for (i=0; i<5; i++) { if (fir2==NULL) { las2= new f; las2->n=mas2[i]; las2->next=NULL; las2->prev=NULL; cur2=fir2=las2; } else { las2= new f; las2->n=mas2[i]; las2->next=NULL; las2->prev=cur2; cur2->next=las2; cur2=las2; } } cout << "Mas 1: "; for (i=0; i<5; i++) cout << mas1[i] << " "; cout << "\nMas 2: "; for (i=0; i<5; i++) cout << mas2[i] << " "; cout << "\n\nPeretun dvox mnogun: "; cur1=fir1; cur2=fir2; while (cur1) { if (cur1->n==cur2->n) cout << cur1->n << " "; cur1=cur1->next; cur2=cur2->next; } getch(); } Последний раз редактировалось Irka=); 23.04.2012 в 19:48. Причина: Не дописала |
![]() |
![]() |