Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bordoboy363
2 / 2 / 0
Регистрация: 15.12.2014
Сообщений: 45
#1

Динамический список строк. Найти ошибку в коде - C++

09.06.2015, 17:44. Просмотров 229. Ответов 4
Метки нет (Все метки)

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
#include <iostream>
#include <list>     // подключаем заголовок списка // заголовок итераторов
#include <locale>
#include <string.h>
#include <stdio.h>
using namespace std;
 struct stroki {
     char stroka[50];
     stroki *next;
 };
 void Form ( stroki **begin, stroki B) {
*begin = new stroki ;
strcpy ((*begin)->stroka,B.stroka);
(*begin)->next = NULL;
stroki *end = *begin;
end->next = NULL;
 
 }
 void Print(stroki *b) {
    stroki *print = b;
    while (print)
    { 
      cout << print->stroka << "  ";
      print = print->next;
    }
 }
 
 
 //char func2 { // переписывание второй половины строки в другой список задом наперед (т.е. от конца к началу), удаление второй половины строки первого списка 
 //;}
 
 //int func3 { // сравнение первого и второго списка, если все символы попарно равны, исключая точку, то cout << "Текст симетричен";
 //;}
 
int main()
{
   setlocale (LC_ALL, "rus");
   stroki *begin = NULL;
   stroki *end = begin;
   stroki *B = new stroki  ;
   cout << "Введите текст произвольной длины: " ;
   cin >> B.stroka;
   Form ( &begin, B);
   Print(begin);
   
   
   system ("pause");
   return 0;
}
Ругается на cin >> B.stroka; В чем проблема? Я и раньше так делал, вроде работало.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2015, 17:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Динамический список строк. Найти ошибку в коде (C++):

Динамический массив - найти ошибку в коде - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;time.h&quot; #include &lt;iomanip&gt; using namespace std; const int n = 2; ...

Двумерный динамический массив - найти ошибку в коде - C++
Где ошибка? using namespace std; void VivodMass(int** &amp;M, int n) { for (int i = 0; i&lt;n; i++) { for (int j = 0; j&lt;n;...

Двумерный динамический массив - найти ошибку в коде - C++
пишу код: int **array; cout &lt;&lt; &quot;Size: &quot;; int n; cin &gt;&gt; n; array = new int ; понимаю что в синтаксисе ошибка, но сам разобраться...

Двумерный динамический массив - найти ошибку в коде - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class Matrix { private: int lenght; int width; int**...

Двумерный динамический массив - найти ошибку в коде - C++
Кто мне может объяснить почему не работает вариант, когда мы выносим весь процесс выделения памяти под двумерный массив и заполнение оного...

Список (найти ошибку в коде) - C++
Почему компилируется программа? Вот эта функция: List::node* seach(T el) { for(node* p = head-&gt;next; p != NULL; p = p-&gt;next) ...

4
daslex
1290 / 534 / 110
Регистрация: 02.08.2011
Сообщений: 2,756
09.06.2015, 17:56 #2
cin >> B->stroka;
1
Вениамин Шепард
24 / 10 / 4
Регистрация: 11.01.2014
Сообщений: 85
09.06.2015, 17:58 #3
B - это адрес на ваш класс, зачем вы это сделали, мне не понятно. Но если вы хотите перейти по адресу, то
C++
1
cin >> (*B).stroka;
или
C++
1
cin >> B->stroka;
1
bordoboy363
2 / 2 / 0
Регистрация: 15.12.2014
Сообщений: 45
09.06.2015, 18:11  [ТС] #4
Спасибо, заработало. Еще вопрос по поводу getline.
Если ввести getline (a,b) то переменной b присвоится значение переменной a, так?
Ну короче, как можно вывести символьный текст, чтобы считывались символы вместе с пробелами?
0
daslex
1290 / 534 / 110
Регистрация: 02.08.2011
Сообщений: 2,756
09.06.2015, 18:18 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
cin.getline( B->stroka,50); //50 - это Число символов в строке, такое же как в структуре
   Form ( &begin, *B);
Добавлено через 3 минуты
можно
C++
1
 gets(B->stroka); //без указания размера
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2015, 18:18
Привет! Вот еще темы с ответами:

Исправить ошибку в коде для сравнения строк - C++
что-то не получается вот с этим: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main () { setlocale...

Динамический массив (найти ошибку) - C++
Здравствуйте уважаемые знатоки!) В общем программирую я не так давно и взялся написать динамический массив на основе связанного списка....

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде) - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Найти ошибку в коде - C++
Скажите, пожалуйста, в чем у меня ошибка? Вот код #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;locale&gt; #include &lt;conio.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru