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

Массив из двух очередей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму положительных элементов столбцов в которых есть нулевой элемент http://www.cyberforum.ru/cpp-beginners/thread1077241.html
Найти сумму положительных элементов столбцов в которых есть нулевой элемент
C++ Как сделать больше цифр после запятой Есть консольная программа вычисляющая sqrt: #include <iostream> #include <cmath> using namespace std; int main() { setlocale(0, ""); double number, answer; cout << "Введите число: "; http://www.cyberforum.ru/cpp-beginners/thread1077164.html
Проверка записи на соответствие условию: правильная скобочная запись из круглых и квадратных скобок C++
Здравствуйте! Задача: проверка записи на соответствие условию: правильная скобочная запись из круглых и квадратных скобок, внутри квадратных - не менее двух пар скобок (любых) Грамматика:...
Что из себя представляет допустим поток ввода/вывода C++
Поясните пожалуйста что из себя представляет допустим поток ввода/вывода в С++ ? Это участок памяти который представляет собой что-то вроде буфера обмена или как ?
C++ Ввести массив в виде таблицы и переставить его элементы местами http://www.cyberforum.ru/cpp-beginners/thread1077063.html
То есть последний элемент в массиве становится предпоследним и тд... Вот я написал массив в виде таблицы (вывел макс. число). Что мне нужно сделать / изменить в коде программы чтобы элементы...
C++ В одномерном массиве четные элементы разделить на 2, нечетные умножить на 3 Люди помогите пожалуйста, не знаю как сделать программу. В одномерном массиве четные элементы разделить на 2,нечетные умножить на 3. подробнее

Показать сообщение отдельно
Ульяниус
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
24.01.2014, 14:21  [ТС]
Обязательно на Си и обязательно с использованием очереди, а на счет указателей, то не обязательно.
Звездочка. это тут опечатка моя.
На счет форматирования функций я не поняла...
А вот с ошибками. вручную набирать ооочень долго, я вам код выложу, скопируйте его и запустите, там вылезет куча ошибок...
И всетаки остается одна большущая проблема. как из структур сделать массив структур.
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
#include  <stdio.h>
#include  <conio.h>
#include <time.h>
#include  <stdlib.h>
#include <alloc.h>
#include <math.h>
#define ESC 27
typedef struct SPIS
{
 int data;
 struct SPIS *next; // гЄ*§*⥫м ** Ї®б«Ґ¤гойго бвагЄвгаг
} spis ;
void create (int n);//ᮧ¤**ЁҐ бЇЁбЄ*
void separation (spis *,
         spis **a,
         spis **b,
         int n);//а*§¤Ґ«Ґ*ЁҐ*/
void Mergesort(spis **a, spis **b);
spis *head, *tail;//гЄ*§*⥫м ** **з*«® Ё Є®*Ґж бЇЁбЄ*
 
void main ()
 {
  long n;//Є®«ЁзҐбвў® н«Ґ¬Ґ*в®ў ў бЇЁбЄҐ
  char key;
  spis *a,*b; //а*Ў®зЁҐ бЇЁбЄЁ
  head=NULL;
  tail=NULL;
  do
  {
   randomize();
   clrscr ();
   fflush(stdin);
   printf("\n ‚ўҐ¤ЁвҐ §**зҐ*ЁҐ n - Є®«ЁзҐбвў® н«Ґ¬Ґ*в®ў ¬*ббЁў*   ");
   scanf("%d",&n);
   create(n);
   separation (head,&a,&b,n);
   Mergesort (&a, &b);
 
 
   puts ("\n ‚ўҐбвЁ ¤агЈ®Ґ Є®«ЁзҐбвў® н«Ґ¬Ґ*в®ў ¬*ббЁў*? (ЌҐв=Esc)");
   key=getch();
  }
  while (key!=ESC);
 }
 
void create (int n)
{
 long i,sum=0;
 spis *p;
 int *mas;  //¬*ббЁў ¤«п д®а¬Ёа®ў**Ёп Ї®б«Ґ¤®ў*⥫м*®бвЁ зЁбҐ«
 mas=(int*)malloc(n*sizeof (int));
   for (i=0; i<n; i++)
    {
     mas[i]=random(100);
     sum+=mas[i]; //Ї®¤бзҐв Є®*ва®«м*®© б㬬л
    }
 for (i=0;i<n;++i)
 {
  p=(spis *)malloc(sizeof(spis));//ўл¤Ґ«пҐ¬ Ї*¬пвм ¤«п ЇҐаў®© §*ЇЁбЁ
  p->data=mas[i];
  p->next=NULL;
  if (head==NULL) //ᮧ¤*Ґ¬ ЇҐаўл© н«Ґ¬Ґ*в ®зҐаҐ¤Ё
  {
   head=p;//Ґб«Ё ®зҐаҐ¤м б®бв®Ёв Ё§ ®¤*®Ј® н«Ґ¬Ґ*в*, в® §**зҐ*Ёп гЄ*§*⥫Ґ©
   tail=p;//** ЇҐаўл© Ё Ї®б«Ґ¤*Ё© н«Ґ¬Ґ*вл б®ўЇ*¤*ов
  }
  else
  {
   tail->next=p;//*®ўл© н«Ґ¬Ґ*в ЇаЁб®Ґ¤Ё*пҐвбп Є Ї®б«Ґ¤*Ґ¬г н«Ґ¬Ґ*вг ®зҐаҐ¤Ё
   tail=p;//*®ўл© н«Ґ¬Ґ*в ®Ўкпў«пҐвбп Ї®б«Ґ¤*Ё¬
   }
  }
  free(mas);
}
 
 
 
void separation (spis *head,
         spis **a,
         spis **b,
         int n)
{
  spis *S;long i;
  S=head;
  *a=S;
  *b=S->next;
  n=0;
  while((*b)!=NULL)
  {
   ++n;
   (*a)->next=(*b)->next;
   *a=*b;
   *b=(*b)->next;
  }
 
}
 
void Mergesort (spis **a, spis **b)
{
 long i, //*®¬Ґа *ЄвЁў*®© ®зҐаҐ¤Ё
  n,//Є®«ЁзҐбвў® н«Ґ¬Ґ*в®ў ў бЇЁбЄҐ
  p,//ЇаҐ¤Ї®«*Ј*Ґ¬л© а*§¬Ґа бҐаЁЁ
  q,//д*ЄвЁзҐбЄЁ© а*§¬Ґа бҐаЁЁ ў бЇЁбЄҐ *
  r,//д*ЄвЁзҐбЄЁ© а*§¬Ґа бҐаЁЁ ў бЇЁбЄҐ b
  m;//⥪г饥 Є®«ЁзҐбвў® н«Ґ¬Ґ*в®ў ў бЇЁбЄ*е a Ё b
  char key;
  spis *S, *c0,*c1; //а*Ў®зЁҐ бЇЁбЄЁ
  p=1;
   while (p<n)
   {
    //Ё*ЁжЁ*«Ё§*жЁп ®зҐаҐ¤Ґ©
    c0->(*head)=NULL;
    c1->head=NULL;
 
    i=0;
    m=n;
    while (m>0)
    {
     if (m>=p)
      q=p;
     else
      q=m;
     m=m-r;
     //б«Ёп*ЁҐ
     i=1-i;
    }
   a=(*c0)->head;
   b=c1->head;
   p=2*p;
   }
   (c0->tail)->next=NULL;
   S=c0->head;
 
}
 
 
void init  (spis **c)
 {
    spis *C;
    C=*c;
    head=NULL;
    tail=NULL;
    head=C;
    tail=C;
 }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru