Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Динамически струтуры данных. Даны указатели P1 и P2 на вершины двух непустых стеков... https://www.cyberforum.ru/ cpp-beginners/ thread392123.html
Даны указатели P1 и P2 на вершины двух непустых стеков. Пе- ремещать элементы из первого стека во второй, пока значение вершины первого стека не станет четным (перемещенные элементы первого стека будут располагаться во втором стеке в порядке, обратном исходному). Ес- ли в первом стеке нет элементов с четными значениями, то переместить из первого стека во второй все элементы. Вывести адреса...
C++ сочетания оператора цикла и условного оператора
Известна оценка каждого ученика по физике, посчитать сколько пятерок, количество человек в классе, четверок, трояк, и двоек..
C++ задачи https://www.cyberforum.ru/ cpp-beginners/ thread392091.html
здравствуйте если не трудно помогу с программами =) 1.Если дано трехзначное число, например 123 его можно представить в виде 3+2*10+1*10*10. Воспользовавшись этой информацией, создайте программу, которая, получая от пользователя трехзначное число, будет определять из каких цифр оно состоит, и выводить их через пробел (например, 1_2_3). 2.Даны положительные действительные числа a,b,c,d....
C++ RB tree удаление узла Народ, подсткажите рекурсивный алгоритм удаления узла RB tree, или где найти можно... второй день в гугле сижу, видимо руки не от туда растут, ни чего нормального найти не могу...:wall: Добавлено через 1 час 29 минут Эхэй, есть кто прошареный?!;) https://www.cyberforum.ru/ cpp-beginners/ thread392090.html
Метод Монте-Карло, Теория Массового Обслуживания C++
Необходимо сделать курсовую работу по ТМО, условие следующее: В комнате общежития четыре студента: отличник, спортсмен, турист, программист. К ним в различное время суток проходят друзья, которые проводят в комнате некоторое время. Программист решил провести статистическое исследование для того, чтобы определить долю времени, когда в комнате нет гостей, и чему будет равна эта величина после...
C++ Минимальный массив элемента Как в массиве из 20 элементов найти минимальный элемент. https://www.cyberforum.ru/ cpp-beginners/ thread392076.html
C++ Описать процедуру AddLeftDigit(D, K), добавляющую к целому по- ложительному числу K слева цифру D Описать процедуру AddLeftDigit(D, K), добавляющую к целому по- ложительному числу K слева цифру D (D — входной параметр целого типа, лежащий в диапазоне 1–9, K — параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры после- довательно добавить к данному числу K слева данные цифры D1 и D2, выводя результат каждого добавления. https://www.cyberforum.ru/ cpp-beginners/ thread392054.html Последовательность C++
Последовательность Дано целое число N и набор из N целых чисел. Вывести в том же порядке номера всех нечетных чисел из данного набора и количество K таких чисел. Добавлено через 6 часов 11 минут Актуально
C++ Метод Адамса - исправить ошибки в коде программы 3 ошибки, тот кто шарит, помогите исправить) #include <math.h> #include <stdio.h> const float a=0,b=2; // bounds of the interval const int num_points=10, // number of points to solve num_starting_points=4; // number of points to solve with Runge-Kutta method float x0=0,y0=1; // starting conditions float f(float x, float y) { ... https://www.cyberforum.ru/ cpp-beginners/ thread392052.html C++ Наибольший общий делитель Описать рекурсивную функцию NOD(A, B) целого типа, находящую наибольший общий делитель (НОД) двух целых положительных чисел A и B, используя алгоритм Евклида: НОД(A, B) = НОД(B, A mod B), если B 6= 0; НОД(A, 0) = A. С помощью этой функции найти НОД(A, B), НОД(A, C), НОД(A,D), если даны числа A, B, C, D. Добавлено через 6 часов 24 минуты Актуально https://www.cyberforum.ru/ cpp-beginners/ thread392046.html
Сложность абстракции, полиморфизм, дублирование и другие C++
//структура "матрица" //Представляет собой обёртку над двухмерным массивом template<typename TypeT, int _SizeX, int _sizeY> struct Array2D { Array2D() { for(int y = 0; y < _sizeY; ++y) { for(int x = 0; x < _SizeX; ++x)
C++ Перестановка элементов по заданному правилу Даны массив А размерности N*M и массив В размерности М.Элементы первого столбца массива А упорядочены по невозрастанию.Включить массив В в качестве новой строки в массив А с сохранением упорядоченности. Заранее спасибо. https://www.cyberforum.ru/ cpp-beginners/ thread392038.html
1 / 1 / 3
Регистрация: 04.11.2010
Сообщений: 85
0

