Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 11 / MAINLIST
.CPP//File mainlist.cpp
//Naznachenie: Formirovanie linejnogo odnonapravlennogo spiska veshestvennyh znachenij
//Author: Pavel Morozov
//Redakcija: 1.0 10.02.07
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<stdio.h>
#include"celement.h"
#include"clist.h"
#include"celement.cpp"
#include"clist.cpp"
int main()
{
clrscr();
//Vyvod zagolovka
cout<<endl
<<endl
<<"Author: Pavel Morozov Group 4351."
<<endl
<<endl
<<"Formirovanie linejnogo odnonapravlennogo spiska veshestvennyh znachenij."
<<endl
<<"Na ego osnove sformirovat 2 linejnyh odnonapravlennyh spiska:"<<endl
<<"-pervyj, soderzashij polozitelnye znachenija iz ishodnogo spiska,"<<endl
<<"-vtoroj, soderzashij nepolozitelnye znachenija."<<endl
<<"Kazdyj iz etih spiskov dolzen soderzat elementy v poriadke, obratnom poriadku sledovanija znachenij v ishodnom spiske."
<<endl<<endl;
//Objavlenie i inicializacija peremennyh
CList List; //Spisok elementov
CList LR1; //Dopolnitelnyj spisok 1
CList LR2; //Dopolnitelnyj spisok 2
float Fptr; //Ukazatel na element
CElement *Elemptr; //Ukazatel na element spiska
char vvod; //Polzovatelskij element
float x0; //Atribut
//Vvod elementov spiska
int i=0;
do
{ textcolor(15);
cout<<endl<<endl;
cprintf("Dlia vvoda znachenija nazmite y.");
cout<<endl;
cprintf("Dlia otkaza ot vvoda nazmite n.");
cout<<endl<<endl;
cin>>vvod;
if(vvod)
{if(vvod=='n') break;
//Kakoj element obrabatyvaetsia
i=i+1;
cout<<endl<<endl;
cprintf(" VVod elementa ");
cout<<i<<endl;
//VVod znachenija
cout<<endl;
cout<<endl;
cprintf("x= ");
cin>>Fptr;
cout<<endl;
//Vydelenie pamiati dlia elementa
// Fptr= new CData;
//Ustanovka elementa
// Fptr->SetX(x0);
//Vydelenie pamiati i ustanovka ukazatelia na element
Elemptr=new CElement(Fptr);
//Vstavka elementa v spisok
List.Insert(Elemptr);
//Obnulenie ukazatelej
// Fptr=0;
Elemptr=0;
}else {cout<<endl<<"Spisok ne budet sozdan"<<endl; }
}
while((vvod=='y')||(vvod=='Y'));
clrscr();
//Vyvod spiska elementov
cout<<endl<<"Ishodnyj spisok "<<i<<" elementov";
List.OutList(i);
List.Divide(LR1,LR2);//Razdelenie ishodnogo spiska na 2 spiska
cprintf("Zavershenie raboty.");
cout<<endl<<endl;
cout<<endl<<"Nazmite probel...";
getch();
return 0;
}
Соседние файлы в папке Лабораторная работа 11