Інформатика
Структури : Практичне заняття
 

Практичне заняття

Приклад 1. Визначити список автомобілів з наступними даними: назва, рік випуску, потужність. Надрукувати назви тих авто, рік випуску та потужність яких співпадає зі введеними.

# include <iostream. h>

const int n= 15;

void main ()

{

     struct Poisk

     {

          char name[20];

          int year;

          int power;

     };

     Poisk car [n]; int i;

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

     {

          cout<<"\n Name avto:";

           cin>>car[i].name;

          cout<<"\n Year of vipusku:";

          cin>>car[i].year;

          cout<<"\n Power:";

          cin>>car[i].power;

     }

     cout<<"\nYear vipusku of find:";

     cin>>yy;

     cout<<"\n Power of find:";

     cin>>pp;

     bool p=true;

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

     {

          if((car[i].year==yy)&&(car[i].power==pp))

          {

               cout<<car[i].name<<"\n";

               p=false;

          }

     }

     if (p)

          cout<<"Avto ne znajdene\n ";

}

Приклад 2. Попередній приклад із застосуванням покажчиків.

const int n= 15;

void main ()

{

     struct Poisk

     {

          char name[20];

          int year;

          int powerж

     };

     Poisk car [n],*point=&car[0]; int i;

     for(i=0;i<n;i++,point++)

     {

          cout<<"\n Name avto:";

          cin>>*point->name;

          cout<<"\n Year vipusku:";

          cin>>*point->year;

          cout<<"\n Power:";

          cin>>*point->power;

     Ї

     point-=n; // зсув покажчика на початок масиву

     сout<<"\n Year vipusku of find:";

     cin>>yy;

     cout<<"\n Power of find:";

     cin>>pp;

     bool p=true;

     for(i=0;i<n;i++,point++)

     {

          if((*point->year==yy)&&((*point).power==pp))

          {

               cout<<(*point).name<<"\n";

               p=false;

          }

     }

     if(p) cout<<"Avto ne znajdene\n ";

}

Приклад 3. В структурі зберігається інформація про студентів: прізвище та рік народження. Відсортувати список студентів за роком народження.

#include <iostream.h>

struct Stud

{

     char FIO[20];

     int data;

} a[40],*p=a;

void main()

{

     for (int i=0;i<40;i++,p++)

     {

          cout<<"\nFIO";

          cin>>p->FIO;

          cout<<"\n data";

          cin>>p->data;

     }

     for (i=0;i<40;i++)     

     {

          p=a;

          for (int j=0;j<40-i-1;j++,p++)     

          if(p->data<(p+1)->data)

          {

               Tstud z=*p;

               *p=*(p+1);

               *(p+1)=z;

          }

     }

     p=a;

     for (i=0;i<40;i++,p++)

     {

          cout<<p->FIO<<"\t"<<p->data<<endl;

     }

}

 
© 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.ua
Розроблено за допомогою LERSUS