На свет и жила маленькая девочка она была дочь караля.А девочку звали Снежана ,и Снежана она хотела быть простой девочькой . Потомучьто ей надыбыло учица быть принцесой . А она очень не любила учица она смотрела как другие дети играли на улице . А она не могла потомство она должна подорвать пример.но один раз она избежал с урока ,она вернулась да мой вечером .И не кто не заметел.
Const N = 10; Var A:array[1..N] of integer; i,j,M,B,C,p,s:integer; Begin Randomize; {Заполнение и вывод} Write('Исходный массив:'); For i:= 1 to N do Begin A[i]:=random(N); Write(' ',A[i]); End; WriteLn; {Сортировка} p:=0; For i:= 1 to N do Begin M:=i; For j:= i+1 to N do if A[j]<A[M] then M:=j; if M<>i then Begin B:=A[M]; A[M]:=A[i]; A[i]:=B; p:=p+1; {Вывод каждого шага сортировки} Write('Перестановка №',p,':'); For j:= 1 to N do Write(' ',A[j]); WriteLn; End; End; WriteLn; Write('Отсортированный массив:'); For i:= 1 to N do Write(' ',A[i]); {Бинарный поиск} WriteLn; Write('Введите число: ');ReadLn(C); m:=N div 2; i:=1; j:=N; s:=0; While (A[m]<>C)and(i<=j) do Begin if C > A[m] then i:=m+1 else j:=m-1; s:=s+1; m:=(i+j) div 2; End; WriteLn; if A[m]=C then WriteLn('В массиве есть данное число') else WriteLn('В массиве нет данного числа'); WriteLn('Кол-во перестановок за сортировку: ',p); WriteLn('Кол-во сравнений за поиск: ',s); End.
1) ну первое самое простое: можно получить 16, 28, 44 2) далее можно 12, налить в 28 перелить в 16, из 16л вылить в раковину останется 28 - 16 = 12 3) 32 л, набрать 16, перелить в 28л 16 л, снова набрать 16 л. итого 16 + 16 = 32 4) далее 4л, набрать 16, перелить в 28, набрать в 16л, долить в 28л, в 16л останется 4л, а из 28л вылить в раковину 5) 40л, набрал в 28л, перелил в 16л, вылил из 16л, остаток 12л, перелил в 16л, набрал 28л, итого 12 + 28 = 40 6) 24л, тоже что и в пятом, только с продолжением, набрал в 28л, перелил в 16л, в 28л осталось 12л, из 16 вылил, перелил остаток 12 л в 16 - ю, набрал в 28 л, долил в 16 - ю 4 л, и вылил из 16л все. В 28л осталось 24л. наверное так..