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

Списки типа "ОЧЕРЕДЬ" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Представления чисел http://www.cyberforum.ru/cpp-beginners/thread113129.html
1. Записать каждое десятичное число в виде целой десятичной, восьмеричной и шестнадцатеричной константы: 126 10 219 77 2. Записать каждое десятичное число в виде вещественной константы в форме с фиксированной точкой и экспоненциальной форме: 0,4335 4,3*10-2 778 0,005*102 3. Записать выражение для вычисления формулы: 4. Переменная объявлена как float S. Определить значение...
C++ статья про конструктор копировщик помогите с трудностью,не понимаю что такое конструктор копировщик,дайте статью или что то такое http://www.cyberforum.ru/cpp-beginners/thread113114.html
Шаблоны.Исправить ошибки. C++
Вот прога: #include <iostream> using namespace std; template <class Data> class List{ class Node{ public: int d; Node *next, *prev; Node( Data dat = 0){d = dat; next = 0; prev = 0;}
Возвести матрицу в целочисленную степень C++
Каким образом можно возвести двумерный массив (т. е. матрицу) в целочисленную степень?Например for(int i=0;i<4;i++) D=D^i;
C++ Построение трехмерной модели на С/С++ http://www.cyberforum.ru/cpp-beginners/thread113091.html
Работу необходимо сделать (желательно) до начала мая (максимум до 10 мая). Т.е. впереди целый месяц. Все необходимые алгоритмы (алгоритмы определения расстояния до объекта, распознавания объекта, в том числе его геометрической формы и др.) я предоставлю. Цена: договорная (в пределах нормы, я все-таки студентка). Жду предложений! Спасайте люди!!! Тема проекта: «Разработка математических...
C++ работа с файлами всем привет=) у меня возникли проблемы с кодом visual c++ 2008, вот собственно код: #include "stdafx.h" #include "iostream" #include "fstream" using namespace std; int _tmain(int argc, _TCHAR* argv) { подробнее

Показать сообщение отдельно
Олег@tor
9 / 9 / 1
Регистрация: 22.10.2009
Сообщений: 24

Списки типа "ОЧЕРЕДЬ" - C++

05.04.2010, 21:02. Просмотров 1204. Ответов 5
Метки (Все метки)

Задание:
Создать однонаправленную очередь с числами в диапазоне от –50 до +50.
После создания очереди выполнить индивидуальное задание. В конце работы все
очереди должны быть удалены.

Удалить из очереди все элементы, расположенные до минимального
элемента очереди.

Программа работает чётко, только не могу разобраться, в главной функции main()
(помогите разобраться комментариями)

P.S.
Подскажите, что означает %100-50 в генераторе псевдослучайных чисел (inf=rand()%100-50; )

Прога:
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
#include <iostream.h>  
#include <stdlib.h> 
 
 
struct toch{     //создаём структуру
    int inf;  
    toch *a;
 } *sp,*spk; 
 
void AddOch(toch **sp,toch **spk, int inf)    //добавление элемента в очередь    
{  
    toch *spt=new toch; 
  spt->inf = inf; 
  spt->a = NULL; 
  if (*spk == NULL) 
   *sp=*spk=spt; 
    else 
  {   (*spk)->a = spt;    *spk = spt;   } 
  return; 
} 
 
 
toch *ReadOch(toch *spt, int &inf)      //чтение элемента с удалением 
 {  
    if(spt==NULL) 
    {
        cout<<"Ochered' pusta\n";
        return NULL ;
    }
    while(spt!=NULL) 
  { 
    inf= spt->inf; 
    cout<<inf<<"  "; 
     spt = spt->a; 
   } 
    cout<<endl;
 return spt; 
} 
 
 
void DelOchAll(toch **sp, toch **spk)     //удаление всей очереди 
{  
   toch *spt; 
  while(*sp != NULL) 
  { 
    spt = *sp; 
    *sp = (*sp)->a; 
   delete spt;  
  } 
 *spk=NULL; 
} 
 
 
 
void DelDoMin(toch **spn, toch **spk)    //удаление из очереди всех элементов, расположенных до min 
{
    toch *spd=*spn;
    toch *spmin,*spm;
 
    int min; 
    if(*spn==NULL)  return ;
      min=(*spn)->inf;
      spmin=*spn;
    while ((*spn)->a!=NULL)
      {
        if((*spn)->a->inf<min)
        {
            min=(*spn)->a->inf;
        spmin=(*spn)->a;
        }
    *spn=(*spn)->a;
    }
    cout<<"MIN: "<<min<<endl;
    *spn=spd;
while (*spn!=spmin)
{   
    spm=*spn;
    *spn=(*spn)->a;
    delete spm;
}
}
 
 
int main()
{
    sp=spk=NULL;
    toch *spt=NULL;
    int inf,n;  
    cout<<" Vvedite 4islo elementov"<<endl;
 cin>>n;
 for (int i=0;i<n;i++)       //создание очереди
 {
  inf=rand()%100-50;        //генерируем псевдослучайные числа(от -50 до 50)    
  AddOch(&sp,&spk,inf);
 }
cout<<"vvedennaja ochered':\n";
ReadOch(sp, inf); 
DelDoMin(&sp,&spk);
cout<<"New ochered':\n";
ReadOch(sp, inf); 
DelOchAll(&sp, &spk);
if(sp==NULL)
cout<<"Ochered' udalena\n";
return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru