Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 45
1

Зацикливание при динамическим заполнении стека

22.03.2016, 21:59. Просмотров 388. Ответов 1
Метки нет (Все метки)


При выводе текущего состояния стека, во время его заполнения, происходит следующее (скриншот приложен), собственно, буду благодарна, если укажете на ошибку
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
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include "stack.h"
 
 
int main() {
    stack *head;
    int x, h;
    head= NULL;
    printf("vvedite stack");
    printf("\n");
    while ((_kbhit() == 0) && (_getch() != 27)) {
        scanf("%d", &x);
        head = iinput(x, head);
        printf("tekushee sostoyanie stacka:");
        act(head);
        printf("\n");
    }
    printf("okon4en vvod stacka");
    printf("\n");
    while ((_kbhit() == 0) && (_getch() != 27)) {
        printf("\n");
        printf("vvedite 4islo");
        printf("\n");
        scanf("%d", &h);
        if (find(h, head)) printf("prinadlejit");
        else printf("ne prinadlejit");
        printf("\n");
    }
    cclear(head);
    _getch();
}
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
#ifndef STACK_H
 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
struct list {
    int z;
    list *next;
};
typedef list stack;
 
void cclear(stack *head) {
    head = NULL;
}
 
bool check(stack *head) { //проверка, пуст ли стек
    if (head == NULL) return true; else return false;
}
 
stack *iinput(int x, stack *head) { //ввод элемента в стек
    stack *s;
    s = new list;
    s->z = x;
    s->next = head;
    head = s;
    return head;
}
 
int gget(stack *head) {
    stack *g;
    int x;
    x = head->z;
    g = head->next;
    head = NULL;
    head = g;
    return x;
}
 
bool find(int h, stack *head) { //поиск элемента в стеке
    int x; int c = 0;
    stack *s;
    s = NULL;
    while (!check(head)) {
        x = gget(head);
        s = iinput(x, s);
        if (x == h) {
            c = 1;
            break;
        }
    }
    while (!check(s)) {
        x = gget(s);
        head = iinput(x, head);
    }
    if (c == 1) return true;
    else return false;
}
 
void act(stack *head) { //вывод текущего состояния стека
    int x;
    stack *s;
    s = NULL;
    while (!check(head)) {
        x = gget(head);
        printf("%d", x);
        s = iinput(x, s);
    }
    while (!check(s)) {
        x = gget(s);
        head = iinput(x, head);
    }
}
 
#endif
0
Миниатюры
Зацикливание при динамическим заполнении стека  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2016, 21:59
Ответы с готовыми решениями:

Разработка стека, представленного динамическим массивом
Здравствуйте! Нужно разработать стек, представленный динамическим массивом хранимых объектов для...

Lock должен блокировать при заполнении - чтение и заполнение, а при чтении ничего
Доброго времени суток, проблема с блокировкой потоков lock. 1й поток в цикле заполняет коллекцию...

Ошибки при работе с динамическим массивом: неверный числовой формат при вводе
Выдаёт ошибку &quot;неверный числовой формат при вводе&quot; и &quot;попытка разыменовать нулевой указатель&quot;

Зацикливание при сравнении строк
Добрый вечер. У меня возникла проблема при сравнивании строк, после сравнивания происходит расчет...

1
0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 45
22.03.2016, 23:27  [ТС] 2
Забыла добавить, глобальные переменные нельзя использовать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2016, 23:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Зацикливание при работе с exe
Вот есть у меня программа, допустим 1.exe, я её запускай как @echo off echo Перетащите файл в...

Зацикливание при чтении файла
Привет всем. Помогите найти ошибку. Проблема в чтение файла. Выводит то, что ввели и потом идёт...

Зацикливание при вводе из файла
требуется ввести из файла в вектор данные типа float. программа зацикливается при выводе целой...

Зацикливание программы при вводе
Добрый день. У меня почему то происходит зацикливание программы при вводе строки с пробелами....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.