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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить, находится ли введенное с клавиатуры число в одномерном массиве http://www.cyberforum.ru/cpp-beginners/thread402286.html
Доброго дня, собственно учусь на специальности мало связанной с программированием да и в школе не было даже паскаля, нужна помощь в решении 4х задач на Си: 1. Написать программу, которая проверяет, находится ли введенное с клавиатуры число в одномерном массиве. 2. Написать программу, которая упорядочивает по возрастанию ту часть последовательности, которая находится между минимальным и...
C++ Контест "Массивы" Дан массив натуральных чисел из элементов. Необходимо заменить первый элемент, кратный , нулём. Формат входных данных В первой строке входного файла записано число . Во второй строке через пробел записаны натуральных чисел, не превосходящих , - элементы массива. Формат выходных данных Выведите в выходной файл элементы массива после требуемой замены. Примеры: Вход 10 1 2 3 4 5 6 7 8 9... http://www.cyberforum.ru/cpp-beginners/thread402278.html
C++ Кодовый замок (может быть любой язык програмирования)
Кодовый замок состоит из N рычажков, каждый из которых может быть установлен в любое из K положений, обозначенных натуральными числами от 1 до K. Известно, что для того чтобы открыть замок, нужно, чтобы сумма положений любых трех последовательных рычажков была равна K. Два рычажка уже установлены в некоторые положения, и их переключать нельзя. Рычажок с номером p1 установлен в положение v1, а...
C++ Реализуйте АТД “Список” для любого типа данных
Помогите решить задачку. 1. Реализуйте АТД “Список” для любого типа данных и его операторы (INSERT, LOCATE, RETRIEVE, DELETE, NEXT, PREVIOUS, MAKENULL, FIRST, PRINTLIST), используя массив. 2. Создайте программу позволяющую объединять несколько списков в один. Первую я вроде бы сделал... А вторую надо на на основе нее, но у меня не получается. Вот первая: #include <iostream> using...
C++ Даны две последовательности а1,а2,...аn и b1, b2, ... bn (m<n). В каждой из них члены различны. http://www.cyberforum.ru/cpp-beginners/thread402257.html
Даны две последовательности а1,а2,...аn и b1, b2, ... bn (m<n). В каждой из них члены различны. Верно ли, что все члены второй последовательности входят в первую последовательность входят в первую последовательность?
C++ Ругается на функцию В чём тут ошибка? #include <iostream> #include <string> const int n=3; подробнее

Показать сообщение отдельно
ZAU
Сообщений: n/a
08.12.2011, 19:13     Избитая тема "Односвязный список"
Доброго времени суток.
Конечно, я понимаю, что данная тема уже не однократно обсуждалась на этом форуме. Но сложилась такая ситуация, которая не как не укладывается у меня в голове. Наверное, из-за не достатка знаний.
Вот код.
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;
}
список упорно не хочет создаваться. Вы не подскажете, в чем проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru