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

Формирование стека - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посчитать сумму слагаемых http://www.cyberforum.ru/cpp-beginners/thread694720.html
написал код программы. MAIN #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> using namespace std;
C++ Робота с динамической памятью, проверка числа на простоту В динамическую память последовательно занести введенные с клавиатуры целые числа (признак завершения ввода - число ноль). Проверить все введенные числа и вытереть те из них, которые не являются простыми. Напечатать числа, которые остались. В программе создать и применить функцию, которая проверяет, является простым заданное натуральное число. http://www.cyberforum.ru/cpp-beginners/thread694712.html
C++ Не считывается символ конца строки
Доброго времени суток. У меня проблема в том, что дан файл f.txt, там написан текст в несколько строк, надо считать по 5 сиволов, заменить их и так далее до конца файла. Однако у меня не считывается символ конца строки, чтобы перейти на новую строку. Подскажите, в чем может быть проблема ifstream in("f.txt"); ofstream out("f1.txt"); char c; string s; while (in.peek()!=EOF) { int n=5;...
Метод не правильно выводит значения полей. Подскажите C++
День добрый, Киберфорум! Вобщем, суть в чем: есть класс студент, класс группа. В классе группа - поле - вектор студентов. Когда запускаю , ввожу данные студента, запихиваю в вектор и пытаюсь потом из вектора вывести инфу о студенте - не хочет правильно работать. Вот основной код ( то что используется) class student { string name;
C++ Макс кол-во различных символов(строки) http://www.cyberforum.ru/cpp-beginners/thread694703.html
Строка состоит из слов. За один просмотр символов строки найти все слова, содержащие наибольшее количество различных символов, и занести их в новую строку.
C++ Указатели в масивах Есть такая задача: поменять местами элементы матрицы A=(a), i=j=1,2,...,n по такому правилу: первый сделать последний, второй предпоследним и т. д. Решить задачу нужно двумя способами: при помощи индексации масивов и при помощи указателей. Первым способом решить получилось, а вот со вторым не понимаю, что делать. Помогите, пожалуйста, трансформировать код нужным образом. #include... подробнее

Показать сообщение отдельно
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 145

Формирование стека - C++

11.11.2012, 17:32. Просмотров 816. Ответов 8
Метки (Все метки)

Доброго дня.

Возникли следующие вопросы ,

C++
1
2
3
4
5
6
void push(stac **top ,int d){ // 1. Две ** означают указатель на динамическую переменную?
    stac *pv = new stac; 
    pv->d = d;
    pv->p = *top;               //  2.Данная строка "присваивает текущему элементу ссылку на предыдущий?"
    *top = pv;                    //  3.Что происходит в данной строчке ?
}
Весь код :

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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
struct stac{
    int d;
    stac *p;
};
 
 
stac * first(int d);
void push(stac **top,int d);
int pop(stac **top);
 
int main() {
    stac *top = first(1);
    for(int i =2 ;i<6;i++)push(&top,i);
    while(top){
        cout<<pop(&top) << ' ';
    }
    return 0;
}
 
stac *first(int d){
    stac *pv = new stac; //выделяем память
    pv->d = d; //присваиваем d
    pv->p =0;// след эл-та нет
    return pv; //возвращаем
}
 
void push(stac **top ,int d){
    stac *pv = new stac;
    pv->d = d;
    pv->p = *top;
    *top = pv;
}
 
int pop(stac **top){
    int temp = (*top)->d;
    stac *pv = *top;
    *top = (*top)->p;
    delete pv;
    return temp;
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru