Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.05.2010, 03:51   #1
kwns
 
Регистрация: 13.05.2010
Сообщений: 7
По умолчанию Стэки и очереди

Найти ошибку помогите пожалуйста

1.Необходимо создать очередь для целых (положительных и отрицательных) чисел.
2.Создать функции push и pop для ввода и вывода элементов очереди.
3.Ввести в очередь несколько чисел.
4.Вывести на экран 2 первых отрицательных числа очереди.

Последнее не получается
Если не трудно помогите разобраться. Заранее благодарен

Текст программы:

#include <stdio.h>
#include <conio.h>
#include <process.h>//для очистки экрана
#include <iostream.h>
#include <windows.h>// для поддержки русского

char* Rus(const char* text);
char bufRus[255];

struct STACK
{
int info;
STACK *Next;
};

STACK *head=NULL;
void push(STACK **); //Формирование стека
void pop(STACK *); //Вывод содержимого стека
void func(STACK *); //Выполнение задания (вывод на экран двух первых отрицательных чисел очереди)

void main (void)
{
int n, i;

while (1)
{
printf(Rus("\nФормирование стека - 1\n"));
printf(Rus("\nПросмотр - 2\n"));
printf(Rus("\nВыполнение задания - 3\n"));
printf(Rus("\nВыход - 0\n"));
fflush(stdin);
switch(n=getchar())
{
case '1':
system("cls"); //Формирование стека
printf(Rus("\n Введи количество элементов в стеке\n"));
scanf("%d", &n);
for(i=1; i<=n; i++)
push(&head);
system("pause");
system("cls");
break;

case '2'://Вывод содержимого стека
system("cls");
//Просмотр непустого стека
pop(head);
system("pause");
system("cls");
break;

case '3':
//Выполнение задания (вывод на экран двух первых отрицательных чисел очереди)
system("cls");
//Просмотр непустого стека
func(head);
system("pause");
system("cls");
break;

case '0': exit(0);

default:
printf(Rus("\nНет вида работы %c\n"),n);
break;

}
}
}



char* Rus(const char* text)
{
CharToOem(text,bufRus);
return bufRus;
}


//Формирование стека
void push(STACK **head)
{
//head - вершина стека
//t - текущий элемент
//Захват памяти под первый элемент
STACK* t=new STACK;
//t->info=rand()%100;
printf(Rus("\nВводи элемент стека\n\n"));
scanf("%d", &t->info);
t->Next=(*head); //Новый элемент указывает на головной
(*head)=t;//Новый элемент становится гооловным
}

void pop(STACK *h)
{
system("cls");
printf("\n\n");
puts(Rus("\n***Содержимая информация***\n"));
if(!h)
{
printf(Rus("\nСписок пуст\n\n"));
exit(0);}
do
{
printf(Rus("Текущее значение стэка =%d и находится по ардресу %p\n"),h->info,h);
h=h->Next; //вывод элемента и смещение по стеку
}
while(h); //пока не достигнут конец стека
}


void func(STACK *h)
{
system("cls");
printf("\n\n");
if(!h)
{
printf(Rus("\nСписок пуст\n\n"));
exit(0);
}
do
{
if ((h->info)<0)
{ for (int i=0; i<2; i++);
{
printf(Rus("Отрицательное значение очереди стэка =%d и находится по ардресу %p\n"),h->info,h);
}
}
else
h=h->Next;


}
while(h);
}

Последний раз редактировалось kwns; 26.05.2010 в 03:53.
kwns вне форума
Старый 26.05.2010, 04:13   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,519
По умолчанию

Во-первых - стек.
Во-вторых - один вопрос - 1 тема.
В-третьих - название не отражает сути вопроса. таких названий сотни на форуме.
В-четвертых - используйте тег [code]
Alar вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
очереди Nostalgia Помощь студентам 2 22.03.2010 17:48
проблемы в написании очереди $kyline Общие вопросы C/C++ 2 29.06.2009 15:57
Реализация очереди! Lazio Помощь студентам 2 08.04.2009 17:41