Есть ответ 👍

Написать программу на с++ для нахождения минимального значения среди положительных и максимальное среди нечетных

106
280
Посмотреть ответы 2

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


#include

using namespace std;

int main()

{

    int n;

    cin > > n;

    int a[n];

    for(int i=0; i

        cin > > a[i];

    // можно работать

    int min=32767, max=-32768;

    for(int i=0; i

    {

        if((a[i]> 0) & & (a[i]

            min=a[i];

        if((abs(a[i])%2! =0) & & (a[i]> max))

            max=a[i];

    }

    cout < < "min = " < < min < < ", max = " < < max;

    return 0;

}


R=a+b+c, где a=53₁₀, b=653₈, c=da₁₆, r=r₂ эту можно решать разными способами; выбор зависит от умения решающего выполнять сложение в той или иной системе счисления. но в любом варианте, сначала нужно представить а, в, с в какой-то одной системе счисления. посмотрим, как это будет выглядеть, если пользоваться привычной нам десятичной системой. 653₈ = 6·8²+5·8¹+3·8⁰ = 6·64+5·8+3 = 427 da₁₆ = 13·16¹+10·16⁰ = 218 r₁₀ = 53+427+218 = 698 переводим полученное число в двоичную систему, получая r₂: 698/2=349, остаток 0 349/2=174, остаток 1 174/2=87, остаток 0 87/2=43, остаток 1 43/2 =21, остаток 1 21/2=10, остаток 1 10/2=5, остаток 0 5/2=2, остаток 1 2/2=1, остаток 0 1/2=0, остаток 1 выписываем остатки в обратном порядке: 1010111010. это и есть ответ. а теперь допустим, что мы хорошо владеем восьмеричной системой счисления. 1) получим а₈ 53/8=6, остаток 5 6/8=0, остаток 6 выписываем остатки в обратном порядке: а₈=65 2) получим с₈, для чего перейдем сначала в двоичную систему с₂=1101 1010 (просто заменяем каждую цифру четырьмя двоичными). а теперь разобьем справа налево полученное значение по три разряда и каждую полученную триаду заменим восьмеричной цифрой. 11 011 010₂ = 332₈ 3) выполним сложение r₈=a₈+b₈+c₈     65          740 +653          +332             740          1272 складывать в восьмеричной системе просто, если знать одну маленькую хитрость. 8 отличается от 10 на 2, поэтому и результат сложения в восьмеричной системе на 2 больше, чем в десятичной, если число превышает 7. смотрим: 5+3=8, но это в десятичной, а в восьмеричной это на 2 больше, т.е. 10. поэтому мы пишем 0 и +1 идет в следующий разряд. 6+5=11 и еще +1 от переноса, итого 12. но в восьмеричной на 2 больше, т.е. 14. 4 пишем. +1 перенос. 6 и +1 от переноса - 7. вот и получили 740. 4) мы нашли r₈, переходим к r₂. заменяем каждую восьмеричную цифру тремя двоичными: 1272₈=1 010 111 010₂ мы получили тот же ответ, что и в предыдущем способе расчета. так что - дело привычки. второй вариант кажется "непосвященному" сложнее, но на самом деле в нем меньше арифметики и если нет под рукой калькулятора, то может оказаться и быстрее, и удобнее. ответ: 1010111010

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS