Код:
// Лаба№1 связный список.cpp: определяет точку входа для консольного приложения.
/*Из данного списка спортсменов распечатать данные о тех из них, кто занимается плаванием.
Указать возраст, сколько лет они занимаются спортом. Упорядочить по возрасту.*/
#include "stdafx.h"
#include <iostream> // подключение библиотеки ввода-вывода
#include <conio.h> // подключение библиотеки функций работы с консолью
#include <sstream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
struct sport //описание поля sport
{
string imyasp;
int age,let;
};
struct Node //Описание структуры данных элемента связанного списка
{
sport value;
Node* next;//указатель на следующий элемент
};
void Add(Node *&first, sport qwer)
{
if (first == NULL)
{
first = new Node;//.Создание динамического первого элемента списка и реализация ссылки головы на этот элемент
first->value.imyasp=qwer.imyasp;
first->value.age = qwer.age;
first->value.let = qwer.let;
first->next = NULL;
}
else
{
Node * cur = first;//. Объявление указателя на текущий (первый) элемент списка
while (cur->next != NULL)
{
cur = cur->next;
}
cur->next = new Node;// Добавление следующего элемента списка
cur = cur->next;
cur->value.imyasp = qwer.imyasp;
cur->value.age = qwer.age;
cur->value.let = qwer.let;
cur->next=NULL;
}
};
void vivod(Node *first)
{//передаем голову списка,возраст,количество предметов
Node *cur = first;
while(cur)
{
if(cur->value.let!=0)
{
cout <<cur->value.imyasp<<" "<< "возраст: " <<" "<< cur->value.age<<" "<<"занимается спортом(лет): "<< cur->value.let;
cur = cur->next;
cout << endl<<endl;
}
else
cur = cur->next;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
Node * first = NULL;//Объявление указателя на первый элемент связанного списка
string imyasp;
string Mass[5] = {"Generalov", "Satarov", "Kalujkii","Volkov","Popov"};
int age,let;
sport qwer;
int i,n,pz;
cout<<"введите количество спортсменов(если вам будет лень заполнять,n(max)=5 : ";
cin>>n;
cout << endl<< endl;
cout << "Лень заполнять? : 2(да) 1(я не тороплюсь) ";
cin >> pz;
cout << endl;
switch(pz)
{
case 1:
{
for (i = 0; i < n ; i++)
{
cout << "введите имя ученика: ";
cin>>qwer.imyasp;
cout << endl;
cout<<"введите возраст спортсмена: ";
cin>>qwer.age;
cout<<endl;
cout<<"введи количество лет занятия спортом: ";
cin>>qwer.let;
Add(first,qwer);
}
system("pause");
system("cls");
vivod(first);
}break;
case 2:
{
for (i = 0; i < n ; i++)
{
qwer.imyasp=Mass[i];
int a,b;
b=(rand()%14);
a=b+10;
qwer.age= rand ()%a;
qwer.let= rand ()%b;
Add(first,qwer);
}
vivod(first);
}break;
}
system("pause");
return 0;
}
вот программа для задачи: Из данного списка спортсменов распечатать данные о тех из них, кто занимается плаванием. Указать возраст, сколько лет они занимаются спортом. Упорядочить по возрасту.
помоги пожалуйста выполнить на этой программе метод сотрировки пузырьком,поиск по индексу,добавление элемента,удаление элемента!и еще вопрос,как Упорядочить по возрасту.???