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

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

Войти
Регистрация
Восстановить пароль
 
Tattoquardas
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 21
#1

Добавить в элементы список и вывести их на экран - C++

22.09.2012, 20:37. Просмотров 1228. Ответов 7
Метки нет (Все метки)

написала программу, которая добавляет в список элементы и должна их выводить на экран. функция, которая должна их выводить не работает. подскажите, в чем ошибка?

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
#include <iostream>
 
using namespace std;
 
struct list
            {
            int data;
            list *next;
            };
            
list *add (list *head)
 
{
if (head!=NULL)
{
   list *temp=head;
   while (temp->next!=NULL)
   {
            temp=temp->next;
    }
    cout<<"Enter the elements: "<<endl;
    temp->next=new list;
    cin>>temp->next->data;
    temp->next->next=NULL;
    return head;
 }
else
{
head=new list;
cout<<"Enter the elements: "<<endl;
cin >> head->data;
head->next=NULL;
return head;
};
};
     
list *printt(list *head) {
     list *newhead=head;
     while (head!=NULL){
           cout<<head->data<<endl;
           head=head->next;
           };
     return newhead;
};
     
int main() {
     list *head=NULL;
     int n;
     cin>>n;
     int i=0;
     while (i!=n) {
           add(head);
           i++;
           };
    printt(head);
     system("pause");
     return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2012, 20:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавить в элементы список и вывести их на экран (C++):

Записать числа в список; вывести на экран положительные элементы получившегося списка и их сумму - C++
Добрый. Дана программа, позволяющей ввести 5 целых чисел, записать их в список, вывести этот список на экран: #include &quot;stdafx.h&quot; ...

Вводится число N. Создать список его делителей и вывести список на экран - C++
#include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;malloc.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; using namespace std; struct...

Добавить элементы из текстового файла в связный список - C++
Нужно создать программу, считывающую целые числа из файла. 1. определить переменную, определяющую число столбцов двумерного массива 2....

Добавить элементы в связанный список в порядке его сортировки - C++
Хэлп! Вот условие: Напишите программу, которая добавляет элементы в связанный список в порядке его сортировки, а не в начало. Я с ней...

Вывести список на экран - C++
В заданном текстовом файле хранится список студентов до 25 и предметы до 10. Вопрос как вывести исходный список студентов и предметов ...

Односвязный список (за первым вхождением элемента с заданным значением z добавить все элементы списка В) - C++
Дан непустой лин.односвяз список А в список А за первым вхождением элемента с заданным значением z добавить все элементы списка В.

7
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
22.09.2012, 20:56 #2
list* add (list*& head)
1
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 21:01 #3
во 1 для того чтоб код был читабельный есть в редакторе спецальный раздел
по поводу программы
C++
1
2
3
4
5
list *printt(list *head)
...
list *head=NULL;
...
add(head);
у тебя на вход идет указатель ,внутри функции ты думаешь что меняешь его , а на самом деле нет
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.09.2012, 21:01 #4
C++
1
2
3
4
5
6
7
8
9
viod printt(list *head) 
{
     list *newhead = head;
     while (newhead != NULL)
    {
           cout << newhead -> data << endl;
           newhead = newhead -> next;
     }
}
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 21:09 #5
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
viod printt(list *head) 
{
     list *newhead = head;
     while (newhead != NULL)
    {
           cout << newhead -> data << endl;
           newhead = newhead -> next;
     }
}
проблемы это не решит у него на входе NULL и add не меняет этого
0
Tattoquardas
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 21
22.09.2012, 21:13  [ТС] #6
Спасибо, list* add (list*& head) написала, теперь работает!
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 21:16 #7
Цитата Сообщение от Tattoquardas Посмотреть сообщение
Спасибо, list* add (list*& head) написала, теперь работает!
а понятно почему?
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.09.2012, 22:05 #8
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
#include <iostream>
using namespace std;
 
struct list
{
    int data;
    list *next;
};
            
list *add (list *head)
 {
   list *add = new list;
   add -> next = head;
   cout << "Enter the elements: "<<endl;
   cin >> add -> data;
   head = add;
   
   return head;
}
     
void printt(list *head) 
{
     list *newhead = head;
     while (newhead != NULL)
     {
           cout << newhead -> data << endl;
           newhead = newhead -> next;
     }
}
 
void deletelist(list *head)
{
    list *temp;
    while (head != NULL)
    {
        temp = head -> next;
        delete head;
        head = temp;
    }
}    
 
int main() 
{
     list *head = NULL;
     int n;
     cin >> n;
     int i = 0;
     while (i != n) 
     {
           head = add(head);
           i++;
     }
    
    printt(head);
 
    deletelist(head);
    
    system("pause");
    return 0;
}
0
22.09.2012, 22:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2012, 22:05
Привет! Вот еще темы с ответами:

Как вывести на экран список в 4 столбца - C++
Как вывести на экран список имен в 4 столбца из файла. В данном коде список в 1 столб #include &lt;iostream&gt; #include &lt;fstream&gt; ...

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

Как добавить и вывести элементы из List<int, string> ? - C++
В инете нашёл инфу только по обычным спискам (одного типа). Помогите, как в такой список добавить элементы и как потом вывести на экран? ...

Структуры: вывести на экран список женщин определенной профессии - C++
Определить тип данных запись, имеющий поля фамилии, пол, профессия. Определить массив из 10 записей. В программе ввести в массив данные....


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

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

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