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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2011, 17:44   #1
xeops
 
Регистрация: 26.09.2011
Сообщений: 8
По умолчанию связный список, абстрактный тип данных

Код:
// Лаба№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;
}

вот программа для задачи: Из данного списка спортсменов распечатать данные о тех из них, кто занимается плаванием. Указать возраст, сколько лет они занимаются спортом. Упорядочить по возрасту.

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
связный список xeops Visual C++ 6 30.09.2011 09:39
Двунаправленный связный список Sibedir Софт 2 20.04.2011 05:43
Связный список С++ Шёпот Общие вопросы C/C++ 2 01.04.2011 22:56
Циклический связный список Micar Общие вопросы C/C++ 1 08.06.2010 20:28
Инвертировать связный список levandowskiy Общие вопросы C/C++ 2 21.08.2009 15:20