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

Реализовать АТД Очередь с помощью массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление динамической памяти http://www.cyberforum.ru/cpp-beginners/thread14767.html
В книгах по С++ я читал про утечку памяти. Я решил создать программу, в которой будет выделаться 1 Гб памяти и не удаляться. Будучи запущенной много раз, она так и не зависла. Для большей уверенности я поставил галочку release и запускал её не через F5, а через exe-файл. Получается, что в C++ есть сборщик мусора? P.S. Пользуюсь Visual Studio 2008.
C++ Какую и как использовать функцию, чтобы float сделать int? Какую и как использовать функцию, чтобы float сделать int? http://www.cyberforum.ru/cpp-beginners/thread14765.html
Проблемы работы с графикой (graphics.h) после апгрейда компа.. :( C++
Короче курсовая на носу. Писал заставку на тему баскетбол, ну типа там нарисовал площадку, мячик, и мячик прыгает с корзины в корзину... Все было прикольтно, пока не сделал абгрейд... Работаю в Turbo C++ ver 1.01. поменял комп короче полностю, постваил новую ось, поставил Си, и блин она работает, а как только касаеться работы с графикой, тупо закрываеться.. ну если в Си запустить через Contrl+F9...
C++ Помогите решить две простые задачи(перевод из десятичной с. с в двоичную и полное решение квадратного уравнения)
5.6Перевод из 10-й системы счисления в 2-ю 5.7Решение квадратного уравнения полное Добавлено через 2 минуты 14 секунд /************************************** Перевод из десятичной системы счисления в двоичную Автор: Muslimov Ildar Fanisovich Программа переводящая из десятичной системы в двоичную
C++ Определить, какое из чисел встречается в массиве чаще всего http://www.cyberforum.ru/cpp-beginners/thread14750.html
8. Элементы массива расположить в обратном порядке, не используя дополнительный массив. Написать программу, в которой исходный массив заполнить случайным образом элементами в пределах от 101 до 200. Вывести на экран элементы исходного и полученного массивов. 9. Написать фрагмент программы для определения, какое из чисел встречается в массиве чаще всего. 10. Написать рекурсивную функцию поиска...
C++ Динамический массив в С++: как поменять длину массива по ходу выполнения программы? Есть такая проблема: есть файл, в котором построчно записаны числа float (1 число - 1 строка). Количество чисел неизвестно. Как сделать так, т.е. какие операции надо объявить, чтоб программа читала всё следующее число и заносила его в массив, как то: FILE *op;//файл с неизвестным количеством чисел float float d; int i=0; ... while (!feof(op)) { fscanf(op, "%f",&d); подробнее

Показать сообщение отдельно
Daria
Сообщений: n/a

Реализовать АТД Очередь с помощью массива - C++

28.10.2008, 13:55. Просмотров 2267. Ответов 0
Метки (Все метки)

Всем привет!
у меня есть некоторые зарисовки, но никак не могу привести программу к концу.
Задание:
Реализовать АТД Очередь с помощью массива;
Используя эту реализацию, написать функцию,
которая за один проход по заданному целочисленному массиву
выводит на печать его элементы в следующем порядке: сначала все четные, потом – нечетные.
кусочек программы который у меня есть:
Код
#include <cstdlib>
#include <cstdio>
#include <iostream.h>
#include <windows.h>



template <class X>
class queue
{

	X *data;
	int size;
	int first;
	int free;
	

public:
	queue (int sz=100)
	{

		size=sz;
		data=new X [size];
		free=0;
		first=free-0;
	}
	~queue () {		delete [] data;	}
	bool empty()
	{
		
		return first==free;
	}
	int & front()
	{
		return data [first];
	}
	void equeue (X x)
	{ 
		data [free]=x;
		free++;
		if(free==size)
			free=0;
	}
	void dequeue()
	{
		first++;
		if (first==size)
			first=0;
	}
	//X qretrieve();
};


void printq  ( queue <int> & Q)
{
		while (!Q.empty () )
		{	
			cout << Q.front ();
			Q.dequeue ();
		}
		cout << endl;
}
void split ()
{
		queue <int> Q,R;
		int x;
		cin >> x;
		while ( x!=0 )
		{
			if ( x>0 && x%2==1 )
				Q.equeue (x);
			else if (x>0 && x%2==0)
				R.equeue (x);
			else if (x==-1)
				printq (Q);
			else if (x==-2)
				printq(R);
			else cout<<"invalid comand";
			cin >> x;
		}
}

int main(int argc, char* argv[])
{
	printf("Hello World!\n");

	//cout<<"Vvedyte spisok";

	queue<int>  a(5), b(5);

	a.equeue(5);
	a.equeue(2);
	b.equeue(1);
	b.equeue(4);

	 
	 
	printq(a);
	 printq(b);
	 printq(a);
	 printq(b);
		
	
	
	return 0;
}
Помогите, пожалуйста!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru