Var s : integer; t, t1,t2: string; b1: boolean; begin b1 : = false; writeln('введите строку '); readln(t); t2 : = ''; repeat p1 : = pos(' ',t); if p1> 0 then begin t2 : = copy(t,1,p1-1); if length(t2)> 0) then t1 : = t2 + ' ' + t1; delete(t,1,p1); end else if (length(t)> =1) then //обработка кнца строки begin t2 : = t; t1 : = t2 + ' ' + t1; b1 : = true; end else b1 : = true; // еще одна проверка, если пследний символ строки - пробел until (b1 = true); writeln('ответ ',t1) end.
anna-ditman
28.06.2020
Const n=32; var a: array[1..n] of integer; i,j,k,p,left,right,center: integer; begin { заполнить массив данными } randomize; for i: =1 to n do a[i]: =random(101); { отсортировать массив во возрастанию - пузырьковый метод } for i : = 1 to n-1 do for j : = 1 to n-i do if a[j] > a[j+1] then begin k : = a[j]; a[j] : = a[j+1]; a[j+1] : = k end; { тысяча поисков случайных чисел } k: =0; for j: =1 to 1000 do begin p: =random(101); { собственно, двоичный поиск } left: =1; right: =n; while left< right do begin inc(k); if (a[left]=p) or (a[right]=p) then left: =right { нашли } else begin center: =(left+right) div 2; if a[center]=p then left: =right { нашли } else if a[center]< p then left: =center+1 else right: =center end end end; writeln('среднее число поисков равно ',k/1000: 4: 2) end. тестовое решение: среднее число поисков равно 4.61
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу, которая вводит массив и заменяет в нем все элементы, которые превышают 7, этим числом. вывести массив и кол-во заменв pascal)