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

Дана очередь на n элементов - вывести в порядке возрастание элементы, которые кратны 2,3,5 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ostringstream out http://www.cyberforum.ru/cpp-beginners/thread904247.html
Что означат "ostringstream out;" ? и "out<<ans;" ?
C++ Вводится число от 1 до 15. Вывести данное число, записанное римскими цифрами Вводится число от 1 до 15. Вывести данное число, записанное римскими цифрами (I, II, III, IV, V, VI, …., XV);С++ плииииз! http://www.cyberforum.ru/cpp-beginners/thread904245.html
C++ чтобы каждое слово начиналось с большой буквы
Дано предложение на латинском языке.Превратить строку так, чтобы каждое слово начиналось с большой буквы
Дан текст, состоящий из предложений, разделяемых точками C++
Дан текст, состоящий из предложений, разделяемых точками. Нужно написать программу, производящую следующее форматирование: после каждой точки в конце предложения должен стоять хотя бы один пробел;...
C++ С Паскаля на С++ http://www.cyberforum.ru/cpp-beginners/thread904214.html
program Matrix25; var MAx,Sum,num,j,i,M,N:integer; a: array of integer; begin // Ввод данных writeln('Введите числа M (M<=10) и N (N<=10)'); read(M); readln(N); writeln('Введите по ',N,'...
C++ определить количество слов Дано предложение, определить количество слов в нем. подробнее

Показать сообщение отдельно
MarVaL
С++ Beginner
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
17.06.2013, 16:34
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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
class Queue {
public:
  class Bad_Size { };
  class Overflow { };
 
  Queue(int size);
  ~Queue();
 
  int dequeue();
  void enqueue(int d);
  void sort();
private:
  int *data;
  int end, top;
  int max_size;
};
 
Queue::Queue(int size) {
  if(size > 1000 || size < 0)
    throw Bad_Size();
  top = size - 1;
  end = size;
  max_size = size;
  data = new int[size];
}
 
Queue::~Queue() {
  delete[] data;
}
 
void Queue::sort() {
  for(int i = 0; i != max_size - 1; ++i) {
    for(int j = max_size - 1; j != i; --j) {
      if(data[i] > data[j]) {
        int temp = data[i];
        data[i] = data[j];
        data[j] = temp;
      }
    }
  }
}
 
void Queue::enqueue(int d) {
  if(end == 0)
    throw Overflow();
  --end;
  data[end] = d;
}
 
int Queue::dequeue() {
  int index = top;
  --top;
  return data[index];
}
 
int main() {
  setlocale(0, "");
  srand(time(0));
  
  std::cout << "Введите размер очереди: ";
  int size;
  std::cin >> size;
  
  Queue *queue = new Queue(size);
  
  std::cout << "Элементы очереди: " << std::endl;
  
  int counter = 0;
  
  for(int i = 0; i != size; ++i) {
    int x = 1 + rand () % 20;
    queue->enqueue(x);
    std::cout << counter << ". " << x << std::endl;
    ++counter;
  }
  
  std::cout << "\nЭлементы очереди кратные 2,3,5: " << std::endl;
  counter = 0;
  
  for(int j = 0; j != size; ++j) {
    int x = queue->dequeue();
    if(!(x % 2) || !(x % 3) || !(x % 5)) {
      ++counter;
      std::cout << counter << ". " << x << std::endl;
    }
  }
  
  delete queue;
  
  return 0;
}
Добавлено через 9 минут
Исправленный:
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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
class Queue {
public:
  class Bad_Size { };
  class Overflow { };
 
  Queue(int size);
  ~Queue();
 
  int dequeue();
  void enqueue(int d);
  void sort();
private:
  int *data;
  int end, top;
  int max_size;
};
 
Queue::Queue(int size) {
  if(size > 1000 || size < 0)
    throw Bad_Size();
  top = size - 1;
  end = size;
  max_size = size;
  data = new int[size];
}
 
Queue::~Queue() {
  delete[] data;
}
 
void Queue::sort() {
  for(int i = end; i != top; ++i) {
    for(int j = top; j != end; --j) {
      if(data[i] < data[j]) {
        int temp = data[i];
        data[i] = data[j];
        data[j] = temp;
      }
    }
  }
}
 
void Queue::enqueue(int d) {
  if(end == 0)
    throw Overflow();
  --end;
  data[end] = d;
}
 
int Queue::dequeue() {
  int index = top;
  --top;
  return data[index];
}
 
int main() {
  setlocale(0, "");
  srand(time(0));
  
  std::cout << "Введите размер очереди: ";
  int size;
  std::cin >> size;
  
  Queue *queue = new Queue(size);
  
  std::cout << "Элементы очереди: " << std::endl;
  
  int counter = 0;
  
  for(int i = 0; i != size; ++i) {
    int x = 1 + rand () % 20;
    queue->enqueue(x);
    ++counter;
    std::cout << counter << ". " << x << std::endl;
  }
 
  queue->sort();
  
  std::cout << "\nЭлементы очереди кратные 2,3,5: " << std::endl;
  counter = 0;
  
  for(int j = 0; j != size; ++j) {
    int x = queue->dequeue();
    if(!(x % 2) || !(x % 3) || !(x % 5)) {
      ++counter;
      std::cout << counter << ". " << x << std::endl;
    }
  }
  
  delete queue;
 
  std::cin.get();
  std::cin.get();
  return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru