Решить задачку на c++

Gafask

Участник
Автор темы
137
13
Задачка :
Screenshot_20201206_073559_com.sololearn.jpg


Как попытался решить её я :
Задачка:
#include <iostream>
using namespace std;
int v[5];
    float skidka;
    int i;

void obhskidka(int минвозраст){
        skidka =   50-0.5*v[минвозраст];
       cout<<skidka;     
        }
        
int main() {
    

    for (i = 0; i < 5; ++i) {
        cin >> v[i];
       //cout<<v[i]<<" "<<i<<endl;
  }
//0
if(v[0]<v[1]&&v[0]<v[2]&&v[0]<v[3]&&v[0]<v[4]){
    obhskidka(0);
}
//1
if(v[1]<v[0]&&v[1]<v[2]&&v[1]<v[3]&&v[1]<v[4]){
    obhskidka(1);
   // cout<<v[1]<<endl;
}
//2
if(v[2]<v[0]&&v[2]<v[1]&&v[2]<v[3]&&v[2]<v[4]){
    obhskidka(2);
}
//3
if(v[3]<v[0]&&v[3]<v[1]&&v[3]<v[2]&&v[3]<v[4]){
    obhskidka(3);
}
//4
if(v[4]<v[0]&&v[4]<v[1]&&v[4]<v[2]&&v[4]<v[3] ){
    obhskidka(4);
}
 
    return 0;
}
В армии мозги плохо работают сори, ещё 200 дней до дома но не суть.

На выходе имею :
Screenshot_20201206_122213_com.sololearn.jpg

То что все кроме теста 3 не выполнены, и он скрыт Тоесть неизвестно что в нем а вот тест 1 и 2 покажу :
Screenshot_20201206_123605_com.sololearn.jpg
Screenshot_20201206_123608_com.sololearn.jpg


Задачка из программы sololearm, сразу скажу тут типо код запускается и с начало с 1 тестом потом обнуляется и с 2 и так далее. Тоесть нужно построит код так чтобы программа работала верно при любом возрасте людей будь это 1 или 754.
Я рили чот не понимаю как решить в армейке времени ооочень мало на это, хелпаниие чтобы когда увидел решение вопроса я кайфанул и понял что я тупой и надо было решать именно так))).
 
Решение
Задачка :Посмотреть вложение 78397

Как попытался решить её я :
Задачка:
#include <iostream>
using namespace std;
int v[5];
    float skidka;
    int i;

void obhskidka(int минвозраст){
        skidka =   50-0.5*v[минвозраст];
       cout<<skidka;    
        }
       
int main() {
   

    for (i = 0; i < 5; ++i) {
        cin >> v[i];
       //cout<<v[i]<<" "<<i<<endl;
  }
//0
if(v[0]<v[1]&&v[0]<v[2]&&v[0]<v[3]&&v[0]<v[4]){
    obhskidka(0);
}
//1
if(v[1]<v[0]&&v[1]<v[2]&&v[1]<v[3]&&v[1]<v[4]){
    obhskidka(1);
   // cout<<v[1]<<endl;
}
//2
if(v[2]<v[0]&&v[2]<v[1]&&v[2]<v[3]&&v[2]<v[4]){
    obhskidka(2);
}
//3
if(v[3]<v[0]&&v[3]<v[1]&&v[3]<v[2]&&v[3]<v[4]){
    obhskidka(3);
}
//4...

Izvinisb

Известный
Проверенный
963
599
Задачка :Посмотреть вложение 78397

Как попытался решить её я :
Задачка:
#include <iostream>
using namespace std;
int v[5];
    float skidka;
    int i;

void obhskidka(int минвозраст){
        skidka =   50-0.5*v[минвозраст];
       cout<<skidka;    
        }
       
int main() {
   

    for (i = 0; i < 5; ++i) {
        cin >> v[i];
       //cout<<v[i]<<" "<<i<<endl;
  }
//0
if(v[0]<v[1]&&v[0]<v[2]&&v[0]<v[3]&&v[0]<v[4]){
    obhskidka(0);
}
//1
if(v[1]<v[0]&&v[1]<v[2]&&v[1]<v[3]&&v[1]<v[4]){
    obhskidka(1);
   // cout<<v[1]<<endl;
}
//2
if(v[2]<v[0]&&v[2]<v[1]&&v[2]<v[3]&&v[2]<v[4]){
    obhskidka(2);
}
//3
if(v[3]<v[0]&&v[3]<v[1]&&v[3]<v[2]&&v[3]<v[4]){
    obhskidka(3);
}
//4
if(v[4]<v[0]&&v[4]<v[1]&&v[4]<v[2]&&v[4]<v[3] ){
    obhskidka(4);
}

    return 0;
}
В армии мозги плохо работают сори, ещё 200 дней до дома но не суть.

На выходе имею :Посмотреть вложение 78400
То что все кроме теста 3 не выполнены, и он скрыт Тоесть неизвестно что в нем а вот тест 1 и 2 покажу :Посмотреть вложение 78401Посмотреть вложение 78402

Задачка из программы sololearm, сразу скажу тут типо код запускается и с начало с 1 тестом потом обнуляется и с 2 и так далее. Тоесть нужно построит код так чтобы программа работала верно при любом возрасте людей будь это 1 или 754.
Я рили чот не понимаю как решить в армейке времени ооочень мало на это, хелпаниие чтобы когда увидел решение вопроса я кайфанул и понял что я тупой и надо было решать именно так))).
C++:
#include <iostream>

