Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Найти позиции всех простых чисел! С клавиатуры вводится 20 простых чисел, найти позиции всех простых чисел! # include<iostream> using namespace std; int main() { int m,m1,vivod=0; for(int i=0;i<20;i++){ cin >> m; if (m<3) for(int k=2; k<=m/2;i++) if(m%k==0) m1=i;vivod++;} https://www.cyberforum.ru/ cpp-beginners/ thread434676.html C++ Написание программ
Всем привет. Прошу у вас помощи в написании программ на C++ Завтра зачёт и ни чего нету (вечная проблема студента-заочника) кто может помочь? задачи по сути не сложные для тех кто шарит... поможете? ) 1. Строки - В заданном тексте поменять местами каждые два соседних слова. 2. Файлы - Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся...
C++ Сравнение скорости https://www.cyberforum.ru/ cpp-beginners/ thread434669.html
вечер добрый. смотрел задачи на codeforces, и заметил, что 90% решений на с++ написано в таком стиле, код взят случайный - #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <queue> #define REP(AA,BB) for(int AA=0; AA<(BB); ++AA)
C++ Разделения программы сложения массивов на потоки Имеется программа сложения 2х массивов требуется разбить ее на потоки и замереть скорость их работы(Выполнения сложения) #include <vcl.h> #pragma hdrstop #include <iostream> #include <math.h> #include <stdio.h> //#include <stdlib.h> #include <time.h> https://www.cyberforum.ru/ cpp-beginners/ thread434664.html
C++ Создать класс выборки More размерности N
Создать класс выборки More размерности N. Предусмотреть функции для выполнения следующих операций: консольный ввод / вывод значений выборки, расчет среднего, дисперсии, размаха, среднеквадратичного отклонения. Разработать дружественную функцию для расчета критерия Кохрена (G = Smax /∑ Si). Надеюсь на вашу помошь! Вот информация для помощи ...
C++ Сортировка массивом https://www.cyberforum.ru/ cpp-beginners/ thread434625.html
Какой метод сортировки тут используется???? Можно ли как нибудь подстроить под метод подсчета??? #include "stdafx.h" #include <conio.h> #include <cstring> #include <cstdio> #include <iostream> using namespace std; const int N = 5;
C++ Файл. Потоки https://www.cyberforum.ru/ cpp-beginners/ thread434607.html
Здравствуйте, необходимо читать из файла числа, пользуясь потоками. Найдя максимальное число - затереть его пробелами. как мне быть?(не занося все числа в массив и не выводя заново массива в файл без макс. числа) Добавлено через 13 минут пока накидал только это, а вот как удалять - раз, два - не происходит вывод на экран перем. biggest, и КАК ПЕРЕМЕЩАТЬСЯ К СЛЕД. ЧИСЛУ В ФАЙЛЕ??int _tmain(int...
C++ Вопрос к "бывалым"
Есть задача - нужно создать программу обучения английскому языку. - На ней должна быть табличка,которую можно править и которая реагирует на события, некоторые кнопки, она должна без проблем работать с бинарными файлами и иметь возможность "уходить" в трей. Что знаю: С++ - консоль, классы на среднем уровне. Имею опыт работы с .Net v4.0, Visual Studio. Посоветуйте библиотеку, под которой...
C++ Помогите вписать куб в конус https://www.cyberforum.ru/ cpp-beginners/ thread434599.html
Ребят всем привет! Помогите вписать куб в конус,чтобы куб касался краёв конуса своими углами! #include <iostream.h> #include <conio.h> #include <graphics.h> #include <string.h> #include <math.h> // Класс "Фигура" (базовый Класс)
C++ Работа со строкой без библиотечных функций Дана строка типа "abc xyz dea" На выходе расположить слова в алфавитном порядке первых букв, т.е. "abc dea xyz" Не могу раскрутить алгоритм... https://www.cyberforum.ru/ cpp-beginners/ thread434596.html
C++ Компиляция на VS2010
Во вложенном архиве в папке src лежат исходники open source проекта. По каким-то причинам, в том числе показанным на скриншотах, не могу откомпилироваться ни на Visual Studio 2010, ни в Visual C++ 6. В папке doc лежит документация или тут: 17. The SWISSEPH DLLs. А в папке bin то, что должно получиться на выхлопе, но хотелось бы воспроизвести всё самому. Помогите выявить причину.
C++ Защита от некорректного ввода в меню/выборе размерности матрицы Здравствуйте, появилась проблема, сделал код, но не знаю как запилить защиту от некорректного ввода в выборе пункта меню и выборе размерности массива... Плюс ко всему, не знаю как сделать так, чтобы программа показывала, номер элемента массива который вводиться пользователем... Помогите пожалуйста! Очень нужно! #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <math.h>... https://www.cyberforum.ru/ cpp-beginners/ thread434574.html
2 / 2 / 0
Регистрация: 16.12.2010
Сообщений: 73
0

Добавление узла после заданного - C++ - Ответ 2423957

25.01.2012, 00:48. Показов 2715. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Вот код который нужно переделать под " добавление узла после заданного
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string>
#include <cstdlib>
using namespace std;
 
struct LIST {   // Создание структуры
int info;
LIST *next;
LIST *prev;
};
 
LIST *head;
int n1, n2;
 
void Initial() // Процедура создания узла
{
head = new LIST;
head->next=head;
head->prev=head;
}
 
int Empty()
{
if (head->next==head && head->prev==head)
return 1;
else
return 0;
}
 
LIST *SearchOnward(int num)
{
LIST *tmp=head->next;
while(tmp!=head && tmp->info!=num)
{
tmp=tmp->next;
n1+=1;
}
if (tmp!=head)
return tmp;
else
return NULL;
}
 
LIST *SearchBack(int num)
{
LIST *tmp=head->prev;
while(tmp!=head && tmp->info!=num)
{
tmp=tmp->prev;
n2+=1;
}
if (tmp!=head)
return tmp;
else
return NULL;
}
 
int Del(int num)
{
LIST *current=SearchOnward(num);
if (current!=NULL)
{
current->prev->next=current->next;
current->next->prev=current->prev;
delete current;
return 1;
}
return 0;
}
 
int AddAfter(int num, int point) // Добавление после выбранного узла
{
if (Empty()==1)
{
LIST *tmp=new LIST;
tmp->next=head;
tmp->prev=head;
tmp->info=num;
head->next=tmp;
head->prev=tmp;
return 1;
}
LIST *current=SearchOnward(point);
if (current!=NULL)
{
LIST *tmp=new LIST;
tmp->next=current->next;
tmp->prev=current;
tmp->info=num;
current->next->prev=tmp;
current->next=tmp;
return 1;
}
return 0;
}
 
 
void ShowOnward() // Процедура вывода в прямом направлении
{
LIST *tmp=head->next;
cout << endl << "В прямом направлении:" << endl;
while(tmp!=head)
{
cout << tmp->info << " ";
tmp=tmp->next;
}
cout << endl;
}
 
 
int main() // Главная программа
{
setlocale(LC_ALL,"Russian");
Initial();
int num, tmp, lost;
char otv, otv2;
do //                        выводим меню
{
cout <<endl<< "1. Добавление" << endl
<< "2. Вывод"<< endl
<< "0. Выход" << endl
<< "Выберите из меню: ";
cin >> otv;
switch(otv)
{
case '1':
cout << endl << "Введите элемент = ";
cin >> num;
if (Empty()==1)
{
AddAfter(num,0);
lost=num;
cout << endl << "Элемент добавлен" << endl;
}
else
{
cout << endl << "1. Добавить в конец списка" 
<< endl << "Выберите из меню: ";
cin >> otv2;
switch(otv2)
 
{
case '1':
tmp=lost;
lost=num;
if (AddAfter(num,tmp)==1)
 
cout << endl << "Элемент добавлен" << endl;
else
cout << endl << "Такого элемента не существует" << endl;
break;
default:
cout << endl << "Ошибка" << endl;
 
break;
}
 
}
break;
 
case '2':
if(Empty()==1)
cout << endl << "Список пуст" << endl;
else
{
cout << endl << "1. Обход в прямом напрвлении" << endl
<< "Выберите из меню: ";
cin >> otv2;
switch(otv2)
{
case '1':
ShowOnward();
break;
default:
cout << endl << "Ошибка" << endl;
break;
}
}
break;
 
case '0':
break;
default:
cout << endl << "Ошибка" << endl;
break;
}
 
}while(otv!='0');
cin.get();
 
}
А это добавление в конец списка..

Добавлено через 1 час 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
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class linklist
{
     private:
 
             struct node
         {
              int data;
            node *link;
         }*p;
 
   public:
 
             linklist();
         void append( int num );
         void add_as_first( int num );
         void addafter( int c, int num );
         void del( int num );
         void display();
         int count();
         ~linklist();
};
 
linklist::linklist()
{
     p=NULL;
}
 
void linklist::append(int num)
{
     node *q,*t;
 
   if( p == NULL )
   {
        p = new node;
      p->data = num;
      p->link = NULL;
   }
   else
   {
        q = p;
      while( q->link != NULL )
           q = q->link;
 
      t = new node;
      t->data = num;
      t->link = NULL;
      q->link = t;
   }
}
 
void linklist::add_as_first(int num)
{
     node *q;
 
   q = new node;
   q->data = num;
   q->link = p;
   p = q;
}
 
void linklist::addafter( int c, int num)
{
     node *q,*t;
   int i;
   for(i=0,q=p;i<c;i++)
   {
        q = q->link;
      if( q == NULL )
      {
           cout<<"\nThere are less than "<<c<<" elements.";
         return;
      }
   }
 
   t = new node;
   t->data = num;
   t->link = q->link;
   q->link = t;
}
 
void linklist::del( int num )
{
     node *q,*r;
   q = p;
   if( q->data == num )
   {
        p = q->link;
      delete q;
      return;
   }
 
   r = q;
   while( q!=NULL )
   {
        if( q->data == num )
      {
           r->link = q->link;
         delete q;
         return;
      }
 
      r = q;
      q = q->link;
   }
   cout<<"\nElement "<<num<<" not Found.";
}
 
void linklist::display()
{
     node *q;
   cout<<endl;
 
   for( q = p ; q != NULL ; q = q->link )
        cout<<endl<<q->data;
 
}
 
int linklist::count()
{
     node *q;
   int c=0;
   for( q=p ; q != NULL ; q = q->link )
        c++;
 
   return c;
}
 
linklist::~linklist()
{
     node *q;
   if( p == NULL )
        return;
 
   while( p != NULL )
   {
        q = p->link;
      delete p;
      p = q;
   }
}
 
int main()
{
     linklist ll;
   cout<<"No. of elements = "<<ll.count();
   ll.append(12);
   ll.append(13);
   ll.append(23);
   ll.append(43);
   ll.append(44);
   ll.append(50);
 
   ll.add_as_first(2);
   ll.add_as_first(1);
 
   ll.addafter(3,333);
   ll.addafter(6,666);
 
   ll.display();
   cout<<"\nNo. of elements = "<<ll.count();
 
   ll.del(333);
   ll.del(12);
   ll.del(98);
   cout<<"\nNo. of elements = "<<ll.count();
   return 0;
}


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

Линейный односвязный список: реализовать добавление элемента после узла с заданным ключом
Здравствуйте, кто может понять это задание добавление элемента после узла с заданным ключем...

Добавление узла и т.д. в B-tree
задача состоит в том, что программа должна добавлять узел в Б-дерево, искать узел Б и удалять...

Добавление узла перед заданным в односвязном списке
Вот такой код я нашел, но он похоже с ошибками, нету * как минимум. проставил их но тоже не помогло...

Организовать добавление узла в конец односвязного списка
1. Организовать ввод в однонаправленный список. Узел списка состоит из двух полей: целое число и...

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

Определение глубины (числа ветвей) непустого дерева от вершины до заданного узла
Подскажите пожалуйста. Никак не могу найти код нахождения глубины бинарного дерева от вершины до...

Добавление нового узла между последним и предпоследним узлами односвязного списка
Ребят, помогите с написанием программы, заранее спасибо)

Организовать новый список из различных элементов заданного, включив в информационную часть узла количество его вхождения в первоначальный список
Организовать новый список из различных элементов заданного, включив в информационную часть узла...

Добавление подстроки в строку после заданного символа + перевод с Tasm на intel
В общем, вот такое задание &quot;В исходную строку вставить после заданного символа все символы,...

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