132427
22.11.2020 12:46

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые положительные значения от 1 до 10 000 включительно. Напишите на одном из языков программирования программу, которая находит сумму минимального из чётных элементов массива и минимального из нечётных элементов массива, затем уменьшает все элементы массива, которые больше этой суммы, на величину этой суммы, и выводит изменённый массив в обратном порядке, по одному числу в строке. Если в массиве нет чётных или нечётных элементов, считается, что соответствующий минимум равен 0. Например, из массива
7, 5, 2, 4, 8, 10, 14, 15
программа должна получить массив
7, 5, 2, 4, 1, 3, 7, 8
и вывести (по одному числу в строке) числа:
8 7 3 1 4 2 5 7
PYTHON

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Vauuu
24.01.2020 13:03
#include <iostream>
#include <string>

using namespace std;

string solve(int num, int divd)
{
    string result = "";
    int count = 0;
    while(num)
    {
        count = num / divd;
        if(count)
        {
            num %= divd;
            for (int i = 0; i < count; i++)
                switch(divd)
                {
                    case 1000:
                    {
                        result+="M";
                        break;
                    }
                    case 900:
                    {
                        result+="CM";
                        break;
                    }
                    case 800:
                    {
                        result+="DCC";
                        break;
                    }
                    case 700:
                    {
                        result+="DCC";
                        break;
                    }
                    case 600:
                    {
                        result+="DC";
                        break;
                    }
                    case 500:
                    {
                        result+="D";
                        break;
                    }
                    case 400:
                    {
                        result+="CD";
                        break;
                    }
                    case 300:
                    {
                        result+="CCC";
                        break;
                    }
                    case 200:
                    {
                        result+="CC";
                        break;
                    }
                    case 100:
                    {
                        result+="C";
                        break;
                    }
                    case 90:
                    {
                        result+="XC";
                        break;
                    }
                    case 80:
                    {
                        result+="LXXX";
                        break;
                    }
                    case 70:
                    {
                        result+="LXX";
                        break;
                    }
                    case 60:
                    {
                        result+="LX";
                        break;
                    }
                    case 50:
                    {
                        result+="L";
                        break;
                    }
                    case 40:
                    {
                        result+="XL";
                        break;
                    }
                    case 30:
                    {
                        result+="XXX";
                        break;
                    }
                    case 20:
                    {
                        result+="XX";
                        break;
                    }
                    case 10:
                    {
                        result+="X";
                        break;
                    }
                    case 9:
                    {
                        result+="IX";
                        break;
                    }
                    case 8:
                    {
                        result+="VIII";
                        break;
                    }
                    case 7:
                    {
                        result+="VII";
                        break;
                    }
                    case 6:
                    {
                        result+="VI";
                        break;
                    }
                    case 5:
                    {
                        result+="V";
                        break;
                    }
                    case 4:
                    {
                        result+="IV";
                        break;
                    }
                    case 3:
                    {
                        result+="III";
                        break;
                    }
                    case 2:
                    {
                        result+="II";
                        break;
                    }
                    case 1:
                    {
                        result+="I";
                        break;
                    }
                }
        }
        if(divd <= 1000 && divd > 100) divd-=100;
        else if(divd <= 100 && divd > 10) divd-=10;
        else divd-=1;
    }
    return result;
}

int main()
{
    int num,count;
    cin >> num;
    if(num <= 3999) cout << solve(num,1000);
    else cout << "Incorrect input.";
    return 0;
}
0,0(0 оценок)
Ответ:
xDanielDash
24.01.2020 13:03
#include<iostream> #include<string> using std::string; string func(int num, string, string, string); int main(int argc, char argv[]) {     system("chcp 1251>0");     std::cout << "Введите число не большее 3999: ";       int arabien_num;       if (!(std::cin >> arabien_num) || (arabien_num > 3999)) {         std::cerr << "Невозможно инициализировать число!" << std::endl;         exit(1);     }       std::string rome_num;       rome_num += func(arabien_num / 1000, "", "", "M");     arabien_num %= 1000;     rome_num += func(arabien_num / 100, "M", "D", "C");     arabien_num %= 100;     rome_num += func(arabien_num / 10,  "C", "L", "X");     arabien_num %= 10;     rome_num += func(arabien_num ,   "X", "V", "I");     std::cout << rome_num << std::endl;     return 0; } string func(int num, string hi, string re, string lo) {     switch(num)     {         case 9:             return lo + hi;         case 8:             return re + lo + lo + lo;         case 7:             return re + lo + lo;         case 6:             return re + lo;         case 5:             return re;         case 4:             return lo + re;         case 3:             return lo + lo + lo;         case 2:             return lo + lo;         case 1:             return lo;         case 0:             return "";     } }
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота