Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Козырева И., лабораторные работы.doc
Скачиваний:
4
Добавлен:
16.04.2019
Размер:
2.95 Mб
Скачать

Void main()

{

setlocale(LC_ALL,"Russian");

const int n=100;//размерность массива

int k=n;//кол-во введенных данных

//структура

struct Data{//вложенная структура дата рождения

int ch;//число

char month[10];//месяц

};

struct AVlad{//структура автовладелец

char name[20];//фамилия

char town[20];//город

struct Data data1;//влож. дата рождения

};

struct AVlad mas[n];//массив структур

for (int i=0;i<n;i++){//заполнение

cout<<"Введите фамилию: ";

cin>>mas[i].name;

cout<<"Введите город: ";

cin>>mas[i].town;

cout<<"Введите число рождения: ";

cin>>mas[i].data1.ch;

cout<<"Введите месяц рождения: ";

cin>>mas[i].data1.month;

cout<<"Продолжить ввод? y- да, n-нет. ";

char x;

cin>>x;

if (x=='n'){

k=i+1;

break;

}

else;

}

for (int i=0;i<k;i++)//вывод

cout<<mas[i].name<<"\t"<<mas[i].town<<"\t"<<mas[i].data1.ch<<"\t"<<mas[i].data1.month<<endl;

struct AVlad temp;//временная структура

char l;

cout<<"Выберите поле для сортировки: 1 - фамилия, 2 - город: ";//диалог с пользователем

cin>>l;

if (l=='1'){//сортировка по имени

for (int i=0;i<k-1;i++)

for (int j=0;j<k-i-1;j++)

if (strcmp(mas[j].name,mas[j+1].name)>0){

temp=mas[j];

mas[j]=mas[j+1];

mas[j+1]=temp;

}

cout<<"После сортировки: "<<endl;//вывод

for (int i=0;i<k;i++)

cout<<mas[i].name<<"\t"<<mas[i].town<<"\t"<<mas[i].data1.ch<<"\t"<<mas[i].data1.month<<endl;

}

if (l=='2'){//сортировка по городу

for (int i=0;i<k-1;i++)

for (int j=0;j<k-i-1;j++)

if (strcmp(mas[j].town,mas[j+1].town)>0){

temp=mas[j];

mas[j]=mas[j+1];

mas[j+1]=temp;

}

cout<<"После сортировки: "<<endl;//вывод

for (int i=0;i<k;i++)

cout<<mas[i].name<<"\t"<<mas[i].town<<"\t"<<mas[i].data1.ch<<"\t"<<mas[i].data1.month<<endl;

}

else;

}

  1. ''Автомобиль'': марка; дата выпуска (число, месяц); цена.

#include "stdafx.h"//директивы

#include <iostream>

#include <locale>

using namespace std;

Void main()

{

setlocale(LC_ALL,"Russian");

const int n=100;//размерность массива

int k=n;//кол-во введенных данных

//структура

struct Data{//вложенная структура дата выпуска

int ch;//число

char month[10];//месяц

};

struct avto{//структура автомобиль

char marka[20];//марка

int tsena;//цена

struct Data data1;//влож. дата выпуска

};

struct avto mas[n];//массив структур

for (int i=0;i<n;i++){//заполнение

cout<<"Введите марку: ";

cin>>mas[i].marka;

cout<<"Введите цену: ";

cin>>mas[i].tsena;

cout<<"Введите число: ";

cin>>mas[i].data1.ch;

cout<<"Введите месяц выпуска: ";

cin>>mas[i].data1.month;

cout<<"Продолжить ввод? y- да, n-нет. ";

char x;

cin>>x;

if (x=='n'){

k=i+1;

break;

}

else;

}

for (int i=0;i<k;i++)//вывод

cout<<mas[i].marka<<"\t"<<mas[i].tsena<<"\t"<<mas[i].data1.ch<<"\t"<<mas[i].data1.month<<endl;

struct avto temp;//временная структура

char l;

cout<<"Выберите поле для сортировки: 1 - марка, 2 - цена: ";//диалог с пользователем

cin>>l;

if (l=='1'){//сортировка по марке

for (int i=0;i<k-1;i++)

for (int j=0;j<k-i-1;j++)

if (strcmp(mas[j].marka,mas[j+1].marka)>0){

temp=mas[j];

mas[j]=mas[j+1];

mas[j+1]=temp;

}

cout<<"После сортировки: "<<endl;//вывод

for (int i=0;i<k;i++)

cout<<mas[i].marka<<"\t"<<mas[i].tsena<<"\t"<<mas[i].data1.ch<<"\t"<<mas[i].data1.month<<endl;

}

if (l=='2'){//сортировка по цене

for (int i=0;i<k-1;i++)

for (int j=0;j<k-i-1;j++)

if (mas[j].tsena>mas[j+1].tsena){

temp=mas[j];

mas[j]=mas[j+1];

mas[j+1]=temp;

}

cout<<"После сортировки: "<<endl;//вывод

for (int i=0;i<k;i++)

cout<<mas[i].marka<<"\t"<<mas[i].tsena<<"\t"<<mas[i].data1.ch<<"\t"<<mas[i].data1.month<<endl;

}

else;

}

  1. ''Фильм'': название; режиссер (фамилия, имя); год выпуска.

#include "stdafx.h"//директивы

#include <iostream>

#include <locale>

using namespace std;