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

Вывести содержимое очереди на экран двумя столбцами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объясните условие http://www.cyberforum.ru/cpp-beginners/thread392261.html
Имеются числа А1,А2,...,АN и B1,B2,...,BN. Составить из них N пар (Аi, Bj) таким образом, чтобы сумма произведений пар была максимальна (минимальна). Каждое Ai и Bj в парах встречаются ровно по одному разу. Что значит сумма произведений пар была
C++ анимация в C++ OOP - нужен совет по подходу Всем день добрый Получил вот такое задание по C++ Object Oriented Programming: 1. создать програму которая будет получать от юзера данне прямоугольника(верхний левый угол+ширина и высота) и буде рисовать его на экране 80x25 - это сделано :) 2.теперь хотят что-бы я создал анимацию движения прямоугольников по экрану в 2 версиях: первая - без столкновений. втарая - со... http://www.cyberforum.ru/cpp-beginners/thread392250.html
C++ оператор if
если А = 5 , то пишется if(A == 5) а если А от 5 до 7 включительно, как записать ?
Как лучше возвращать значение из операции-функции C++
В следующем коде при перегрузке оператора '+' функция возвращает ссылку на временный объект Point&operator+(int d) и Point&operator+(int d,Point&Z) но так же можно вернуть сам объект Point operator+(int d) и Point operator+(int d,Point&Z) работает и так и так. Как лучше? #include <iostream> using namespace std; // класс "точка" class Point
C++ Задача.Игра в числа http://www.cyberforum.ru/cpp-beginners/thread392229.html
Вася очень любит играть в числа. Для этой игры нужна колода из N различных целых чисел от 1 до N. Эдик(который тоже очень любит эту игру) только что достал новую колоду. Вася с первого взгляда определил, что в колоде недостает одного числа. Зная N (количество чисел, которое должно быть в колоде) и S (сумму имеющихся чисел), помогите Васе определить, какого именно числа недостает. В первой...
C++ Иконка Всем привет !! ПОдскажите плизз как можно ехе файлу твоей программы можно задать иконку какую ты хочешь ? подробнее

Показать сообщение отдельно
irina3456
1 / 1 / 0
Регистрация: 23.05.2011
Сообщений: 91
27.11.2011, 12:36  [ТС]     Вывести содержимое очереди на экран двумя столбцами
а если сделать так
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
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <iomanip>
 
using namespace std;
 
struct CH
{
  int k;
  CH *ptr;
};
 
void aadd_och( CH **, CH **);
void del_och ( CH **, CH **);
 
void main()
{
  CH *pbeg=NULL, *pend=NULL;
  char c;
  while(1)
  {
    setlocale(LC_ALL,"Rus"); // вывод русских букв
    cout << "\n\n1. Добавление элемента в очередь\n";
    cout << "2. Выборка элемента из очереди\n";
    cout << "3. Выход из программы\n";
    cout << "Ваш выбор:";
    cin >> c;
    switch(c)
    {
      case '1':
    aadd_och(&pbeg, &pend);
    break;
      case '2':
    del_och(&pbeg, &pend);
    break;
      case '3':
    return;
     }
   }
}
 
void aadd_och ( CH **pn, CH **pk)
{
  CH *r;
  int a[5][5];
  setlocale(LC_ALL,"Rus");
  cout<<"Ввод массива a:" << endl;
        for(int i=0;i<5;i++)
        {
          for(int j=0;j<5;j++)
            {
               setlocale(LC_ALL,"Rus");
               cout<<"Введите элемент массива a["<<i<<"]["<<j<<"]=";
               cin>>a[i][j];
            }
        }
  setlocale(LC_ALL,"Rus");
  cout<<"Исходный массив a:" << endl;
        for(int i=0;i<5;i++)
        {
                for(int j=0;j<5;j++)
                {
                        cout<<setw(5)<<a[i][j];
                }
                cout<<endl;
        } 
  
  // выделяем динамическую память
  r = new (CH);
  if ( r == NULL)
  {
    cerr << "Ошибка выделения динамической памяти\n";
    exit(1);
  }
  // заносим в дин. память введенное число
  // и нулевое значение адреса
  r->k = a[5][5];
  r->ptr = NULL;
 
  // определяем существуют ли очереди элементы
 
  if (*pn == NULL)
  {
    // очередь пустая
    // значит созданный элемент становится первым и последним
    *pn = r;
    *pk = r;
  }
  else
  {
    // в очереди есть элементы
    // добавляем элемент в конец
 
    (*pk)->ptr = r;
       // в адресное поле элемента, который был
       // последним занесл адрес вновь созданного эл-та
 
    *pk = r;  // вновь созданный элемент стал последним
         // в очереди
   }
}
 
void del_och ( CH **pn, CH **pk)
{
  CH *p;
  if (pn == NULL)
    cout << "Очередь пуста. Выбирать нечего.\n";
  else
  {
    p = *pn;
    cout << "Из очереди выбран эл-т = " << p->k << endl;
    *pn = p->ptr; // 2-ой элемент в очереди стал 1-ым
    delete p;      // удалили первый элемент из очереди
  }
}
только очередь уж очень странная получается

Добавлено через 15 минут
C++
1
2
3
4
5
struct CH
{
  int k;
  CH *ptr;
};
по порядку, это объявили класс CH, где к-место, куда помещается вводимое число, а что такое - CH *ptr; ???
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru