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

Односвязные списки.Вставка элемента в заданную позицию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переделать в бинарное дерево http://www.cyberforum.ru/cpp-beginners/thread739333.html
#include <iostream> #include <conio.h> using namespace std; struct Node{ int info; Node* next; }; class Spisok { Node* top; int *a,*b,m;
C++ Найти компоненты связности Задание было найти связные подграфи заданого графа как я понимаю ето тоже самое что найти компоненты связности Нашел алгоритм но доделать програму не могу .Помогите. #include <iostream> #include <vector> #define MAXN 5 using namespace std; int n; http://www.cyberforum.ru/cpp-beginners/thread739326.html
Рекурсии(Вычислить значения по формуле) C++
1-x2/2!+x4/4!-x6/6!+..+(-1n)*x2n+1/(2n+1)! функция контроля cos x помогите пожалуйста хотя бы понять как делать, что то я совсем задания не понял
C++ Является ли матрица симетричной относительно главной диагонали?
Мне надо сделать проверку являеться ли мой массив симетричный относительно главной диагонали.. но я незнаю как задать условие. ведь с моим условием if(mas1==mas1) 3 елемента полюбому будут равняться другу другу(сама диагональ) for(i=0; i<3; i++) { for(j=0; j<3; j++) { { if(mas1==mas1)
C++ Вывести на экран все числа заданной последовательности, индексы которых есть простые числа. http://www.cyberforum.ru/cpp-beginners/thread739320.html
Вывести на экран все числа заданной последовательности, индексы которых есть простые числа. Определить в заданной последовательности целых чисел количество чисел, которые являются простыми числами.
C++ Нужно определить сумму элементов массива, расположенных до максимального значения. нужно определить сумму элементов массива, расположенных до максимального значения. подробнее

Показать сообщение отдельно
Alexem
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 35
20.12.2012, 04:52     Односвязные списки.Вставка элемента в заданную позицию
Здравствуйте, я столкнулся с такой проблемой точнее наверно с непониманием...короче говоря нужно в список добавить элемент по позиции
вот мой код:
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#pragma once
 
// Элемент данных
struct Element
{
    // Данные
    char data;
    // Адрес следующего элемента списка
    Element * Next;
};
 
// Односвязный список
class List
{
    // Адрес головного элемента списка
    Element * Head;
    // Количество элементов списка
    int Count;
 
public:
    // Конструктор
    List();
    // Деструктор
    ~List();
    // Добавление элемента в список
    // (Новый элемент становится головным)
    void Add(char data);
    void AddInsert(char data, int len,int index);
    
    // Удаление элемента списка
    // (Удаляется головной элемент)
    void Del();
    
    void DelAll();
        
    // Распечатка содержимого списка
    // (Распечатка начинается с головного элемента)
    void Print();
    
    // Получение количества элементов, находящихся в списке
    int GetCount();
};
//
#include <iostream>
#include "list.h"
List::List()
{
    // Изначально список пуст
    Head = NULL;
    Count = 0;
}
 
List::~List()
{
    // Вызов функции удаления
    DelAll();
}
 
int List::GetCount()
{
    // Возвращаем количество элементов
    return Count;
}
 
void List::Add(char data)
{
    // создание нового элемента
    Element * temp = new Element;
 
    // заполнение данными
    temp->data = data;
    // следующий элемент - головной элемент списка
    temp->Next = Head;
 
    // новый элемент становится головным элементом списка
    Head = temp;
 
    Count++;
}
 
void List::Insert(char data,int len,int index)
{
    Element * temp = new Element;
    temp->data = data;
    //Дальше не понимаю как писать
}
 
void List::Del()
{
    if(Head)
    {
        // запоминаем адрес головного элемента
        Element * temp = Head->Next;
        // перебрасываем голову на следующий элемент
        delete Head;
        // удаляем бывший головной элемент
        Head = temp;
        Count--;
    }
}
void List::DelAll()
{
    // Пока еще есть элементы
    while(Head != 0)
        // Удаляем элементы по одному
        Del();
}
 
void List::Print()
{
    // запоминаем адрес головного элемента
    Element * temp = Head;
    // Пока еще есть элементы
    while(temp != 0)
    {
        // Выводим данные
        cout << temp->data; // << " ";
        // Переходим на следующий элемент
        temp = temp->Next;
    }
 
    cout << endl;
}
//
#include <iostream>
#include "list.h"
using namespace std;
void main()
{
    // Создаем объект класса List
    List lst;
    int index=0;
    char a;
    // Тестовая строка
    char s[] = "Hello, World !!!\n";
    // Выводим строку
    cout << s << endl;
    // Определяем длину строки
    int len = strlen(s);
    // Загоняем строку в список
    for(int i = len-1; i >=0; i--)
        lst.Add(s[i]);
    lst.Print();
    cin>>a;
    cin>>index;
        lst.AddInsert(a,len,index);
    // Распечатываем содержимое списка
    lst.Print();
}
Как правильно реализовать функцию void List::Insert сколько не пробовал постоянно не правильно вот решил к Вам обратится может поможете?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru