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

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

Войти
Регистрация
Восстановить пароль
 
Aristotel_83
Сообщений: n/a
#1

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

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

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

Динамический двунаправленный список - C++
Помогите! Нужно создать Динамический двунаправленный список и выполнить операцию: Добавление элемента в середину списка после...

Динамический двунаправленный список - C++
Задача: Создать динамический двунаправленный список, с использованием функции malloc, осуществить функции добавление элемента(вставка перед...

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

Двунаправленный список! - C++
Не Класс! Помогите создать список (Двунаправленный хоронящий int a ) сама проблема в том что я не пойму как организовать ссылку на...

Двунаправленный список - C++
Вставка элемента в список. Удалениеэлемента из списка Сортировка списка. Поиск элемента в списке.Объединение двух списков Пересечение двух...

СД Двунаправленный список - C++
Ребят помогите пожалуйста понять что значит сделать двунаправленный список используя обьектно-ориентированное программирование. Хотяб...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Aristotel_83
Сообщений: n/a
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 напутал
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2012, 08:37
Привет! Вот еще темы с ответами:

Двунаправленный список - C++
Люди, объясните пжлст, что такое двунаправленный список?

Двунаправленный список - C++
Как создать двунаправленный список из целых чисел? и как заменить повторяющиеся последовательности одним числом?

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

Двунаправленный список - C++
Вопросы: Почему ругается при таком описании, говорит ; пропустил spis_fam * Create_first(char *); //формирование первого элемента ...


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

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

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