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

C-style Linked List - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задана строка, начальная и конечная позиции подстроки http://www.cyberforum.ru/cpp-beginners/thread828055.html
привет всем! Задана строка, начальная и конечная позиции подстроки. Выделить подстроку. прога должна работать в ассемблере
C++ Вычислить n член F(n) последовательности Фибоначчи привет всем! Вычислите n-й член F(n) последовательности Фибоначчи. В этой последовательности первые два члена равны 1, а каждый последующий равен сумме двух предыдущих http://www.cyberforum.ru/cpp-beginners/thread828052.html
Сортировка структур по дате C++
Дан массив записей, содержащих дату (число, месяц год) и время (часы минуты секунды) упорядочить массив в порядке возрастания!
Проблемы со списком, в чем ошибка? C++
Итак, изучал я, значит, C style lists (не знаю, как будет по-русски) и столкнулся с такой проблемой: надо его заполнить. Вроде все просто, написал следующий код: #ifndef ST_H #define ST_H //st.h template <typename T> class st{ public: st(T n);
C++ выполнение поиска максимального и минимального элементов массива http://www.cyberforum.ru/cpp-beginners/thread828043.html
добрый вечер! Задано число. Вычислить максимальный показатель, с которым степень этого числа по длине не превысит слова (прога должна работать на ассемблере,платформа винды 64х разрядная)
C++ Длинная арифметика class BigInt { static const int max_size = 100000;//количество десятичных разрядов, которые должно вмещать static const int osn = 10000;//Основание - {0,1,....,9999} int len_osn;//длинная в чарах нашего основания int dig_size;//истинный размер в интах = max_size/len_osn int *digits;//массив разрядов по основанию osn public: подробнее

Показать сообщение отдельно
MastAKK
 Аватар для MastAKK
143 / 134 / 12
Регистрация: 13.10.2012
Сообщений: 585
Записей в блоге: 1
04.04.2013, 16:54     C-style Linked List
Итак, изучал я, значит, C-style Linked List (не знаю, как будет по-русски) и столкнулся с такой проблемой: надо его заполнить. Вроде все просто, написал следующий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef ST_H
#define ST_H
 
//st.h
 
template <typename T>
class st{
public:
    st(T n);
    T a;
    st<T>* next;
};
 
template <typename T>
st<T>::st(T n){//конструктор
    a = n;
}
 
#endif // ST_H
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
//main.cpp
#include <iostream>
 
#include "include\st.h"
 
using namespace std;
 
void enter(st<int>* h){ //ввод
    int i;
    cin >> i;
    h = new st<int>(i); //указываем голове значение
    st<int>* c = h; //создаем собственно сам "бегающий" указатель на элемент списка, с которым работаем
    cin >> i;
    while(i != 0){ //0 - конец ввода
        c = new st<int>(i); //добавляем в список новое значение
        c = c->next; //перескакиваем на следующий элемент
        cin >> i; //ещё раз вводим
    }
    cout << h->next->a;//дебаговый вывод, тут-то он и выводит непонятные числа
}
 
int main(){
    st<int>* h; //указатель на голову
    enter(h); //вызываем ввод
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru