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

Связные списки, дополнить код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа решения квадратного уравнения http://www.cyberforum.ru/cpp-beginners/thread914034.html
Написать программу которая будет решать квадратное уравнение (любое). Помогите пожалуйста написать.
C++ Преобразование 2-х char в один short int Пробую преобразовать 2 char в один short int таким образом: char buf; short int skl; int kol=0; for(int i=0;i<44100*2;i=i+2){skl=buf<<8|buf;kol++;} да что-то не получается, компилятор не согласен. Посоветуйте, как сделать. http://www.cyberforum.ru/cpp-beginners/thread914031.html
преобразовать код программы из DevCPP в VisualStudio C++
Помогите пожалуйста переделать код программы на С++, из DevCPP в VisualStudio #include <cstdlib> #include <iostream> #include<fstream> using namespace std; int main() {
Переделать код с Pascal в С++ C++
Заполнить двоичный файл N действительными числами, полученными с помощью генератора случайных чисел. Найти сумму минимального и максимального элементов этого файла. N – случайное число, не превышающее 100. Примечание: Результат работы с данными вывести на экран и в новый файл. Файл, в который записывается результат, называется OUTPUT.DAT для двоичных файлов. const DirectionA =...
C++ Исправить код нужно http://www.cyberforum.ru/cpp-beginners/thread913985.html
Программа должна рандомно выдавать фразу или цитату. #include <iostream> #include <cstdlib> #include <cstring> using namespace std; int main() {
C++ С факториалами Задача такова: Вычислить для заданного целого n\geq 0 : (2n+1)!!=1*3*5...*(2k+1); (2n)!!=1*2*4*6*...*(2n); n!!, где n!!=\begin{cases} & \text{(2k+1)!! pri nechetnom } n=2k+1, \\ & \text{(2k)!! pri chetnom } n=2k. \end{cases} подробнее

Показать сообщение отдельно
LIAR52
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 4
28.06.2013, 14:57     Связные списки, дополнить код
Прошу помочь, учусь на заочке и поэтому все очень сложно.. Есть код программы которая создает связный список элементов и позволяет добавлять новые и удалять.. Необходимо добавить в программу комплексные числа и оператор перегрузки.. Help me.. вот то что есть в попытке создания:
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
 #include <iostream.h>
  #include <conio.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <dos.h>
  #include <graphics.h>
//using namespace std;
 
//typedef int newtp;
template<class Type>
struct node
{
    Type data; //  данные
    node* next; // указатель на следующий
    node* pred; // указатель на предыдущий
};
 
 
template<class Type>
class linklist // класс связный список
{
private:
    node<Type>* first; // указатель на начало
public:
    linklist() { first = NULL; } // в конструкторе инициализируем его, он указывает в
                                 // в место где нет полезной информации
 
    void push( Type d, int pos); // метод добавления элемента
    int pop( int pos);  // метод удаления элемента
    void clean(); // удаление всех элементов
    void Show();
    void Display();
};
 
template<class Type> void linklist<Type>::push( Type d, int pos) // метод добавления элемента
{
 
    node<Type>* newnode = new node <Type>; // создаём новый элемент
    newnode->data = d; // вводим в него данные
    if(first ==  NULL)   // если это первый элемент в списке
    {
        newnode->next = newnode;
        newnode->pred = newnode;
        first = newnode; // first  указывает на него
    }
    else
    {
        node<Type>* temp = first; // создаём времменный указатель
        for ( int i = pos; i > 1; i--,temp=temp->next); // цикл
            temp->pred->next = newnode;
            newnode->pred = temp->pred;
            newnode->next = temp; // добавляем перед времменным
            temp->pred = newnode;
    }
}
 
 
template<class Type> int linklist<Type>::pop( int pos) // удаляем элемент из списка по индексу
{
  if(first == NULL)  return 0; // если список пуст
  int l;
  Type val;
 
  if(first == first ->next) // если это последний элемент в списке
  {
      val = first->data;
      delete first;
      first = NULL;
  }
  else
 {
      node<Type>* temp = first;
      for ( int i = pos; i > 1; i--, temp = temp->next);
          if( temp == first) first = temp->next;
              temp->pred->next = temp->next; // удаляем temp элемент
              temp->next->pred = temp->pred;
              val = temp->data;
              delete temp;
  }
  return l;
}
 
template<class Type> void linklist<Type>::clean() // удалить все элементы из списка
{
    if(first == NULL) return ;
    for ( node<Type>* newnode = first->next; newnode!=first; newnode = newnode->next) delete newnode;
    delete first;
    first = NULL;
}
 
template<class Type> void linklist<Type>::Show() // просмотр элементов в списке
{   Type d;
    //if(first == NULL) return ;
    node<Type>* newnode = first;
   //   do
    //{
   //while(newnode!=first);
        newnode->data = d;
 
        cout<<newnode << endl;
        //newnode = newnode->next;
    //} while(newnode!=first);
}
 
 
struct Complex
{
        double re,im;
        Complex()
        {
                re=im=0.0;
        }
        Complex(double x, int y)
        {
                re = x;
                im = y;
        }
    Complex& operator = (Complex & arg2)
        {
                re = arg2.re;
                im = arg2.im;
        return *this;
        }
};
 
 
 
int main()
{
    int index;
    int a;
    linklist<Complex> li;
 
 
    //for(int i = 0; i < 4; ++i)
    //{
    //index = 0;
    //cout<<"\n Vvedite dobavlyaemii element " ;
    //  cin>>a;
    //index = index+1;
    li.push(Complex(3,1),1);
    li.push(Complex(4,7),2);
    //  }
    li.Show();
 
 
    //cout<<"\n Vvedite element shtobi dobavit v nachalo " ;
    //cin>>a;
    //li.push(a,1);
    //li.view();
 
 
    //cout<<"\n Vvedite index udalyaemogo element " ;
    //cin>>a;
    //li.pop(a);
    //li.view();
 
    system ("PAUSE");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru