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

Очередь на основе массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Операции с динамическим двумерным массивом http://www.cyberforum.ru/cpp-beginners/thread878897.html
Добрый день, мне нужно Сформировать динамический двумерный массив, заполнить его случайными числа-ми и вывести на экран монитора, а затем Добавить строку в начало матрицы. И причем в коде нельзя использовать индексацию, то есть нужно чтобы массив и добавление строки были оформлены через указатели, realloc или что-то в этом роде, вот мой код, но он сделан с помощью индексации, а как по другому я...
C++ Как добавить элементы в конец, начало, середину list? list<int> m; http://www.cyberforum.ru/cpp-beginners/thread878894.html
Найти квадрат суммы цифр двуцифрового натурального числа C++
Найти квадрат суммы цифр двуцифрового натурального числа?
Написать программу удаления заданного числового значения из массива объединений C++
Написать программу удаления заданного числового значения из массива объединений. Я представляю что такое объединения, но не знаю как выглядят массивы объединений. Как обычные массивы, только с названиями объединений? И какой тогда у них тип данных? помогите разобраться
C++ Сортировка списка по ключю http://www.cyberforum.ru/cpp-beginners/thread878864.html
Вводится список вида char name; char sname; char rname; float bal1; float bal2; float bal3; float bal4;
C++ Количество игрушек Помогите пожалуйста! Задано количество видов игрушек в магазине, количество игрушек каждого вида и стоимость игрушки каждого вида. Определить количество игрушек, стоимость которых меньше 50 грн. Входные данные В первой строке задано количество наличных в прейскуранте видов игрушек n (0 ≤ n ≤ 1000). В следующих n строках задано по 2 числа через пробел: сначала количество игрушек a (0 ≤ a... подробнее

Показать сообщение отдельно
kyzavr
 Аватар для kyzavr
2 / 2 / 0
Регистрация: 22.05.2013
Сообщений: 123
26.05.2013, 23:41     Очередь на основе массива
Есть код) помогите переделать его под очередь на основе массива =)
еще кто знает как перенести функцию вывода print() в дружественную функцию класса так как сказали мне что тип нельзя сделать как метод класса вывод очереди
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
#include <stdlib.h>
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <locale.h>
#include <windows.h>
const int NotUsed = system("color F0");
using namespace std;
struct tovar
{ 
 int koll;
 double prise;
 tovar* next;
};
 