Неправильно удаляются элементы стека - C++ - Ответ 2214204

26.11.2011, 11:18. Показов 392. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Вопрос в теме. Делаю на Visual Studio
Не могу понять в чем дело

Вводит нормально (число элем=3)
a b c
Удаляет и выводит не верно
с с а
Функция PrintStack вообще не работает
Вот код
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
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
 
struct Stack{
char *data;//данные
Stack *prev;//предыдущии элемент
}
;
 
Stack* first(char *data){
Stack *st=new Stack;
st->data=data;
st->prev=0;
cout<<st->data<<" ";
return st;
}
void Push(Stack **stack, char*data){
 
Stack *st=new Stack;
st->data=data;
char val=*st->data; 
cout<<val<<" ";
st->prev=*stack;
*stack=st;
 
}
char* Pop(Stack** stack){
 
char* temp = (*stack)->data;
Stack *st = *stack;
*stack=(*stack)->prev; 
 
delete st; 
//cout<<"Удалено значение";
 
return temp; 
}
void PrintStack(Stack* stack){
    Stack *st = stack;
    cout<<"show   ";
    while (st!=NULL){
    cout<<st->data<<" ";
    st=st->prev;
    }
 
 
 
}
int main(){setlocale(0,"rus");
    int j=0,n;
    char t,*p,q,w,r;
    cout<<"Введите число элементов стека\n";
    cin>>n;
    
    cout<<"Заполняем стек\n";
    
    Stack *top=first("a");
    for (int i=2;i<=n;i++){
        t='a'+i-1;
 
  Push(&top,&t);
 
} 
    cout<<"\n";
    while(j<n){
        cout<<*Pop(&top)<<" ";
    
    j++;
    }
    cout<<"\n";
    PrintStack(top);
getch();
return 0;
}
пОдскажите пожалуйста, в чем дело.

Вернуться к обсуждению:
Неправильно удаляются элементы стека C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2011, 11:18
Готовые ответы и решения:

Почему неправильно удаляются слова?
Добрый вечер/день всем. Есть такая задача - &quot;Удалить из строки все повторяющиеся слова&quot;. Решаю её...

с++ стек (не удаляются элементы)
не удаляются элементы из стека. если кто увидит, где ошибка, скорее всего логическая, подскажите...

Не удаляются одинаковые элементы списка
Добрый вечер. Моя задача основана на связных списках. Не работает только функция удаления...

однонаправленный список: элементы добавляются и удаляются с начала, просматриваются с конца списка
Вот друзья задание: Реализовать алгоритм работы с динамической структурой данных – однонаправленный...

0
26.11.2011, 11:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2011, 11:18
Помогаю со студенческими работами здесь

Как задать элементы стека?
Воспользовался библиотекой #include &lt;stack&gt; Знаю, что если функции, которые добавляют, удаляют и...

Элементы стека записать в массив
Собственно реализуя код ниже, массив мне выводит число &quot;42001895432&quot;. В стек ввожу числа от 1 до...

Отсортировать элементы стека по возрастанию
Здравствуйте) Помогите пожалуйста разобраться с задачей. Я недавно начала программировать(1 курс),...

Вывести элементы стека кратные 3
Получилось только просто сделать классический стек. #include &lt;iostream&gt; using namespace std; ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru