![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
2.1. Структуры
Структура – это объединенное в единое целое множество поименованных элементов данных. Элементы структуры (поля) могут быть различного типа, они все должны иметь различные имена.
struct Date //определение структуры
{
int day;
int month;
int year;
};
Date birthday; //переменная типа Date
Для переменных одного и того же структурного типа определена операция присваивания. При этом происходит поэлементное копирование.
Доступ к элементам структур обеспечивается с помощью уточненных имен:
имя_структуры.имя_элемента//присваивание значений полям переменной birthday
birthday.day=11; birthday.month=3; birthday.year=1993;
Date Data;// присваивание значения переменной birthday переменной Data
Data=birthday;
Из элементов структурного типа можно организовывать массивы также как из элементов стандартных типов.
Date mas[15]; //массив структур//ввод значений массива
for(int i=0;i<15;i++)
{
cout<<”\nEnter day:”;cin>>mas[i].day;
cout<<”\nEnter month:”;cin>>mas[i].month;
cout<<”\nEnter year:”;cin>>mas[i].year;}
2. Постановка задачи
Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте.
Распечатать сформированный массив.
Выполнить поиск элементов в массиве, удовлетворяющих заданному в варианте условию и сформировать из них новый массив.
Распечатать полученный массив.
Сформировать динамический массив, состоящий из динамических строк.
Распечатать сформированный массив.
Выполнить обработку этого массива.
Распечатать полученный массив.
Варианты
№ варианта | Структура | Критерий для поиска в массиве структур | Задание для обработки массива строк |
1 | struct person { char*name; char *adres; int age; }; | Имена начинаются на букву ‘A’ | Добавить строку с заданным номером |
2 | struct date { int day; char*month; int year; }; | Даты с летними месяцами | Удалить строку с заданным номером |
3 | struct student { char*name; int kurs; float rating }; | Студенты первого курса | Добавить строку в конец массива |
4 | struct employee { char*name; float salary; int stage }; | Сотрудники со стажем больше 10 лет | Удалить строку из конца матрицы |
5 | struct pupil { char*name; int age; float rating }; | Ученики со средним баллом больше 4 | Добавить строку в начало массива |
6 | struct person { char*name; int age; }; | Возраст больше 25 лет | Удалить строку из начала массива |
7 | struct date { int day; char*month; int year; }; | Даты после 2000 года | Добавить К строк в конец массива |
8 | struct student { char*name; int kurs; float rating }; | Студенты, у которых рейтинг меньше 3 | Удалить К строк из конца матрицы |
9 | struct employee { char*name; float salary; int stage }; | Сотрудники, у которых имя начинается на букву ‘Л’ | Добавить К строк в начало массива |
10 | struct pupil { char*name; int age; float rating }; | Ученики, у которых фамилия “Иванов” | Удалить К строк из начала массива |
11 | struct person { char*name; int age; }; | Возраст меньше 18 | Удалить строку с номером К |
12 | struct date { int day; char*month; int year; }; | Дата принадлежит первой декаде месяца | Добавить строку с номером К |
13 | struct student { char*name; int kurs; float rating }; | Студены пятого курса | Удалить строки, начиная со строки К1 и до строки К2 |
14 | struct employee { char*name; float salary; int stage }; | Сотрудники со стажем меньше 3 лет | Добавить строки, начиная со строки К1 и до строки К2 |
15 | struct pupil { char*name; int age; float rating }; | Ученики со средним баллом равным 4.5 | Удалить все строки, которые начинаются на букву ‘F’ |
Дата публикования: 2015-10-09; Прочитано: 404 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!