int main()
{
    using namespace std;
    setlocale(LC_ALL, "ru");
    const int SIZE = 5;
    int arr[SIZE];
    cout << "Введите возраст 5-и человек: ";
    for (int i = 0; i < SIZE; i++)
        cin >> arr[i];
    int min = arr[0];
    for (int i = 1; i < SIZE; i++)
    {
        if (arr[i] < min)
            min = arr[i];
    }
    cout << "Ответ: " << 50.0 - min / 100.0 * 50.0 << endl;
    return 0;
}
 
  • Нравится
Реакции: Gafask

Gafask

Участник
Автор темы
137
13
C++:
#include <iostream>

int main()
{
    using namespace std;
    setlocale(LC_ALL, "ru");
    const int SIZE = 5;
    int arr[SIZE];
    cout << "Введите возраст 5-и человек: ";
    for (int i = 0; i < SIZE; i++)
        cin >> arr[i];
    int min = arr[0];
    for (int i = 1; i < SIZE; i++)
    {
        if (arr[i] < min)
            min = arr[i];
    }
    cout << "Ответ: " << 50.0 - min / 100.0 * 50.0 << endl;
    return 0;
}
Воу, пасиб. Код интересный я даже не знал что в cout можно щитать что то и потом ответ будет выведен, надо будет поподробнее вашь код ковырнуть.
 
  • Ха-ха
Реакции: Izvinisb

Vintik

Через тернии к звёздам
Проверенный
1,526
1,011
ваш код ковырнуть.
Нееет, чел. Не делай этого. @SaloFan, зачем учить гадостям, записывать массив когда он не нужен.

C++:
#include <iostream>

int main()
{
    int vozr; // возраст минимального чела.
    for (int i = 0; i < 5; i++)
    {
        int t;
        cin >> t;
        if (i == 0 || t < vozr)
            vozr = t; // если введенный возраст меньше, чем был (или это 1 ввод). то в vozr записываем новый минимальный возраст
    }
    float ans = 50.0f * (1.0f - (float)vozr / 100.0f);
    std::cout << ans << std::endl;
    return 0;
}
 
Последнее редактирование:
  • Нравится
  • Bug
Реакции: Izvinisb и kin4stat

Vintik

Через тернии к звёздам
Проверенный
1,526
1,011

Vintik

Через тернии к звёздам
Проверенный
1,526
1,011

Gafask

Участник
Автор темы
137
13
Модератор такой же как и мы, не бог.
Вы правы , будем теперь придерживаться данной теории . Модератор извините но вы с этого момента не являетесь богом .
 
  • Ха-ха
Реакции: Vintik