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

Создание стека - код не компилируется - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибся в цикле for http://www.cyberforum.ru/cpp-beginners/thread1024517.html
Я хотел что бы программа выдала все числа от 0 до 9 включительно с шагом 0.1, программа не выдаёт ошибки но шаг делает всё равно 1. Где я ошибся? #include <iostream> using namespace std; int main(double argc, char *argv) { double n = 0; for(double i =0; i < 10; i + 0.1)
C++ после цикла while символьный массив обнуляется? Собственно сабж. Подскажите, в чем проблема int RemoveChar(char *_str, int _strt, int _amt) { int i = 0; #ifdef CHECKING while(*_str++) i++; <- После цикла массив пустой if(i < _amt) return -1; #endif for(i = 0; i < _amt; i++, _strt++) http://www.cyberforum.ru/cpp-beginners/thread1024494.html
C++ Написать функцию, которая рекурсивно вычисляет сумму чисел в заданном диапазоне
Написать функцию, которая рекурсивно вычисляет сумму чисел в заданном диапазоне.
Обработка матриц C++
Имеется код! void maxToArr(int ar,int matr, int nRow, int nCol){ int max=matr; for(int i=0;i<nRow;i++) for(int j=0; j<nCol; j++) if(max<matr){ max=matr; ar= max; }
C++ Обращение к элементам массива используя указатель http://www.cyberforum.ru/cpp-beginners/thread1024445.html
Необходимо написать программу, выделив под массив динамически память. Обращаться к элементам массива необходимо используя указатель. #include <iostream> void main() { setlocale(LC_ALL, "Russian" ); printf ("Задание: В одномерном массиве, состоящем из n целых элементов, вычислить: \nномер максимального элемента массива; произведение элементов массива, \nрасположенных между первым и вторым...
C++ Сортировка слиянием #include <iostream> #include <fstream> using namespace std; void Merge_Sort(int * a,int left, int right) { if (left < right) { int middle = (left + right)/2; подробнее

Показать сообщение отдельно
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,439
02.12.2013, 08:55  [ТС]     Создание стека - код не компилируется
косяк, это уже отсебячина. Писал код выброчно

Добавлено через 11 минут
другой вопрос:

C++
1
2
3
4
5
6
7
8
9
void push (Stek **top,int d)
{
Stek *pv=new Stek;
pv->d=d;
pv->p=*top;
*top=pv;
}
 ...
for (int i = 2; i < 6; i++) push (&top,i);
Процедура Push принимает в параметрах указатель на указатель **top. Но при вызове из главного тела программы push принимает параметр &top. Читал про "амперсанд", но то получается ссылка.

оригинал кода

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
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <iostream.h>
struct Stek
    {
    int d;
    Stek *p;
    };
 
Stek *first (int d)
{
Stek *pv=new Stek;
pv->d=d;
pv->p=0;
return pv;
}
int pop (Stek **top)
{
int tmp=(*top)->d;
Stek *pv=*top;
*top=(*top)->p;
delete pv;
return tmp;
}
void push (Stek **top,int d)
{
Stek *pv=new Stek;
pv->d=d;
pv->p=*top;
*top=pv;
}
void main()
{
Stek *top=first (1);
for (int i = 2; i < 6; i++) push (&top,i);
while (top) cout<<pop(&top)<<" ";
cin>>" ";
}
Добавлено через 8 минут
1. Процедура Push принимает в параметрах указатель на указатель **top. Но при вызове из главного тела программы push принимает параметр &top. Читал про "амперсанд", но то получается ссылка.
2. Также функция pop должна принимать указатель на указатель **top, но при вызове в параметре &top.
3. В цикле while top указывается без каких-либо знаков * &, как это понять. Ведь **top является указателем на указатель.
4. *top=(*top)->p; зачем тут скобки и здесь всего лишь одна звездочка. Снова непонятка
5. Указатель на указатель - зачем оно? Нельзя ли просто указатель? В чем суть?

Добавлено через 5 часов 50 минут
ап.

Добавлено через 7 часов 28 минут
ап.

Добавлено через 8 часов 18 минут
ап.
 
Текущее время: 13:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru