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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2016, 15:08   #1
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию Линейный односвязный список на Си

Объясните пожалуйста как создать линейный односвязный список (должен быть диалог с пользователем) и вывести его. Поменять местами максимальный и минимальный элементы списка, если в списке есть элементы с заданным ключом, удалить его. Отсортировать список.

Последний раз редактировалось Enni; 25.03.2016 в 16:44.
Enni вне форума Ответить с цитированием
Старый 25.03.2016, 15:43   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Таки в чем проблема? В любой книжке по любому языку большая вероятность это найти... а уж в гугле, так миллионы ссылок.
p51x вне форума Ответить с цитированием
Старый 25.03.2016, 16:29   #3
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

Я читал о линейных списках, но все равно не пойму как их создать.
Enni вне форума Ответить с цитированием
Старый 25.03.2016, 17:39   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
struct NODE {
 int elem;
 NODE * next;
};

NODE l = new NODE;
ну или malloc
p51x вне форума Ответить с цитированием
Старый 25.03.2016, 18:04   #5
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

С malloc так правильно?
Код:
#include<stdio.h>
#include<stdlib.h>
#include <string.h>

int pwr(int a, int b);

int main(void)
{
  
  int (*p)[10]; 

  register int i, j;
  p = malloc(40*sizeof(int));
  
}
Enni вне форума Ответить с цитированием
Старый 25.03.2016, 19:45   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Нет. Думаете я структуру просто так нарисовал? Прочитайте хоть определение, что такое линейный односвязный список.
p51x вне форума Ответить с цитированием
Старый 26.03.2016, 00:16   #7
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

А так?

Код:
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <malloc.h>
 
struct book{
    char author [20];
    char title [20]; 
   };
 
void InputBook(struct book* book) {
    printf("Введите автора: ");
    scanf("%s", book -> author);
 
    printf("Введите название книги: ");
    scanf("%s", book -> title);
 
}
 
void PrintBook(struct book* book) {
    printf("Автор: %s\n", book ->Name);
    printf("Название книги: %s\n", book ->title);
   }
  
int main() {
    struct book* book;
 
    book = (struct book*) malloc (sizeof(book));
 
    InputBook(book);
    PrintBook(book);
 
    free(book);
 


    return 0;

}

Последний раз редактировалось Enni; 26.03.2016 в 01:04.
Enni вне форума Ответить с цитированием
Старый 26.03.2016, 05:41   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Итак, нет. Да прочитайте же, что такое линейный список. Указатель там нужен.
p51x вне форума Ответить с цитированием
Старый 26.03.2016, 11:56   #9
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

Код:
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <malloc.h>

struct book * init(int a) {     
  struct book *book;
 book = (struct book*)malloc(sizeof(struct book));
  book->author = a;
  book->title = NULL;  
  return(book);
}

 void struct (book *book) {
  struct  book *p;
  p = book;
  do  {
     printf("Введите автора: ");
  scanf("%s", p -> author);
     p = p-> title;

  printf("Введите название книги: ");
  scanf("%s", p -> title);

    }while(p != NULL);
}

Последний раз редактировалось Enni; 26.03.2016 в 13:30.
Enni вне форума Ответить с цитированием
Старый 26.03.2016, 13:32   #10
Enni
Пользователь
 
Регистрация: 25.03.2016
Сообщений: 18
По умолчанию

Помогите, пожалуйста с кодом. Объясните как правильно сделать. Я читал про списки но все равно не пойму как их реализовать.
Enni вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Односвязный линейный список flecso Паскаль, Turbo Pascal, PascalABC.NET 1 13.05.2012 02:51
C++ Односвязный линейный список vadiprog Помощь студентам 1 01.05.2012 21:27
С++ линейный односвязный список Lady IcE Помощь студентам 3 25.04.2011 20:24
Линейный-односвязный список Айдар Помощь студентам 1 01.06.2010 10:20
Линейный односвязный список Absinth Помощь студентам 4 11.11.2008 20:29