Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 21
1

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

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

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
#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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2012, 20:37
Ответы с готовыми решениями:

Записать числа в список; вывести на экран положительные элементы получившегося списка и их сумму
Добрый. Дана программа, позволяющей ввести 5 целых чисел, записать их в список, вывести этот...

Во внешний файл, содержащий исходные данные, добавить N записей и вывести на экран список абитуриентов
во внешний файл , содержащий исходные данные , добавить N записей и вывести на экран список...

Создать односвязный список из 5 элементов и вывести элементы списка на экран
Создать односвязный список из 5 элементов и вывести элементы списка на экран.

Создать двусвязный список из 3 элементов и вывести элементы списка на экран
Создать двусвязный список из 3 элементов и вывести элементы списка на экран.

7
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
22.09.2012, 20:56 2
list* add (list*& head)
1
ComfyMobile
401 / 282 / 34
Регистрация: 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
5498 / 4893 / 831
Регистрация: 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
ComfyMobile
401 / 282 / 34
Регистрация: 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
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 21
22.09.2012, 21:13  [ТС] 6
Спасибо, list* add (list*& head) написала, теперь работает!
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 21:16 7
Цитата Сообщение от Tattoquardas Посмотреть сообщение
Спасибо, list* add (list*& head) написала, теперь работает!
а понятно почему?
0
5498 / 4893 / 831
Регистрация: 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2012, 22:05
Помогаю со студенческими работами здесь

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

Список: Вывести на экран в обратном порядке введенный список
Помогите решить задачку пожалуйста! Создать программу, выводящую на экран в обратном порядке...

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

Создать односвязный список и добавить в него элементы
помогите, пожалуйста. нужен код: создать односвязный список, тип информационного поля char*,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru