Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Циклический линейный список

Ответить
Настройки темы
C/C++ - [решено] Циклический линейный список

Пользователь


Сообщения: 88
Благодарности: 0

Профиль | Отправить 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;
	//Что-то тут будет...
}
Собственно при пошаговой откладке ошибка вылетала именно на функции Add_last...

Отправлено: 02:18, 26-12-2010

 

Пользователь


Сообщения: 88
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ладно, пока ждал ответы уже помогли знакомые специалисты...
В общем можно закрывать тему.

Отправлено: 13:33, 28-12-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата inetcrack:
пока ждал ответы уже помогли знакомые специалисты... »
Покажите, если не затруднит, итоговый вариант ответа. Мне будет интересно.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 21:40, 29-12-2010 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Циклический линейный список

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Возможен ли вывод звука через линейный вход? 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




 
Переход