русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Вказівники на вказівники


Дата додавання: 2014-04-22; переглядів: 916.


В наступній програмі 12.20 ми розглянемо масив вказівників на об’єкти і покажемо, як можна просортувати ці вказівники, опираючись на дані, що містяться в об’єктах. Тут з’являється ідея вказівників на вказівники.

Завдання програми 12.20: створити масив вказівників на об’єкти класу person. Програма включає функції order() та bsort() для сортування групи об’єктів класу person, виходячи з алфавітного порядку імен.

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<bios.h>

#include<string.h>

class person

{protected:

char* name;

public:

void setname()

{cout<<”Name=”;cin>>name;}

void printname()

{cout<<endl<<name;}

char* getname()

{return name;}

 

};

///////////////

int main()

{clrscr();

void bsort(person**,int);//prototyp

person* persPtr[100];

int n=0;

char choice;

do

{persPtr[n]=new person;

persPtr[n]->setname();

n++;

cout<<”Continue(y/n)?”;

cin>>choice;

} while(choice==’y’);

cout<<”\nНесортований список:”;

for(int j=0;j<n;j++)

persPtr[j]->printname();

bsort(persPtr,n);

cout<<”\nСортований список:”;

for(j=0;j<n;j++)

persPtr[j]->printname();

cout<<endl;

bioskey(0);

return 0;

}

//////////

void bsort(person** pp,int n)

{void order(person**,person**);

int j,k;

for(j=0;j<n-1;j++)

for(k=j+1;k<n;k++)

order(pp+j,pp+k);

}

//////////

void order(person** pp1,person** pp2)

{if((*pp1)->getname()>(*pp2)->getname())

{person* tempptr=*pp1;

*pp1=*pp2;

*pp2=tempptr;

}

 

}

Програма 12.20

 


<== попередня лекція | наступна лекція ==>
Зв’язний список | Самостійне вивчення


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн