|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Циклический линейный список |
|
C/C++ - [решено] Циклический линейный список
|
Пользователь Сообщения: 88 |
Профиль | Отправить PM | Цитировать Здравствуйте...
Вот у меня тут есть задание, чтобы вас не грузить не буду пока сразу всё писать... Но вот одна из базовых частей создание - создать односвязный циклический список. Я пытался пытался ещё с прошлой недели - к сожалению не получается, странные ошибки выдаёт... Помогите пожалуйста разобраться. #include <iostream> #include <fstream> #include <stdlib.h> using namespace std; struct list { int data; list* next; }; //Function prototypes: void Create_file(fstream&f, char* filename); void Read_file(fstream&f, char* filename); void Create_list(list* first, fstream&f, char* filename); void Add_last(list* first, int a); void Add_first(list* &first, int a); void Read_list(list* first); void main() { fstream f; char filename[20]; int i=0; list* first; first = NULL; cout << "Enter filename: "; cin >> filename; Create_file(f, filename); cout << endl; Read_file(f, filename); cout << endl; Create_list(first, f, filename); cout << endl; Read_list(first); cout << endl; cin.get(); } void Create_file(fstream&f, char* filename) { int x; f.open(filename, ios::out|ios::binary); cout << "Enter number(enter 9999 to break) "; cin >> x; while(x != 9999) { f.write((char*)&x, sizeof x); cin >> x; } f.close(); } void Read_file(fstream&f, char* filename) { int x; f.open(filename, ios::in|ios::binary); while(f.read((char*)&x, sizeof x)) { cout << x << " "; } f.close(); } void Create_list(list* first, fstream&f, char* filename) { f.open(filename, ios::binary|ios::in); if(f.eof()) { f.clear(); f.seekg(0); } int a; list* p; while(f.read((char*)&a, sizeof a)) { if(first==NULL) { Add_first(first, a);; } else { Add_last(first, a); } } f.close(); } void Add_first(list* &first, int a) { list* p; p = new list; p ->data = a; p ->next = NULL; first = p; first ->next = first; } void Add_last(list* first, int a) { list* q; q = new list; q -> data = a; q -> next = first; list* p; p = first; while (p -> next != first) p = p -> next; p -> next = q; } void Read_list(list* first) { list* p; p = first; //Что-то тут будет... } |
|
Отправлено: 02:18, 26-12-2010 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Ладно, пока ждал ответы уже помогли знакомые специалисты...
В общем можно закрывать тему. |
Отправлено: 13:33, 28-12-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата inetcrack:
|
|
------- Отправлено: 21:40, 29-12-2010 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Возможен ли вывод звука через линейный вход? | MrTasty | Ноутбуки | 9 | 13-07-2010 01:33 | |
Realtek HD - Линейный вход | Antrix | Поиск драйверов, прошивок и руководств | 3 | 01-07-2010 07:31 | |
Отключается линейный вход звука | Vowan | Непонятные проблемы с Железом | 1 | 18-11-2009 21:20 | |
VLC и линейный вход звуковухи | Alexey29 | Общий по Linux | 1 | 30-11-2007 12:59 | |
Линейный вход и SBlive! 5.1 | stightml | Microsoft Windows 2000/XP | 2 | 26-08-2006 11:35 |
|