Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2019, 13:30   #1
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию

Код:
struct Lunka 
{
    int colorball;
    struct Lunka *next;
    struct Lunka *prev;
};
struct Lunka *First_lunka(int *colorball)
{
    struct Lunka* Head;
    Head = (struct Lunka*)malloc(sizeof(struct Lunka));
    Head->colorball = colorball;
    Head->next = NULL;
    Head->prev = NULL;
    return(Head);
};
struct Lunka* Add_lunki(struct Lunka * Head,int ball)
{
    struct Lunka* temp,*p;
    temp = (struct Lunka*)malloc(sizeof(struct Lunka));
    p = Head->next; // сохранение указателя на следующий узел
    Head->next = temp; // предыдущий узел указывает на создаваемый
    temp->colorball = ball; // сохранение поля данных добавляемого узла
    temp->next = p; // созданный узел указывает на следующий узел
    temp->prev = Head; // созданный узел указывает на предыдущий узел
    if (p != NULL)
        p->prev = temp;
    return(temp);   
}
void main(void) 
{
    struct Lunka* Head= NULL;
    struct Lunka* curr = NULL;
    int ball = 0, position = 0,i = 0;
    int* massiv;
    printf("Input amount of holes  N= ");
    scanf_s("%d/n",&ball);
    if (ball % 2 == 0)  ball++;
    massiv = (int*)malloc(ball*sizeof(int));
    printf("Fill in Holes Balls of White and Black(1 = Ball of Black color,2 = Ball of White Color),One more white balls than black/n ");
    for (int i = 0; i < ball; i++)  {
        printf("massiv[%d] = ", i);
        scanf_s("%d/n", &massiv[i]);
    }
    for (int i = 0; i < ball; i++)  printf("%d ", massiv[i]);
     Head = First_lunka(&massiv[0]);
     curr = Head;// создание головы
    for (int i = 1; i <= ball; i++) {
        curr = Add_lunki(&curr, ball);
    }
подскажите что делаю неправильно пожалуйста

Цитата:
Сообщение от dasha13 Посмотреть сообщение
Head = First_lunka(&massiv[0]);
curr = Head;// создание головы
for (int i = 1; i <= ball; i++) {
curr = Add_lunki(&curr, ball);
}
правильно ли я добавил главный узел и остальные узлы
dasha13 вне форума Ответить с цитированием
Старый 15.11.2019, 13:49   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Опять... Вы даже прошлое не исправили.

Код:
Head->colorball = colorball;
инту присваиваете указатель

Вы куда вставляете? Или добавляете?
p51x вне форума Ответить с цитированием
Старый 15.11.2019, 14:20   #3
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Опять... Вы даже прошлое не исправили.
решил переписать код
dasha13 вне форума Ответить с цитированием
Старый 15.11.2019, 14:26   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Ну так хотя бы старое исправляйте. Или вам опять надо писать, что
Код:
struct Lunka* Add_lunki(struct Lunka * Head,int ball)
тут нужен указатель, а передаете
Код:
curr = Add_lunki(&curr, ball);
двойной.
p51x вне форума Ответить с цитированием
Старый 15.11.2019, 14:58   #5
dasha13
Пользователь
 
Регистрация: 22.04.2019
Сообщений: 19
По умолчанию

что значит разыменование нулевого указателя ?

пустого*

Имеено это и значит. Есть нулевой указаль и вы его разыменовываете.

Цитата:
Сообщение от p51x Посмотреть сообщение
Имеено это и значит. Есть нулевой указаль и вы его разыменовываете.
Код:
struct Lunka *First_lunka(int* colorball)
{
	struct Lunka* Head;
    Head = (struct Lunka*)malloc(sizeof(struct Lunka));
	Head->colorball = *colorball;
	Head->next = NULL;
	Head->prev = NULL;
	return(Head);
};
то есть вот так

в 5 строке выдавало ошибку
dasha13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двусвязные списки RedWhiteCasual Паскаль, Turbo Pascal, PascalABC.NET 0 06.02.2014 09:01
Двусвязные списки (С) tanya-tanya Помощь студентам 2 15.08.2012 07:50
Двусвязные списки Evacuator C++ Builder 0 29.05.2011 13:12
Двусвязные списки aidar9012 Помощь студентам 6 28.06.2010 02:05