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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2014, 22:27   #1
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию Структуры данных.Язык Си.

Начал проходить структуры данных, но не все понимаю.
Вот мое задание:
Используя списковую структуру хранения, напишите программу для
обработки последовательности записей, позволяющую осуществлять
следующие действия: добавление элемента к концу списка, просмотр списка в прямом и обратном порядке, удаление двух последних элементов из списка. Поля записей: название театра, дата, название спектакля, взрослый {жанр} /детский {возраст ребенка}.

Как я понимаю, надо написать код программы действий которые описаны.Но как связать это с полями записи, я это не до конца понял.В интернете много материала по структурам данных, но подходящего к своему заданию я не нашел, почему?
East Undia Trading вне форума Ответить с цитированием
Старый 13.02.2014, 22:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Рекомендую начать с основ. Я даже пример специально для этого сварганил: http://www.programmersforum.ru/showt...279#post713279
Цитата:
я не нашел, почему?
Потому что ты хочешь готовенькое, но не хочешь изучить теорию с нуля, а так не получится. Все равно придется начинать с основ по динамическим спискам.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.02.2014, 22:46   #3
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию

Кажется я стал понимать что такое структуры и зачем они нужны.То есть требуемые действия над списком должны быть вроде вот такой структуры?
Код:
#include<stdio.h>
#include<locale.h>
struct Book {
	char teater[40];
	char data;
	int nazvanye[40];
	int zhaner[40];
};
void main()
{
	setlocale(LC_ALL, "rus");
	struct Book b;
	printf("Введите название театра, дата, название спектакля, взрослый {жанр} /детский {возраст ребенка}.\n");
	scanf("%s%d%s%s", &b.teater, &b.data, &b.nazvanye ,&b.zhaner);
	printf("%s%d%s%s", b.teater, b.data, b.nazvanye, b.zhaner);
}
East Undia Trading вне форума Ответить с цитированием
Старый 21.02.2014, 14:32   #4
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию

Никак не могу понять как делать сами действия со списком добавление элемента к концу списка, просмотр списка в прямом и обратном порядке, удаление двух последних элементов из списка, может кто-нибудь подсказать как это делать?Получается, нужно создать структуру, которая выполняет сами действия?
Код:
#include<stdio.h>
#include<locale.h>
struct Book {
	char teater[40];
	char data;
	int nazvanye[40];
	int zhaner[40];
};
void main()
{
	setlocale(LC_ALL, "rus");
	struct Book b;
	printf("Введите название театра, дата, название спектакля, взрослый {жанр} /детский {возраст ребенка}.\n");
	scanf("%s%d%s%s", &b.teater, &b.data, &b.nazvanye ,&b.zhaner);
	printf("%s%d%s%s", b.teater, b.data, b.nazvanye, b.zhaner);
}
East Undia Trading вне форума Ответить с цитированием
Старый 21.02.2014, 14:52   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,322
По умолчанию

http://www.programmersforum.ru/showp...8&postcount=25.
1) У Вас обычная структура, а чтобы организовать списки, она должна содержать указатели хотя бы на следующий элемент списка (односвязный список).
2) Совершенно непонятное считывание (разберитесь, когда нужно ставить &, а когда нет, и какие спецификации формата для чего нужны).
3) Структура не должна сама делать операции (это в C++ класс = поля класса (почти как обычная структура в си) и методы класса (функции в си)).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 21.02.2014 в 14:57.
BDA вне форума Ответить с цитированием
Старый 21.02.2014, 20:48   #6
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию

BDA, спасибо очень хороший пример, но разве можно переписать его на си просто переписав cout на printf() и new на malloc()?Там ошибки в типах выдает.
East Undia Trading вне форума Ответить с цитированием
Старый 21.02.2014, 20:59   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,322
По умолчанию

Какие именно? Пробежал по диагонали, ничего плохого не увидел.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 21.02.2014, 21:03   #8
East Undia Trading
Форумчанин
 
Регистрация: 02.10.2013
Сообщений: 231
По умолчанию

BDA,
East Undia Trading вне форума Ответить с цитированием
Старый 21.02.2014, 21:08   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
East Undia Trading
Бротюнь, а ты как код написал-то?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.02.2014, 21:18   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,322
По умолчанию

Перед объявлением структуры:
Код:
typedef struct TList TList;

// Структура элемента списка
struct TList {
	// Некое значение элемента
	int x;
	// Указатель на следующий элемент
	TList* next;
	// Указатель на предыдущий элемент
	TList *prev;
// Переменка списка
} *list, *last;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры данных - язык С asv1994 Помощь студентам 7 09.05.2013 18:23
Динамические структуры данных, списковые структуры (надо разобраться что делает программа) _4Alex4_ Помощь студентам 1 14.11.2012 07:39
структуры.язык си skauzer_blr Помощь студентам 1 27.04.2012 21:16
язык С. Динамические структуры данных. Виктория Кусяк Помощь студентам 0 26.12.2011 23:51
Файлы,структуры.Язык Си tutis Помощь студентам 1 02.05.2011 20:12