М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
yliachedrina200
yliachedrina200
06.10.2020 11:58 •  Информатика

Переведите двоичное число в шестнадцатеричное 101101,11011

👇
Ответ:
ArtSvet
ArtSvet
06.10.2020
ответ 100% правильный: 2D,D8             
4,6(96 оценок)
Открыть все ответы
Ответ:
LianessaAngel2
LianessaAngel2
06.10.2020
Одно из решений, возможно, не самое эффективное
#include <iostream>
#include <iomanip>
int main()
{
    using namespace std;

    //исходная последовательность
    const int N = 8;
    double Arr[N] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };

    //вывод на экран исходной последовательности
    for (int i = 0; i < N; ++i)
        cout << Arr[i] << "  ";
    cout << endl;

    //подсчитаем количества отрицательных и неотрицательных элементов
    int kpos = 0;
    int kneg = 0;
    for (int i = 0; i < N; ++i)
        if (Arr[i] < 0)
            ++kneg;
        else
            ++kpos;

    //создадим массивы отрицательных и неотрицательных элементов
    double * ArrNeg = new double[kneg];
    double * ArrPos = new double[kpos];

    int kn = 0, kp = 0;
    for (int i = 0; i < N; i++)
        if (Arr[i] < 0)
            ArrNeg[kn++] = Arr[i];
        else
            ArrPos[kp++] = Arr[i];

    cout << "Enter a, b, c or d: ";
    char ch;
    cin >> ch;

    if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd')
    {
        switch (ch)
        {
            //пункт а)
            case 'a':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[i];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[i];
                break;

                //пункт б)
            case 'b':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[--kn];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[i];
                break;

                //пункт в)
            case 'c':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[i];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[--kp];
                break;

                //пункт г)
            case 'd':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[--kn];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[--kp];
                break;
        }
    }
    else
        cout << "You entered wrong symbol\n";

    for (int i = 0; i < N; ++i)
        cout << Arr[i] << "  ";
    cout << endl;
    delete[] ArrNeg;
    delete[] ArrPos;
    return 0;
}
4,8(77 оценок)
Ответ:
shabrikovayana
shabrikovayana
06.10.2020

Если вам подойдёт одним циклом:

arr = {

~~-9 : { 10: 0, 5: 0, 2: 0 } , -8 : { 10: 0, 5: 0, 2: 0 } ,

~~-7 : { 10: 0, 5: 0, 2: 0 } , -6 : { 10: 0, 5: 0, 2: 0 } ,

~~-5 : { 10: 0, 5: 0, 2: 0 } , -4 : { 10: 0, 5: 0, 2: 0 } ,

~~-3 : { 10: 0, 5: 0, 2: 0 } , -2 : { 10: 0, 5: 0, 2: 0 } ,

~~-1 : { 10: 0, 5: 0, 2: 0 } , 0 : { 10: 0, 5: 0, 2: 0 } }

n = int(input())

for i in range(1, n + 1):

~~arr[i] = {

10 : (i >= 10) + arr[i - 10][10] + arr[i - 10][5] + arr[i - 10][2],

5: (i >= 5) + arr[i - 5][5] + arr[i - 5][2],

2: (i >= 2) + arr[i - 2][2]

~~ }

print(arr[n][10] + arr[n][5] + arr[n][2] + 1)

Возможно есть ошибка.

4,5(26 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