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

Реализовать с использованием массива очередь - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перестановка блоков матрицы http://www.cyberforum.ru/cpp-beginners/thread179534.html
1)Дано действительную квадратную матрицу порядка 2n. Получить новую матрицу, переставляя ее блоки розмером nxn рисунок и второе задание в txt документе
C++ курсовая работа Дан файл, содержащий сведения об учениках школы. Структура записи файла: фамилия и имя ученика, название класса. Записи в файле не упорядочены. Написать программу, которая печатает - в алфавитном порядке список учеников заданного класса. - информацию о количестве учеников в данном классе и в каждом из параллельных классов. http://www.cyberforum.ru/cpp-beginners/thread179532.html
C++ Школьная олимпиада по информатике
Учу 1ый год C++. Точнее 2 недели. Работать могу пока что только с условными операторами(if,while,for). Не могу решить эти задачи Задачи. Будем называть числа круглыми, если они содержат в своей записи только цифры 0 и 5. Составим последовательность круглых чисел в порядке возрастания: 0,5,50,55,500,505 и т.д. Написать программу, которая находит K-ое по порядку в этой последовательности...
C++ Вопросы начинающего
Здравствуйте в С++ я еще новичок, поэтому, если позволите то я задам несколько вопросов -class A: public B По-смыслу это значит что класс А должен унаследовать все pubic методы класса B, я прав? - Как создать дву(и более)мерный массив Предположу что массивы могут быть только одно и двумерные(максимум 3-мерные) из-за того что например непонятна структура 4 мерного массива
C++ нечетная строка располагается в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread179504.html
Очень нужна помощь, помогите пожалуйста - Решить задачу, используя функцию. Дана символьная матрица размера n*m. Преобразовать ее таким образом, чтобы элементы каждой нечетной строки расположились в обратном порядке. Новую матрицу не заводить. Матрицу написать не проблема...а вот с функцией туплю... Сделать нужно на С
C++ Удвоить значение элемента массива помогите...дан массив,если заданное число совпадает с каким то елементом ма ссива то тогда элемент удваивается #include <iostream> #include "conio.h" using namespace std; int main () { const n=5; подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
24.10.2010, 13:04     Реализовать с использованием массива очередь
Пожалуйста:
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
#include <stdio.h>
#include <assert.h>
 
#define MAXSIZ 10
 
typedef struct {
        int data[MAXSIZ];
        int top;
} queue_t;
 
void push(queue_t *q, int value) {
        assert(q != NULL);
 
        if(q->top == MAXSIZ) {
                fprintf(stderr, "queue overflow\n");
                return;
        }
 
        q->data[q->top++] = value;
}
 
void pop(queue_t *q) {
        int i = 0;
        assert(q != NULL);
 
        if(q->top == 0) {
                fprintf(stderr, "queue is empty\n");
                return;
        }
 
        for(i = 0; i < q->top && i < MAXSIZ; ++i)
                q->data[i] = q->data[i+1];
 
        --(q->top);
}
 
int back(queue_t *q) {
        assert(q != NULL);
 
        if(q->top == 0) {
                fprintf(stderr, "queue is empty\n");
                return 0;
        }
 
        return q->data[q->top - 1];
}
 
int front(queue_t *q) {
        assert(q != NULL);
 
        if(q->top == 0) {
                fprintf(stderr, "queue is empty\n");
                return 0;
        }
 
        return q->data[0];
}
 
int empty(queue_t *q) {
        assert(q != NULL);
        return q->top == 0;
}
 
int size(queue_t *q) {
        assert(q != NULL);
        return q->top;
}
 
void create(queue_t *q) {
        int i = 0;
        assert(q != NULL);
 
        q->top = 0;
        for(i = 0; i < MAXSIZ; ++i)
                q->data[i] = 0;
}
 
 
int main() 
{
        int i = 0;
        queue_t q;
 
        create(&q);
 
        for(i = 0; i < 10; ++i)
                push(&q, i + 1);
 
        while(!empty(&q)) {
                printf("%d -> ", front(&q));
                pop(&q);
        }
        printf("\b\b\b   \n");
 
        return 0;
}
 
Текущее время: 17:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru