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

С++, Как Сделать Такую Программу Не В Классах? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Модуль для хранения процедуры создания картинки http://www.cyberforum.ru/cpp-beginners/thread542593.html
Создайте модуль, в котором будет храниться процедура создания следующей картинки. Используя модуль, поместите картинку по углам экрана и в центре.
C++ Выделение памяти для строки символов Нужно выделить память под массив указателей на строки, ввести текст построчно динамически выделяя память для каждой строки и записывая указатель в массив. Ошибка в строке выделения памяти: Необработанное исключение типа "System.NullReferenceException" произошло в c7laba.exe Дополнительные сведения: Ссылка на объект не указывает на экземпляр объекта. http://www.cyberforum.ru/cpp-beginners/thread542591.html
Символы, которые встречаются один раз C++
Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они встречаются в тексте.
C++ Удалить гласные буквы, а согласные заменить на прописные.
Дан текст на английском языке, который заканчивается точкой. В тексте удалить все гласные буквы, а согласные заменить на прописные.
C++ Дана строка, содержащая полное имя файла. Выделить из строки название последнего каталога http://www.cyberforum.ru/cpp-beginners/thread542585.html
Разработать программу согласно варианту задания. Максимальная длина строк не менее 80 символов. При реализации программы необходимо использовать функции для обработки строк из библиотек stdlib.h и string.h ЗАДАНИЕ!!!!!
C++ Вывод на экран сведений о периодических изданиях. Составить программу, выводящую на экран сведения о периодических изданиях (наименование издания, тираж, годовая стоимость). подробнее

Показать сообщение отдельно
Слоечка
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 22
08.04.2012, 15:53     С++, Как Сделать Такую Программу Не В Классах?
Задача состоит в следующем:
Сформировать две очереди по n элементов, объединить очереди в одну, в которой элементы начальных очередей меняются, начиная с первого элемента первой очереди. Вывести на экран начальные и конечную очереди.

Есть код программы, написанный в классах:
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
161
162
163
164
165
166
167
168
169
170
171
//20.   Сформувати дві черги по  n  елементів, зчитавши дані з текстового файлу. 
//Об'єднати черги в одну, в якій елементи початкових черг чергуються, 
//починаючи з першого елементу першої черги. 
//Вивести на екран початкові та вихідну черги.
 
#include <iostream>
using namespace std;
#include <math.h>
const int n=30;
int a[n];
struct node //
{
int value;
node * next;
};
class spisok
{
node * n0,* k0;
int klad;
public:
spisok()
{
k0=n0=NULL;
}
int set_udal()
{
return klad;
}
void postroenie();
void postroenie1();
void vuvod();
void add(int);
void del();
void ochistka();
};int i=2;
//---------------------------------------------------------------------------
int main()
{
spisok a;spisok b;spisok c;
int el;
a.postroenie();b.postroenie();c.postroenie1();
a.vuvod();b.vuvod();c.vuvod();
cout<<"vvedit lanky scho dod:"<<endl;
cin>>el;
a.add(el);
a.vuvod();
cout<<"udal z chergi:"<<endl;
a.del();
a.vuvod();
cout<<"udal el"<<a.set_udal()<<endl;
a.ochistka();b.ochistka();c.ochistka();
system("Pause");
        return 0;
}
//---------------------------------------------------------------------------
  void spisok::postroenie()
  {
  node * r;
  int el;
  cout<<"vvedit element chergi:"<<endl;
  cin>>el;a[i-2]=el;
  if(el!=0)
  {
  r=new node;
  r->value=el;
  r->next=NULL;
  n0=k0=r;
  cin>>el;a[i-1]=el;
  while(el!=0)
  {
  r=new node;
  r->value=el;
  r->next=NULL;
  k0->next=r;
  k0=r;
  cin>>el;a[i]=el;i++;
  }
  }
  else
  {
  n0=k0=r=NULL;
  }
  }
  //-------------------------------------------------------------------------
   void spisok::postroenie1()
  {
  node * r;int k=2;
  int el;
  el=a[0];
  if(el!=0)
  {
  r=new node;
  r->value=el;
  r->next=NULL;
  n0=k0=r;
  el=a[1];
  while(el!=0)
  {
  r=new node;
  r->value=el;
  r->next=NULL;
  k0->next=r;
  k0=r;
  el=a[k];k++;
  }
  }
  else
  {
  n0=k0=r=NULL;
  }
  }
   //--------------------------------------------------------------------------
 
  //--------------------------------------------------------------------------
  void spisok::vuvod()
  {
  node * r;
  cout<<"cherga:"<<endl;
  r=n0;
  while(r!=NULL)
  {
  cout<<r->value<<' ';
  r=r->next;
  }
  }
  //---------------------------------------------------------------------------
  void spisok::add(int el)
  {
node * r;
r=new node;
r->value=el;
r->next=NULL;
if(n0!=NULL)
{
k0->next=r;
k0=r;
}
else
n0=k0=r;
}
//-----------------------------------------------------------------------------
void spisok::del()
{
node * q;
if(n0==NULL)
cout<<"cherga pusta"<<endl;
else
{
klad=n0->value;
q=n0;
n0=n0->next;
delete q;
}
}
//-----------------------------------------------------------------------------
void spisok::ochistka()
{
node * q;
q=n0;
if(n0==NULL)
{
while(n0!=k0)
{
n0=q->next;
delete q;
q=n0;
}
delete n0;
n0=k0=NULL;
}
}
как его переписать, чтобы был "не в классах"?

заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru