Есть ответ 👍

Программу дала училка условия немного тупы хотя бы с 1 написать 2 программы на языке паскаль 1) массив чисел a1, упорядочить так, чтобы положительные и отрицательные числа чередовались, учитывая что их количество одинаковое. 2) 1: реализовать процесс полного построения алгоритма для , выполняющей следующие операции: • ввод с клавиатуры числовой последовательности (одномерного массива); • сортировка последовательности по возрастанию (убыванию) указанным методом; • поиск заданного элемента в последовательности (по вариантам) цель поиска данных: - варианты 19 – поиск ключевого (заданного) элемента; сортировку данных реализовать: - варианты 1, 9 - алгоритмом хоара в форме программы отобразить поля вывода с пояснениями для следующих данных программы: исходная последовательность; отсортированная последовательность; ключевой элемент для поиска для вариантов 1, 3, 6, 9; результат поиска

115
238
Посмотреть ответы 2

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

romawylka
4,4(55 оценок)

1. const   n=30; var   a,b: array[1..n] of integer;   i,j,k: integer; begin   { самое сложное - создать такой массив,       где положительные и отрицательные элементы будут случайно       перемешаны и их будет по n/2.       если организовать ввод с клавиатуры, то это гораздо проще.   }   randomize;   { инициализация "флажком" - значением 1000 }   for i: =1 to n do a[i]: =1000;   { сначала генерируем n/2 случайных отрицательных на случайных местах }   for i: =1 to (n div 2) do   begin       k: =random(50)-50; { случайное отрицательное значение }       { а теперь ищем случайное свободное место }       repeat           j: =random(30)+1       until a[j]=1000;       a[j]: =k   end;   { теперь осталось сгенерировать n/2 случайных положительных чисел       и разместить их на свободных местах }   for i: =1 to (n div 2) do   begin       k: =random(50)+1; { случайное положительное значение }       { а теперь ищем свободное место }       j: =0;       repeat           inc(j)       until a[j]=1000;       a[j]: =k   end;   { и только отсюда начинается собственно }   writeln('исходный массив');   for i: =1 to n do write(a[i]: 4);   writeln;   { j - количество обработанных отрицательных,       k - количество положительных,       а массив строим так, что отрицательные элементы на нечетных местах }   if a[1]< 0 then begin b[1]: =a[1]; j: =1; k: =0 end   else begin b[2]: =a[1]; j: =0; k: =1 end;   for i: =2 to n do       if a[i]< 0 then       begin inc(j); b[2*j-1]: =a[i] end       else begin inc(k); b[2*k]: =a[i] end;   writeln('результирующий массив');   for i: =1 to n do write(b[i]: 4);   writeln end. тестовое решение: исходный массив   43  44  34  21  14 -26  32  35 -25  -8  42 -35 -37  12  45 -25  31    8 -16  -5    8 -25 -19 -15 -27 -16  12  26 -14 -41 результирующий массив   -26  43 -25  44  -8  34 -35  21 -37  14 -25  32 -16  35  -5  42 -25  12 -19  45 -15  31 -27    8 -16    8 -14  12 -41  26
slappy337
4,6(94 оценок)

Как то так, возможно будет ошибка, я не проверял, но это можешь сделать ты var index: byte; n: longint; max; begin index: =0; max: =-32000; repet readln(n); if max< n then begin index: =index+1; max: =n; end; until n< > 0; writeln(n, '     ',index); end.

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