HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

ЛДС C++
  #1  
Старый 06.10.2009, 21:59
Epic wave
Участник форума
Регистрация: 15.03.2009
Сообщений: 183
С нами: 9030530

Репутация: 160
Post ЛДС C++

Привет. Вот вообщем на втором курсе столкнулся с линейно двунаправленным списком и т.к. я на первом курсе успешно прослушал про него сейчас возникли проблемы, если вам не сложно прошу помочь.
На данном этапе не работает вывод, хотя и ввод я не уверен что написал верно, в финале программа должна :
- Создавать Линейно Двунаправденный Список(Дальше ЛДС)
- Вывод информации
- Поиск по порядковому номеру
- удалять элемент перед элементом списка с минимальным ключом
- Сохранение в файле
- Открытие из файла. Программа пишется под DOS


Код:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>
#include <string.h>
#include <fstream.h>

class lds{
      int n,b,r,key;
 lds * next;
 lds * prev;


 public:

	static lds * p;

		void insert();
		void output();
		void search();
		void add();
		void del();
		void save();
		void open();
	  };


 lds*lds::p;


 void lds::insert(){
    lds * q;

	
	clrscr();

       p=new lds;

	cout<<"How many alements? :";
	cin>>n;

	cout<<"Enter first element: ";
	     cin>>p->b;
	     q=p;


	 for(int i=2;i<=n;i++){
                

		cout<<"\nEnter "<<i<<" element: ";
		 cin>>p->b;
		p->next = NULL;
		p->prev = NULL;

		
	 }
            }


void lds::output(){
	int nk=0;
	lds *q;
	q=p;

	
	while(q!=NULL){
		nk++;
	

		

		cout<<nk<<"\n";

		cout<<q->b;
		q = q->next;

		
	}}




 void main(){
	lds obj;
        clrscr();
        int option;


        do{
	 cout<<"\nEnter action: ";
	  cin>>option;
               
		switch(option){
			case 1:
                 	  obj.insert();
			break;

			case 2:
			  obj.output();
			break;


			
			}
			
		}
		while(option!=9);

		}

И если не сложно пожалуйста комментируйте т.к. всё таки хотелось разобраться в этом.

Последний раз редактировалось Epic wave; 06.10.2009 в 22:06..
 
Ответить с цитированием

  #2  
Старый 07.10.2009, 09:50
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

[offtop]
раза с пятого прочел что написано ЛДС. А не ЛСД
[/offtop]

Вообще лучше всего начни с правильного оформления кода. Потому что код хоть и маленький понимается чуть сложновато из-за разброса слов.
 
Ответить с цитированием

  #3  
Старый 08.10.2009, 20:21
Nikituki
Новичок
Регистрация: 14.03.2009
Сообщений: 25
С нами: 9031522

Репутация: 5
По умолчанию

В функции insert у тебя выделяется память только для головы списка, независимо от количества элементов....
Вообще, по спискам куча инфы и простой запрос в гугле тебе наверняка поможет

Цитата:
Сообщение от slesh  
[offtop]
раза с пятого прочел что написано ЛДС. А не ЛСД
[/offtop]
Я тоже=)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...