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л. наверное так..
Var X,P:array[1..100] of integer; k,n:integer; Begin Write('Введите k: ');ReadLn(k); Write('Введите массив X(',k,'): '); For k:= 1 to k do Read(X[k]); Write('Массив P:'); n:=0; For k:= 1 to k do if X[k]<0 then Begin n:=n+1; P[n]:=X[k]; End; For k:= 1 to k do if X[k]=0 then Begin n:=n+1; P[n]:=X[k]; End; For k:= 1 to k do if X[k]>0 then Begin n:=n+1; P[n]:=X[k]; End; For k:= 1 to k do Write(' ',P[k]) End.
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л.
наверное так..
X,P:array[1..100] of integer;
k,n:integer;
Begin
Write('Введите k: ');ReadLn(k);
Write('Введите массив X(',k,'): ');
For k:= 1 to k do
Read(X[k]);
Write('Массив P:');
n:=0;
For k:= 1 to k do
if X[k]<0 then
Begin
n:=n+1;
P[n]:=X[k];
End;
For k:= 1 to k do
if X[k]=0 then
Begin
n:=n+1;
P[n]:=X[k];
End;
For k:= 1 to k do
if X[k]>0 then
Begin
n:=n+1;
P[n]:=X[k];
End;
For k:= 1 to k do
Write(' ',P[k])
End.
Пример:
Введите k: 6
Введите массив X(6):3 0 -2 2 4 -3
Массив P: -2 -3 0 3 2 4