class cklad
{
public:
      tovar* begin;
      int bkoll;
      double bprise;
 
cklad(){begin=NULL;}
~cklad(){while(begin)take();}
void add()
      {
        tovar* temp= new tovar,*temp1=begin;
        cout<<"Ââåäèòå êîëè÷åñòâî òîâГ*Г°Г*"<<endl;  
        cin>>temp->koll; 
        cout<<"Ââåäèòå öåГ*Гі òîâГ*Г°Г* "<<endl;
        cin>>temp->prise; 
        temp->next=NULL;
        if(begin)
        {
          while(temp1->next)temp1=temp1->next;
          temp1->next=temp;
        }
        else begin=temp;
      }
void print()
      {
       tovar* temp=begin;
       if(begin)
       {
        cout<<" Êîëè÷åñòâî òîâГ*Г°Г* = "<<temp->koll<<" ГЏГ® öåГ*ГҐ = "<<temp->prise<<endl;
        temp=temp->next;
        while(temp)
        {
          cout<<" Êîëè÷åñòâî òîâГ*Г°Г* = "<<temp->koll<<" ГЏГ® öåГ*ГҐ = "<<temp->prise<<endl;
          temp=temp->next;
        }
        cout<<endl;
       }
       else cout<<"                      ";cout<< "ÑêëГ*Г¤ ГЇГіГ±ГІ"<<endl;  
      }
tovar take()
      {
      
       if(begin)
         {
           tovar* temp,temp1;
           temp=begin;
           temp1=*temp;
           free(temp);
           begin=begin->next;
           
           return temp1;
         }
       else cout<<"                     ";cout<<"ÑêëГ*Г¤ ГЇГіГ±ГІ"<<endl;
       tovar temp1;
       temp1.koll=0;
       return temp1;
      }
 
   
};
void SetColor(int text, int background)
{
        HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
int main()
{
    HWND hwnd;       
    char Title[1024];
    GetConsoleTitle(Title, 1024); // ÓçГ*Г*ГҐГ¬ èìÿ îêГ*Г*
    hwnd=FindWindow(NULL, Title); // ÓçГ*Г*ГҐГ¬ hwnd îêГ*Г*
    MoveWindow(hwnd,300,100,1000,800,TRUE);//xnew,ynew,wnew,hnew -Г*îâûå ïîëîæåГ*ГЁГҐ x,y, øèðèГ*Г* ГЁ âûñîòГ*
setlocale(LC_ALL,"RUS");
int i,fl=1,koll,kolll;
double summ;
cklad cklad1;
struct tovar btovar;
btovar.koll=0;btovar.prise=0;
tovar temp;
while(fl)
 {
    
    cout<<"\n                       ";SetColor(0,7);cout<<" Г€Г*òåðôåéñ "<<endl;SetColor(0,15);
    cout<<"                    ";cout<<"1 äîáГ*ГўГЁГІГј òîâГ*Г°"<<endl;
    cout<<"                    ";cout<<"2 ÏðîäГ*ГІГј òîâГ*Г°"<<endl;
    cout<<"                    ";cout<<"3 Âûâåñòè ñîñòîÿГ*ГЁГҐ Г±ГЄГ«Г*Г¤Г*"<<endl;
    cout<<"                    ";cout<<"0 âûõîä"<<endl;
    cin>>i;
    system("cls");
    if(i==0){fl--;}
    if(i==1){cklad1.add();}
    if(i==2)
    {   summ=0;
        SetColor(0,7);printf("\n Ñêîëüêî ïðîäГ*ГІГј òîâГ*Г°Г*: ");SetColor(0,15);
        scanf("%d",&koll);
        while (koll!=0)
        {
          if(btovar.koll==0)btovar=cklad1.take();
          if(btovar.koll==0){SetColor(3,15);printf("Ãðóñòü ГЇГҐГ·Г*ëü Г*åõâГ*ГІГ*ГҐГІ %d òîâГ*Г°Г*",koll);SetColor(0,15);koll=0;}
          else
          if(btovar.koll>=koll&&koll)
          {
          printf("\n ГЊГ» ïðîäГ*ГҐГ¬ %d òîâГ*Г°Г* ГЇГ® öåГ*ГҐ %lf $ Г*Г* ñóììó=%lf $ \n",koll,btovar.prise,koll*btovar.prise);
          summ+=koll*btovar.prise;
          btovar.koll-=koll;
          koll=0;
            }
            else
            {
            koll-=btovar.koll;
            kolll=btovar.koll;btovar.koll=0;
            printf("\n ГЊГ» ïðîäГ*ГҐГ¬ %d òîâГ*Г°Г* ГЇГ® öåГ*ГҐ %lf $ Г*Г* ñóììó=%lf $ \n",kolll,btovar.prise,kolll*btovar.prise);            
            summ+=kolll*btovar.prise;
            }
           
      }
      SetColor(0,7);printf("\n ГЌГ*  Г®ГЎГ№ГѕГѕ ñóììó=%lf $\n",summ);SetColor(0,15);
    }
 
    if(i==3)
    {
    cout<<" >Гў ðåçåðâå< Êîëè÷åñòâî òîâГ*Г°Г* = "<<btovar.koll<<" ГЏГ® öåГ*ГҐ = "<<btovar.prise<<endl;
    cklad1.print();
    }
 
      
       
 }
    return 0;
}

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