
Помогите закончить программу с++! Не получается написать программу. Задание такое--->Создать
комбинированный (структурный) тип для списка CD-дисков (название альбома, исполнитель, год выпуска, длительность, стоимость). Описать функцию нахождения общей длительности всех музыки на всех дисках в коллекции. Пользователь задает два комбинированных массива по N элементов в каждом.(для двух коллекций). Применить функцию два раза для заданных двух коллекций. . (Так же будет уместно описать процедуру ввода комбинированного массива и процедуру вывода.) с++ код(не знаю правильно или нет)#include #include using namespace std;struct sddisc {string name; //название альбомаfloat singer; //исполнительfloat time; //год выпускаfloat duration; //длительностьfloat cost; //стоимость};int ssddisc(sddisc x[], int n) { //ф-ия находения сам. длительности всех музыкиint num = 0; //номер музыкиfloat min = x[0].duration;for (int i = 1; i < n; i++) {if (x[i].duration > min) //(???)min = x[i].duration; num = i;}return(num);}int main(void) {int n, m;cout << "vvedite ko-vo el.v 1massive" << endl;cin >> n;cout << "vvedite ko-vo el.v 2massive" << endl;cin >> m;sddisc* r = new sddisc[n];sddisc* f = new sddisc[m];}

Ответы на вопрос

#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
struct CD{
string name;
string singer;
int year;
int duration;
double cost;
};
signed main() {
int ans1 = 0,ans2 = 0;
int n;
cin >> n;
CD a1[n],a2[n];
for(int i = 0; i < n; i++)
cin >> a1[i].name >> a1[i].singer >> a1[i].year >> a1[i].duration >> a1[i].duration;
for(int i = 0; i < n; i++)
cin >> a2[i].name >> a2[i].singer >> a2[i].year >> a2[i].duration >> a2[i].duration;
for(auto i: a1)
ans1 += i.duration;
for(auto i: a2)
ans2 += i.duration;
cout << "1 collection durates: " << ans1 << "\n";
cout << "2 collection durates: " << ans2 << "\n";
cout << "both collections durate: " << ans1 + ans2 << "\n";
}



Ваша программа нуждается в некоторых изменениях и дополнениях, чтобы она правильно выполняла задание. Вот исправленный и дополненный код:
cpp#include <iostream>
#include <string>
using namespace std;
struct CD {
string albumName;
string artist;
int year;
float duration;
float cost;
};
// Функция для нахождения общей длительности музыки на всех дисках
float totalDuration(CD arr[], int n) {
float total = 0.0;
for (int i = 0; i < n; i++) {
total += arr[i].duration;
}
return total;
}
// Процедура для ввода данных в массив CD
void inputCDArray(CD arr[], int n) {
for (int i = 0; i < n; i++) {
cout << "Введите название альбома: ";
cin.ignore(); // Очистка буфера ввода
getline(cin, arr[i].albumName);
cout << "Введите имя исполнителя: ";
getline(cin, arr[i].artist);
cout << "Введите год выпуска: ";
cin >> arr[i].year;
cout << "Введите длительность (в минутах): ";
cin >> arr[i].duration;
cout << "Введите стоимость: ";
cin >> arr[i].cost;
}
}
// Процедура для вывода данных из массива CD
void outputCDArray(CD arr[], int n) {
for (int i = 0; i < n; i++) {
cout << "Название альбома: " << arr[i].albumName << endl;
cout << "Исполнитель: " << arr[i].artist << endl;
cout << "Год выпуска: " << arr[i].year << endl;
cout << "Длительность (в минутах): " << arr[i].duration << endl;
cout << "Стоимость: " << arr[i].cost << endl;
cout << "-----------------------------" << endl;
}
}
int main() {
int n, m;
cout << "Введите количество элементов в первом массиве: ";
cin >> n;
cout << "Введите количество элементов во втором массиве: ";
cin >> m;
CD* collection1 = new CD[n];
CD* collection2 = new CD[m];
cout << "Введите данные для первого массива:" << endl;
inputCDArray(collection1, n);
cout << "Введите данные для второго массива:" << endl;
inputCDArray(collection2, m);
cout << "Длительность всей музыки в первой коллекции: " << totalDuration(collection1, n) << " минут" << endl;
cout << "Длительность всей музыки во второй коллекции: " << totalDuration(collection2, m) << " минут" << endl;
delete[] collection1;
delete[] collection2;
return 0;
}
Этот код позволит вам создать два массива CD-дисков, ввести данные для каждого диска, вычислить общую длительность музыки на каждом из них и вывести результаты.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili