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

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

Войти
Регистрация
Восстановить пароль
 
ZAU
Сообщений: n/a
#1

Избитая тема "Односвязный список" - C++

08.12.2011, 19:13. Просмотров 341. Ответов 0
Метки нет (Все метки)

Доброго времени суток.
Конечно, я понимаю, что данная тема уже не однократно обсуждалась на этом форуме. Но сложилась такая ситуация, которая не как не укладывается у меня в голове. Наверное, из-за не достатка знаний.
Вот код.
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
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct ZNAK{
    char NAME [50];//прізвище, ім'я
    char ZODIAC [50];//знак Зодіаку
    int BDAY [3];//день народження (масив із трьох чисел). 
    struct ZNAK *next;
} info,*myInfo;
 
//приведенная ниже функция выводит на экран все поля структуры: 
void display(struct ZNAK *start)
{
  while(start) {
        printf("Name: %s\nZodiak: %s\nBD:", start->NAME, start->ZODIAC);
        for (int i=0;i<3;i++){printf(" %d",start->BDAY[i]);}
        printf("\n");
        start = start->next;
  }
}
 
void slstore(struct ZNAK *i,
             struct ZNAK **last)
{
    if(!*last){ *last = i;} /* первый элемент в списке */
    else
    { 
        (*last)->next = i;
    }
  i->next = NULL;
  *last = i;
}
 
 
int main () { 
 
    ZNAK *last = NULL;
    ZNAK item1, item2, item3, item4;
    char s[80];
    char *mStr = s;
    last = &info;
    myInfo = &info;
 
    
    strcpy(item1.NAME,"Abramovich W.W.");
    strcpy(item1.ZODIAC,"EEE");
    strcpy(item2.NAME,"Petrovich");
    strcpy(item2.ZODIAC,"SSS");
    strcpy(item3.NAME,"Sidorov");
    strcpy(item3.ZODIAC,"QQQ");
    slstore(&item1, &last);
    slstore(&item2, &last);
    slstore(&item3, &last);
 
    display(info.next);
 
    getch();
    return 0;
}
Список создается.
Но вот таким способом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main () { 
 
    ZNAK *last = NULL;
    ZNAK item1, item2, item3, item4;
    char s[80];
    char *mStr = s;
    last = &info;
    myInfo = &info;
 
    
    for (int i=0;i<3;i++){
        strcpy(item1.NAME,"Surkov W.W.");
        strcpy(item1.ZODIAC,"Apo");
        slstore(&item1, &last);
    }
 
    display(info.next);
 
    getch();
    return 0;
}
список упорно не хочет создаваться. Вы не подскажете, в чем проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2011, 19:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Избитая тема "Односвязный список" (C++):

Добавить в класс "Односвязный список" следующие функции - C++
1. Добавить в класс &quot;Односвязный список&quot; следующие функции: вставка элемента в заданную позицию, удаление элемента по заданной позиции,...

Обработка пользовательского класса "Односвязный линейный список" - C++
Доброго времени суток. Хочу написать программу для обработки односвязного линейного списка (ОЛС) которая заключается в изменении начального...

Реализовать односвязный список данных вида "Страна, город, количество населения" - C++
Поставлена задача реализовать односвязный список данных вида Страна город количество населения Обеспечить выполнение операций: ...

На основе заданных прототипов реализовать функции-члены для пользовательского класса "Односвязный список" - C++
Извиняюсь,забыла принт опреедлить Преподаватель дал прототипы функций ,которые надо определить для односвязного списка,но,начав...

Реализовать односвязный список для хранения и операций с данными вида "Количество внешних связей" - C++
Реализовать односвязный список для хранения и операций с данными вида: Объект Количество внешних связей Внешние связи Обеспечить...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2011, 19:13
Привет! Вот еще темы с ответами:

Двусвязный список с объектом трех типов: "целое число", "вещественное число", "строка" - C++
Есть проблема. Реализовать двухсвязный список. Каждый элемент списка может содержать один объект. Объект может быть трех типов: &quot;целое...

Программа "Аэрофлот", тема "Структура" - C++
Народ, привет! У меня сейчас практика и до ее окончания остались считанные дни, осталось написать последнюю программку, помогите,...

Создать список из целых чисел. После каждого элемента, равного "х" вставить элемент, равный "у" - C++
Задача со стеком. Создать список из целых чисел. После каждого элемента,равного х вставить элемент,равный у. какое условие нужно поменять...

Иерархия классов "список"-"очередь", вызов метода через класс интерфейс - C++
Есть небольшая иерархия классов, контейнер (список) для хранения объектов каждого класса, контейнер (очередь) с указателями на объект...


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

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

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