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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 04:27   #1
Muro
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 11
По умолчанию Списки,сортировка.

Здравствуй, помогите разобраться в этой программе.
по условию "Создать структуру с именем Sportsmen с полями: фамилия, имя, вид спорта,
результат. Сформировать список. Затем напечатать этот список в прямом и обратном порядке. Затем удалить из списка информацию о тех спортсменах, которые имеют худший результат в своем виде спорта. И снова напечатать список. "
мы не можешь понять как сохранять адрес.
точнее "я ж говорю я не знаю как адреса эти запомнить".
Если не трудно распишите этапы действия.

Код:
#include <iostream.h>
#include <conio.h>
#include <string.h>
#pragma argsused
int main(int argc, char* argv[])
{
const int n=5;
struct sportsman
{
char fam[25], name[15], vidsp[20];
int rez;
sportsman *next;
sportsman *prev;
} *current, *head=0, *tail=0, *c, *d;
int c=1,k=0;
while (c)
{if (head)
{tail->next=new sportsman;
tail->next->prev=tail;
tail=tail->next;
}
else
{head=new sportsman;
tail=head;
head->prev=0;
};
cin>>tail->fam>>tail->name>>tail->vidsp>>tail->rez;
tail->next=0;
cout<<"eshe? yes - 1 no - 0"<<'\n';
cin>>c;
};
current=head;
while(current!=0)
{ cout<<current->fam<<' '<<current->name<<' '<<current->vidsp<<' '<<current->rez<<endl;
current=current->next;
};
cout<<endl<<endl;
current=tail;
while(current!=0)
{ cout<<current->fam<<' '<<current->name<<' '<<current->vidsp<<' '<<current->rez<<endl;
current=current->prev;
};

current=head;
while (current!=0)
{if (strcmp(current->vidsp,current->next->vidsp)>0)
c=current;
d=
current=current->next;

current=head;
while (current!=0)
{if ((strcmp(current->vidsp,current->next->vidsp)==0)&&(current->rez>current->next->rez)) ;

{ if (current!=head)
{current->prev->next=current->next;
delete current;}
else
{head=current->next;
delete current;

}
}
current=current->next;
}
getch();
return 0;
}
Muro вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка по имени (списки) sunman Паскаль, Turbo Pascal, PascalABC.NET 1 30.05.2010 22:38
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Сортировка файлов в Explorer vs сортировка в Delphi mutabor Общие вопросы Delphi 11 04.09.2009 14:32
Задача: списки/сортировка uranus Паскаль, Turbo Pascal, PascalABC.NET 4 22.05.2007 14:34