+ 1
Помогите решить билетную кассу
Вы работаете над системой продажи билетов. Билет стоит $10. Касса предоставляет программу скидок: каждая группа из 5 человек получает скидку, которая определяется возрастом самого молодого человека в группе. Вам нужно создать программу, которая принимает на входе возраст всех 5 людей и выводит общую стоимость билетов. Пример Входных Данных: 55 28 15 38 63 Пример Выходных Данных: 42.5 Самый молодой возраст - 15, поэтому группа получает 15% скидку от общей стоимости, что составляет $50 - 15% = $42.5
11 odpowiedzi
+ 11
#include <iostream>
using namespace std;
int main() {
int ages[5];
for (int i = 0; i < 5; ++i)
{
cin>>ages[i];
}
int min=0;
min=ages[0];
for (int i = 0; i < 5; ++i)
{
if (ages[i]<min)
min=ages[i];
}
cout<<50.0-50.0/100.0 *min<<endl;
}
+ 2
Спасибо
+ 2
У меня так получилось, работает)
#include <iostream>
using namespace std;
int main() {
int ages[5];
for (int i = 0; i < 5; ++i) {
cin >> ages[i];
}
int a=min(ages[0], ages[1]);
int b=min(ages[2], ages[3]);
int d=min(a,b);
float c=min(ages[4],d);
float *p=&c;
float t=*p*50/100;
float *o=&t;
float r=50 - *o;
cout <<r<<endl;
return 0;
}
+ 2
age = int(input())
#ваш код
new = 0
old = 0
for x in data.values():
old += 5 if x < 18 else 20
for var in data.values():
new += 5 if var < age else 20
if age < 18:
print(int((new - old) / old * 100))
else:
print(0)
Вот такой варинт сработал, нашел его в другой группе
+ 1
Я тоже не могу решить эту задачу, вот мой код:
//ваш код
int a = ages[0];
int b = ages[1];
int c = ages[2];
int d = ages[3];
int e = ages[4];
double all = 50.0;
if (a < b && a < c && a < d && a < e && a > 0) {
double p = all / 100 * a;
double m = all - p;
cout << m;
}
else if(b < a && b < c && b < d && b < e && b > 0) {
double pr = all / 100 * b;
double mo = all - pr;
cout << mo;
}
else if(c < b && a < c && c < d && c < e && c > 0) {
double pro = all / 100 * c;
double mon = all - pro;
cout << mon;
}
else if(d < b && d < c && d < a && d < e && d > 0) {
double proc = all / 100 * d;
double mone = all - proc;
cout << mone;
}
else if(e < b && e < c && e < d && e < a && e > 0) {
double procent = all / 100 * e;
Но он не проходит "Тест 3"(скрытый тест).😢
+ 1
#include <iostream>
using namespace std;
int main() {
int ages[5];
for (int i = 0; i < 5; ++i) {
cin >> ages[i];
}
//ваш
float sm=ages[0];
if(ages[1]<sm){
sm=ages[1];
}
if(ages[2]<sm){
sm=ages[2];
}
if(ages[3]<sm){
sm=ages[3];
}
if(ages[4]<sm){
sm=ages[4];
}
cout<<(100-sm)/2;
return 0;
}
компилятор SoloLearn работает некорректно, и не сравнивает значения внутри цикла
0
#include <iostream>
using namespace std;
int main() {
int ages[5];
for (int i = 0; i < 5; ++i)
{
cin >> ages[i];
}
//ваш код
float min;
min = ages[0]
for (int x = 0; x < 5; ++x)
{
if (ages[x] < min)
{
min = ages[x];
}
}
cout << (50 * (100 - min)) / 100 << endl;
return 0;
}
0
Учимся анализу кода: (Мне помог код "Eрбулан Алшыбаев") Как мы видем код по очереди сравнивает число различных массивов переменной "sm", В таком случае думаем как можно правильно оптимизировать код: Используем for для создания цикла (В моём случае на переменной "x") внутри For используем "If" Для сравнение, пишем (В моём случае) ages[x] < min, min = ages[x]
Сам код для анализа или использования (Главное для начала понять как работает код, а потом уже брать его. Взяв готовый код и не понимая как он работает, вы просто скопируйте код и всё. это не программирование, а копирование в буквальном смысле!)
#include <iostream>
using namespace std;
int main() {
int ages[5];
for (int i = 0; i < 5; ++i) {
cin >> ages[i];
}
//ваш код
float min = ages[0];
for (int x = 0; x < 5; ++x) {
if (ages[x] < min) {
min = ages[x];
}
}
cout << (100 - min) / 2 << endl;
return 0;
}
0
Вот:
int ages[5];
for (int i = 0; i < 5; ++i) {
cin >> ages[i];
}
//ваш код
int min = ages[0];
for(int i = 0; i < 5; i++)
if(min > ages[i])
min = ages[i];
cout << 50 - (float) 50 / 100 * min;
0
int ages[5];
double k=1000;
for (int i = 0; i < 5; ++i)
{
cin >> ages[i];
if (ages[i]<k)
{
k=ages[i];
}
}
cout << 50 - ((50*k)/100)<< endl;
0
int main() {
int ages[5];
for (int i = 0; i < 5; ++i) {
cin >> ages[i];
}
//ваш код
float t=50.0;
int min= ages[0];
for(int i=0;i<5;i++){
if(ages[i]<min){
min=ages[i];
}
}
cout<<t-((t*min)/100)<<endl;
return 0;
}