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

Очереди на С - C++

Восстановить пароль Регистрация
 
dezmonds
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 3
03.11.2010, 10:28     Очереди на С #1
Дано натуральное число n, целые числа а1 ., an. Нужно вычислить последовательность,x1,y1,x2,y2,...,xk,yk, где x1,...,xm - взятые в порядке следования парных членов последовательности a1,...,an a y1,...yl - не парные члены, k=min(m,l).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.11.2010, 10:49     Очереди на С #2
Не понял задачу, переведи.
dezmonds
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 3
03.11.2010, 10:55  [ТС]     Очереди на С #3
Нужно построить две очереди, одна из которых будет состоять из парных элементов, а вторая из непарных.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.11.2010, 10:58     Очереди на С #4
А что такое "парный элемент"?
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
03.11.2010, 11:11     Очереди на С #5
парный - это четный, в переводе с украинского
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.11.2010, 11:40     Очереди на С #6
Теперь понятно.
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
class TList // Имя класса исправь сам
{
 protected:
  int *Data;
  int Count;
 public:
  TList ()
  {
   Count=0;
   Data=NULL; 
  }
  ~TList ()
   {
     if (Data)
     {
       delete [] Data;
     }
   }
  void Write(int x)
  {
   int *Buffer;
   int i;
   ++Count;
   Buffer=new int [Count];
   for (i=Count-1; i>0; --i)
   {
     Buffer[i]=Data[i-1];
   }
   Buffer[0]=x;
   if (Data)
   {
    Delete [] Data;
   }
   Data=Buffer;
  }
  bool Red(int &x)
  {
   int *Buffer;
   int i;
   --Count;
   x=Data[0];
   Buffer=new int [Count];
   for (i=Count-1; i>0; --i)
   {
     Buffer[i-1]=Data[i];
   }
   if (Data)
   {
    Delete [] Data;
   }
   Data=Buffer;
   return Count>0;
  }
  operator int ()
  {
    return Count;
  }
};
TList a;
TList x;
TList y;
bool f;
int temp;
int m;
int l;
int k;
int min(int a, int b)
{
 if (a<b)
 {
  return a;
 }
 return b;
}
do
{
 f=a.Read(temp);
 y.Write(temp);
 if (f)
 {
  f=a.Read(temp);
  x.Write(temp);
 }
} while (f);
m=x;
l=y;
k=min(m,l);
dezmonds
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 3
03.11.2010, 12:36  [ТС]     Очереди на С #7
Спасиб большое!

Добавлено через 49 минут
Еще, если не тяжело можеш написать полный програмный код?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2010, 05:21     Очереди на С
Еще ссылки по теме:

Очереди в С++ C++
C++ править код (создание очереди и удаление элемента очереди по усмотрению пользователя)
Очереди (С++) C++

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
04.11.2010, 05:21     Очереди на С #8
я перепутал очереди со стеками.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool Red(int &x)
  {
   int *Buffer;
   int i;
   --Count;
   x=Data[Count];
   Buffer=new int [Count];
   for (i=Count-1; i>=0; --i)
   {
     Buffer[i]=Data[i];
   }
   if (Data)
   {
    Delete [] Data;
   }
   Data=Buffer;
   return Count>0;
  }
Yandex
Объявления
04.11.2010, 05:21     Очереди на С
Ответ Создать тему
Опции темы

Текущее время: 09:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru