ПРОГРАММИРОВАНИЕ НА С++ Картотека видеобиблиотеки организована в виде массива структур с полями: названием фильма, стоимостью, режиссером. Введите информацию в видеобиблиотеку и укажите информацию о фильмах, стоимость которых превышает среднюю максимальную и минимальную стоимость.
struct Film{
char name[50];
float cost;
char director[50];
};
int main(){
int n;
cout << "Введите количество фильмов: ";
cin >> n;
Film films[n];
... // продолжение описания алгоритма
}
2. Заполнить массив данными о фильмах. Для этого можно использовать цикл for, который пройдет по всем элементам массива и будет запрашивать у пользователя информацию (название, стоимость, режиссер) для каждой структуры.
for(int i = 0; i < n; i++){
cout << "Введите название фильма: ";
cin >> films[i].name;
cout << "Введите стоимость фильма: ";
cin >> films[i].cost;
cout << "Введите режиссера фильма: ";
cin >> films[i].director;
}
3. Вычислить среднее значение стоимости всех фильмов в видеобиблиотеке. Для этого необходимо пройти по всем элементам массива и сложить значение поля "стоимость", а затем разделить полученную сумму на количество элементов массива.
float sum = 0;
for(int i = 0; i < n; i++){
sum += films[i].cost;
}
float average_cost = sum / n;
4. Найти максимальную и минимальную стоимость фильмов в массиве. Для этого можно воспользоваться переменными, которые будут хранить значения максимальной и минимальной стоимости, и сравнивать их с каждым элементом массива.
float max_cost = films[0].cost;
float min_cost = films[0].cost;
for(int i = 1; i < n; i++){
if(films[i].cost > max_cost){
max_cost = films[i].cost;
}
if(films[i].cost < min_cost){
min_cost = films[i].cost;
}
}
5. Вывести информацию о фильмах, стоимость которых превышает среднюю максимальную и минимальную стоимость. Для этого нужно пройти по всем элементам массива и проверять каждый элемент на соответствие критериям.
cout << "Фильмы со стоимостью выше среднего (" << average_cost << "):n";
for(int i = 0; i < n; i++){
if(films[i].cost > average_cost){
cout << films[i].name << " (" << films[i].director << ") - " << films[i].cost << endl;
}
}
cout << "Фильмы со стоимостью выше максимальной (" << max_cost << "):n";
for(int i = 0; i < n; i++){
if(films[i].cost > max_cost){
cout << films[i].name << " (" << films[i].director << ") - " << films[i].cost << endl;
}
}
cout << "Фильмы со стоимостью ниже минимальной (" << min_cost << "):n";
for(int i = 0; i < n; i++){
if(films[i].cost < min_cost){
cout << films[i].name << " (" << films[i].director << ") - " << films[i].cost << endl;
}
}
6. В результате выполнения программы на экране будут выведены информация о фильмах, стоимость которых превышает среднюю максимальную и минимальную стоимость. Например, можно получить следующий вывод:
Введите количество фильмов: 5
Введите название фильма: Фильм 1
Введите стоимость фильма: 500
Введите режиссера фильма: Режиссер 1
Введите название фильма: Фильм 2
Введите стоимость фильма: 1000
Введите режиссера фильма: Режиссер 2
Введите название фильма: Фильм 3
Введите стоимость фильма: 800
Введите режиссера фильма: Режиссер 1
Введите название фильма: Фильм 4
Введите стоимость фильма: 1500
Введите режиссера фильма: Режиссер 3
Введите название фильма: Фильм 5
Введите стоимость фильма: 2000
Введите режиссера фильма: Режиссер 4
Фильмы со стоимостью выше среднего (960):
Фильм 2 (Режиссер 2) - 1000
Фильм 3 (Режиссер 1) - 800
Фильм 4 (Режиссер 3) - 1500
Фильмы со стоимостью выше максимальной (2000):
Фильм 5 (Режиссер 4) - 2000
Фильмы со стоимостью ниже минимальной (500):
Фильм 1 (Режиссер 1) - 500
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет