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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ole4
0 / 0 / 0
Регистрация: 30.01.2011
Сообщений: 4
#1

круговой список - C++

31.01.2011, 09:56. Просмотров 1239. Ответов 3
Метки нет (Все метки)

написать программу сложения двух целых чисел,представленных в виде строк,используя круговой список.
Я кое-что набросала,но вполне вероятно,что все не правильно...
Помогите пожалуйста хоть что-нибудь
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
#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <stdio.h>
 struct Node
    {
     int d;
     Node *next;
     Node *prev;
    } ;
Node * first(int d);
void add(Node **pd,int d);
void osv(Node **pg);
void vivod(Node *pg);
    void main()
 {Node *pbeg, *pend;int i,str[15],str1[15]; int sum;
   ifstream primer("primer.txt",ios::in);
   cout<<primer;
   printf(str);
   printf(str1)
  for(int i=0;i<15;i++)
   { 
 
 pbeg = first(int d[0]);
 pend = pbeg;
 
  vivod(pbeg);
 osv(&pbeg);
 
 getch();
}
 
Node *first(int d)
  {
     Node *pv=new Node;
     pv->d=d;
     pv->next=NULL;
     pv->prev=NULL;
     return pv;
   }
void vivod(Node *pg)
 {  Node *pt=pg;
    ofstream otvet("otvet.txt",ios::out);
 otvet.close();
}
void osv(node **pg)
    {
     node *pv=*pg, *pr=0;
     cout<<"\n Spisok unichtogen";
     while(pv)
         {
          pr=pv; pv=pv->next;
          delete pr;
          *pg=0;
         }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2011, 09:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос круговой список (C++):

Написать программу, которая реализует круговой список - C++
Добры

Круговой турнир - C++
Здравствуйте. Ищу помощи в алгоритме. Принцип пониманию, как реализовать не пойму. Тема курсовой &quot;Разработка программной реализации...

круговой сдвиг массива вправо - C++
Напишите программу которая принимает двухмерный массив целых чисел и количество сдвигов и выполняет круговой сдвиг массива вправо. ...

Вывод круговой диаграммы, отражающей товарооборот - C++
Написать программу, которая выводит круговую диаграмму, отражающую товарооборот (в процентах) книжного магазина. Исходные данные (объем...

Определить условия попадания в круговой сектор - C++
Здравствуйте. Вот какое задание: &quot;Определить условия попадания в круговой сектор &quot; Вот рисунок

В виде круговой диаграммы отобразить информацию о расходах на покупку товаров за месяц - C++
Напишите программу, в окне которой в виде круговой диаграммы отображается информация о расходах на покупку продовольственных товаров за...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
31.01.2011, 12:58 #2
ole4, Что значит "используя круговой список"?
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
31.01.2011, 13:18 #3
grrrrr, после последнего элемента идет первый и так по кругу....
igorrr37
1646 / 1274 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
01.02.2011, 04:39 #4
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
#include<iostream>
#include<fstream>
using namespace std;
 
template<class T>
struct node{
    T data;
    node* next;
    node* prev;
    node(T a):data(a), next(0), prev(0){}
    void insert(T, node*);
    void show(node* p);
    void del(node* p);
};
 
template<class T>
void node<T>::insert(T a, node<T>* p){
    if(a>data&&next!=p){
        next->insert(a, p);
    }
    else if(a>data&&next==p){
        node<T>* temp=new node<T>(a);
        temp->prev=this;
        temp->next=next;
        next->prev=temp;
        next=temp;
    }
    else{
        node<T>* temp=new node<T>(a);
        temp->next=this;
        temp->prev=prev;
        prev->next=temp;
        prev=temp;
    }
}
 
template<class T>
void node<T>::show(node<T>* p){
    cout<<data<<"  ";
    if(next!=p) next->show(p);
    else cout<<"\n\n";
}
 
template<class T>
void node<T>::del(node<T>* p){
    if(next!=p){
        next->del(p);
        cout<<"Uzel "<<next->data<<" unichtojen\n";
        delete next;
        next=0;
    }
}
 
template<class T>
struct list{
    node<T>* head;
    list():head(0){}
    ~list();
    void insert(T);
    void show();
};
 
template<class T>
list<T>::~list(){
    if(head!=0){
        head->del(head);
        cout<<"Uzel "<<head->data<<" unichtojen\n";
        delete head;
        head=0;
    }
    cout<<"Spisok unichtojen\n";
}
 
template<class T>
void list<T>::insert(T a){
    if(head==0){
        head=new node<T>(a);
        head->next=head->prev=head;
    }
    else head->insert(a, head);
}
 
template<class T>
void list<T>::show(){
    if(head!=0) head->show(head);
    else cout<<"\nList is empty\n";
}
 
void vivod(int a){
    fstream fs("otvet.txt", ios::out);
    fs<<a;
    fs.close();
}
 
int main(){
    list<int> l;
    int a;
    fstream fs("primer.txt");
    if(!fs){cerr<<"File primer.txt not found"; return 1;}
    while(fs>>a) l.insert(a);
    fs.close();
    cout<<"Spisok: ";
    l.show();
    a=0;
    node<int>* temp=l.head;
    do{
        a+=temp->data;
        temp=temp->prev;
    }while(temp!=l.head);
    cout<<"Summa= "<<a<<"\n\n";
    vivod(a);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2011, 04:39
Привет! Вот еще темы с ответами:

Создать список L3 из элементов, входящих и в список L1 и в список L2 - C++
создать список л3 из элементов входящих и в список л1 и в список л2

3 класса: список, стек(как список), очередь(как список) - C++
препод дал задание: написать 3 класса (список, стек, очередь), методы: вывод, добавление, удаление. Использовать при обращении указатель...

list. Cоздать список из результатов(с массивами), а потом просмотреть весь список - C++
Подскажите пожалуйста как мне создать список из моих результатов(с массивами) а потом просмотреть весь список, вот код который имеется ...

Вводится число N. Создать список его делителей и вывести список на экран - C++
#include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;malloc.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; using namespace std; struct...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.02.2011, 04:39
Ответ Создать тему
Опции темы

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