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

Очередь на основе массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решить квадратное уравнение a*x^2+b*x+c=0 http://www.cyberforum.ru/cpp-beginners/thread297331.html
Даны три массива A,B,C: Решить квадратное уравнение a*x^2+b*x+c=0 ,где a,b,c-сумма квадратов элементов меньших чем сумма всех элементов в массивах A,B,C соответственно.
C++ Найти сумму элементов в тех столбцах,которые содержат хотя бы один отрицательный элемент Характеристикой столбца целочисленной матрицы назовём сумму модулей его отрицательных нечётных элементов.Переставляя столбцы заданной матрицы,расположить их в соответствии с ростом характеристик. ... http://www.cyberforum.ru/cpp-beginners/thread297330.html
C++ написание выражения
как записать выражение (Ац МОД2 Вц) и НЕ(Ац или Сц)? Через Ац,Вц,Сц обозначены целые части значения a,b,c, операции И,ИЛИ,МОД(сложение по модулю 2)-поразрядные.
C++ подскажите пжл кто такие операторы + - и *. Что они делают то
подскажите пжл кто такие операторы + - и *. Что они делают то
C++ календарь произвольного месяца http://www.cyberforum.ru/cpp-beginners/thread297301.html
помогите пожалуйста нужно написать программу,которая выводит календарь для заданного месяца то есть распечатывает в виде таблицы числа месяца с указанием названий дня недели.
C++ Подскажите в чем ошибка Не могу понять в чем ошибка #include <iostream> #include <math.h> #include <stdio.h> #include <conio.h> using namespace std; int A; подробнее

Показать сообщение отдельно
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114

Очередь на основе массива - C++

16.05.2011, 23:04. Просмотров 2514. Ответов 3
Метки (Все метки)

Сделал программу, которая создает очередь с помощью массива. Но работает она криво.Например, если ввести длину очереди 3 элемента, написать их, а затем удалить 2 из них, то все будет нормально, но если следом ввести еще элемент, то в очереди будет пустота. И только при повторном введении элемента он пропишется. Также иногда происходят и другие фейлы. Я думаю, что неправильно делаю цикл for. Помогите найти ошибку.

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
#include <iostream>
#include <conio.h>
#include <locale>
using namespace std;
 
void main()
{
    setlocale (LC_ALL, "Russian");
    int *queue;
    int tail,temp,head,x,y,n,i;
    tail=0;
    head=0;
 
    
 
    cout<<"Введите длину очереди: \n";
    cin>>n;
    queue= new int [n];
for(;;)
{
cout<<"\nДобавить или удалить элемент очереди?(нажмите 1, если добавить и 0 если удалить)\n";
cin>>y;
 
if(y==1)
{
    cout<<"\nВведите ваш элемент: ";
    cin>>x;
    
    
    queue[tail]=x;
    tail++;
    if(tail>n) tail=1;
    
    for(i=0; i<tail; i++)
        cout<<queue[i]<<" ";
}
 
if(y==0)
{
    queue[head]=x;
    head++;
if(head>n) head=1;
for(i=head; i<tail; i++)
        cout<<queue[i]<<" ";
}
}
 
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru