profile
Размещено 6 лет назад по предмету Информатика от begenjov1997

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит самую большую сумму двух соседних элементов и заменяет на эту сумму все элементы, кратные 3. Гарантируется, что в массиве есть хотя бы один элемент, кратный 3. В качестве результата необходимо вывести измененный массив в обратном порядке, каждый элемент массива выводится с новой строчки. Например, для массива из восьми элементов:
1 2 6 3 2 7 3 4
программа должна вывести (по одному числу в строке) числа:
4 10 7 2 10 10 2 1
Язык Паскаль

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален

    PascalABC.NET 3.4.2, сборка 1837 от 11.10.2018

    Внимание! Если программа не работает, обновите версию!

    begin

     var a := ArrRandom(30, 0, 10000); // сформировали массив

     a.Println; // вывели его элементы, если не надо, уберите строку

     var smax := a.Pairwise.Select(t -> t[0] + t[1]).Max; // макс. сумма в парах

     a.Reverse.Select(t -> t mod 3 = 0 ? smax : t).Printlines // все остальное

    end.

  2. Ответ на вопрос
    Ответ на вопрос дан Alphaeus

    {PascalABC}

    Program Begenjov1997;

    const

     n = 30; {Количество элементов массива}

     m = 10000; {Максимально возможное значение элемента}

    var

     a:array[1..n] of integer;

     i, sum: integer;

     s:string;

    begin

     s:='**** -=Alphaeus=- ****';

     for i:=1 to 22 do begin write(s[i]); sleep(60) end;

    {заполняем массив случайными числами}

     writeln; randomize;

     for i:=1 to n do

       begin

         a[i]:=random(m+1);

       end;

    {Ищем максимальную сумму двух соседних элементов}

     sum:=a[1]+a[2];

     for i:=2 to n-1 do

         if (a[i]+a[i+1]>sum) then sum:=a[i]+a[i+1];

    {Заменяем элементы, кратные 3, наденной суммой}

     for i:=1 to n do

         if (a[i] mod 3 = 0) then  a[i]:=sum;

    {Вывод}

     writeln('Массив А в обратном порядке:');

     for i:=0 to n-1 do writeln(a[n-i],'  ');

     writeln();

     writeln('Максимальная сумма двух соседних элементов равна ',sum);

    end.

    1. Ответ на вопрос
      Ответ на вопрос дан begenjov1997
      Извините s:=‘****_=Alphaeus=_**** это что
    2. Ответ на вопрос
      Ответ на вопрос дан Alphaeus
      Это как бы защита от бездумного копирования чужих ответов другими участниками Сервиса :)
    3. Ответ на вопрос
      Ответ на вопрос дан Alphaeus
      Эту и следующую строку можно просто выбросить
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.