Есть ответ 👍

Задан массив натуральных чисел размером 30 элементов.элементы массива могут принимать значения от 1 до 1000.напишите программу в паскале нахождения и вывода на экран суммы элементов самой длинной последовательности подряд идущих нечетных элементов массива.если такой последовательности не существует, то программа должна вывести об этом сообщение.если таких последовательностей несколько, то суммировать можно элементы любой из них.входные данные: program rabota_s_massivom; const n=30; var m: array[1..n] of integer; i,k,s,kmax,reserve: integer; begin for i: =1 to n do readln(m[i]); end.

178
180
Посмотреть ответы 3

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


Проверено, работает на паскаль авс: program rabota_s_massivom; uses crt; label metka; const n=30; var m: array[1..n] of integer; i,k,s,kmax,reserve: integer; begin   for i: =1 to n do       begin           write('введите ',i,'-й элемент: '); readln(m[i]);       end;   writeln('массив: ');   for i: =1 to n do       begin           write(m[i],' ');       end;   k: =1; {число элементов в текущей последовательности. изначально считаем, что последовательность состоит из одного (первого) элемента} {ищем первый нечётный элемент: }   repeat       reserve: =reserve+1;   until (m[reserve] mod 2 = 1) or (reserve = 30);   writeln(reserve);   if (m[reserve] mod 2 = 0) and (reserve = 30) then   begin       writeln('все числа чётные. искомая последовательность не существует');       goto metka;   end;   s: =m[reserve]; {сумма элементов текущей последовательности пока что равна первому нечётному элементу}   kmax: =0; {наибольшая длина последовательности}   for i: =reserve+1 to n do {перебираем все элементы, начиная с первого нечётного}       begin           if (m[i] mod 2 = 1)               then {если текущее число всё ещё нечетно}                   begin                       s: =s+m[i]; {увеличиваем сумму последовательности}                       k: =k+1 {увеличиваем счётчик длины последовательности}                   end               else {если встретилось четное число}                   begin                       if k> kmax then {проверяем, не является ли полученная последовательность длиннее нашего максимума}                           begin {если да: }                               kmax: =k; {запоминаем новую длину последовательности}                               reserve: =s {запоминаем сумму её элементов}                           end;                       k: =0; {устанавливаем длину новой последовательности равной 0}                       s: =0  {сумма элементов этой последовательности тоже пока что = 0}                   end;       end;   if k> kmax then  {если самая длинная последовательность находится в конце массива, проверим ещё раз текущий максимум}       begin           kmax: =k;           reserve: =s       end;   writeln('самая длинная последовательность нечётных чисел состоит из ',kmax,' элементов');   writeln('и сумма этой последовательности равна ',reserve); metka: end.

Program rabota_s_massivom; const        n = 10; var     m : array[1..n] of integer;       i, max, nowmax, maxindex, index, summ : integer; begin      for i : = 1 to n do          readln(m[i]);       for i : = 1 to n do    begin          if m[i] mod 2 > 0 then     begin       if nowmax = 0 then         index : = i;       nowmax : = nowmax + 1;       if (i = n) and (nowmax > max) then       begin         max : = nowmax;         maxindex : = index;       end;     end     else       if nowmax > max then       begin         max : = nowmax;         maxindex : = index;         nowmax : = 0;       end;     end;   if max = 0 then     writeln('не существует')   else   begin     summ : = 0;     for i : = maxindex to maxindex + max - 1 do       summ : = summ + m[i];     writeln('сумма: ', summ);   end; end.как-то так

1)  k=7  бит n=2^k=2^7=128 чисел в диапазоне от 1 до n все по той же формуле хартли k=log2(n), из которой следует, что n=2^k2)  поскольку появление в сообщении определенного числа месяца, определенного месяца и определенного часа равновероятно из общего числа дней в месяце, общего числа месяцев, общего числа часов, то количество информации определяется по формуле: 2^i=n, где i – количество информации, n=31*12*24 – (количество дней в месяце)*(количество месяцев)*(количество часов в сутках). отсюда: 2^i=31*12*24=8928,    i=log2(31*12*24)≈13.12412131 бит. ps надеюсь догадаетесь что 2 у логарифма пишется внизу.3) если 7 карандашей - то  √7 =  2.64 бита. если б было 8, то было бы  3 бита: используем формулу  , где  n – количество возможных событий,i – количество информацииn = 8   i - ? n =  8 = i   = 3

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

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

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

Caktus Image

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

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

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

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

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

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

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

GTP TOP NEWS