1-1 Программирование С++ / html / modules / 019 / content / example1
.htmlІнформатика — Практика — Практичне заняття Автори
|
Контакти
|
Підсистема допомоги
|
Методичні вказівки
|
Анотація
|
Назад
ІнформатикаСтруктури : Практичне заняттяЗміст курсу
Вступ
Теорія
Оголошення структури
Масиви структур
Практика
Практичне заняття
Лабораторна робота
Поточна перевірка знань
Використання структур
Висновки
Версія для друку
Практичне заняття Приклад 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