Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Aristotel_83
0 / 0 / 1
Регистрация: 18.05.2012
Сообщений: 2
1

Двунаправленный динамический список

21.05.2012, 19:59. Просмотров 1092. Ответов 1
Метки нет (Все метки)

Есть такое задание
(Множества А и В целых чисел, взятых из файлов a.dat и b.dat, представлены двунаправленными динамическими списками с головой, в которых целые числа следуют в порядке возрастания.
Реализовать операции над множествами:
xor (исключающее ИЛИ); ‘-‘ (разность); ‘+’ (объединение);
‘*’ (пересечение). Результатом должен быть список той же структуры. Добавить логические функции сравнения на эквивалентность двух множеств и принадлежности некоторого числа множеству
)
прошу помочь у кого есть свободное время
на данном этапе застрял как считать данные из файла A.dat в этот список.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2012, 19:59
Ответы с готовыми решениями:

Динамический двунаправленный список
Помогите! Нужно создать Динамический двунаправленный список и выполнить...

Динамический двунаправленный список
Задача: Создать динамический двунаправленный список, с использованием функции...

Создать связный динамический список двунаправленный и в нем обеспечить подсчет элементов
Создать связный динамический список двунаправленный и в нем обеспечить подсчет...

Двунаправленный список
Как в этом списке поменять ввод элементов с ручного на рандомный, помогите...

Двунаправленный список
Вопросы: Почему ругается при таком описании, говорит ; пропустил spis_fam *...

1
Aristotel_83
0 / 0 / 1
Регистрация: 18.05.2012
Сообщений: 2
23.05.2012, 08:37 2
Лучший ответ Сообщение было отмечено как решение

Решение

Вот немного написал, в программировании не силен информацию брал по немногу отовсюду.

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "stdafx.h"
#include "stdio.h"
#include"conio.h"
#include"string"
#include"fstream"
#include"stdlib.h"
#include "windows.h"
#include "iostream"
#include "time.h"
 
using namespace std;  
struct Dlist
{
 int data;
 Dlist *prev,*next;
};
 
typedef Dlist *DLPtr;
DLPtr D1,D2,tmp,tmp1,tmp2;
 
void Form(DLPtr &D,int n);
void ShowList(DLPtr D);
 
int _tmain(int argc, _TCHAR* argv[])
{ system("cls"); 
  int input=0,x=0,y=0;
 
  ifstream inFile1,inFile2;
  ofstream outFile;
  inFile1.open("D:\A.dat");
  if(inFile1.fail())
                {
                  cout<<"Error open file!!!";getch();exit(1);
                }
 
  while(inFile1 >> x) { 
                        Form(D1,x);                     
                      }
  inFile1.close();  
  
  inFile2.open("D:\B.dat");
  if(inFile2.fail())
                {
                  cout<<"Error open file!!!";getch();exit(1);
                }    
  while(inFile2 >> x) {
                        Form(D2,x);                     
                }
  inFile2.close();
    while(input!=6)
    {
     cout<< ("\n\n\t\t\t\tMenu\n\n\n \t\t\t1.Mnoghestvo A & B \n");
     cout<< ("\n\t\t\t2.Massivy\n\n\t\t\t3.Matrix\n");
     cout<< ("\n\t\t\t4.Struktury\n\n\t\t\t5.Funkciy\n\n\t\t\t6.Vychod\n\t\t\t");
     cout<< ("\n\t\t\tVyberite punkt ot 1 do 5: \n\t\t\t");
     cin >> input;
     system("cls");
     switch(input)
 
     { //cls();
     case 1:{cout <<'\t' <<"Mnoghestvo A" << endl; 
             ShowList(D1); break;}
     case 2:{ShowList(D2);break;}
      case 3:break;
      case 4:break;
      case 5:break;
      case 6:cout << ("\n\n\n\n\n\t\t\t\t  The End \n");break;
      default:cout << ("\n\n\n\t\t\tOshibka vvoda !!!\n\n\t\t\tVvedite chislo ot 1 do 6!!!");
     }//******while*******
     getch();system("cls");
 
 } 
}
 
 
void Form(DLPtr &D, int n)
{ D=new Dlist; 
  D->data=0;
  D->next=D->prev=NULL;
    tmp=D;
    {  tmp->next=new Dlist;
       tmp->next->prev=tmp;
       tmp=tmp->next;
       tmp->data=n;
       tmp->next=NULL;
       cout<<n<<" ";
    }
}
 
void ShowList(DLPtr D)
{
 
 while(tmp)
    {
     cout<<" "<<tmp->data;
     tmp=tmp->next;
    }
}
список формируется, проверял, на данном этапе проблема с выводом списка на экран что-то с переменной tmp напутал
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2012, 08:37

Двунаправленный список
Чемпион мира по футболу. Страна, год последней победы, число побед. Сортировка...

Двунаправленный список
Как создать двунаправленный список из целых чисел? и как заменить...

двунаправленный список
Используя двунаправленный список, написать программу сложения двух длинных...


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

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

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