const nx = 20; var x: array[1..nx, 1..nx] of integer;z:array[1..nx*2] of integer; i, j, k,n,r,t: integer; begin Writeln('Введите размер матрицы n');Read(n); for i := 1 to n do begin for j := 1 to n do begin Read(k);x[i, j] := k; end;end; Writeln('Исходный массив'); for i := 1 to n do begin for j := 1 to n do begin Write(x[i, j]:4); if x[i, j]>0 then begin t:=t+1; z[t]:=x[i, j];end; end; Writeln; end; Writeln;Writeln('Одномерный массив'); for j := 1 to t do Write(z[j]:4); end.
Схема 1)Количество монет в куче равно 1? 1a) Да, то это фальшивая монета выход 1b) Нет перейти к 2 2) разделим кучу поровну. перейти к 3 3)Правая куча тяжелее левой? 3a) Да, отложить правую и вернуться в (1) 3b) Да, отложить левую и вернуться в (1) Можно еще добавить условия в случае если ее там нет -1) разделим кучу на две поровну. перейти к 0 0) Кучи равны? 0а) Да, Выход нет фальшивой маеты 0b)Нет, перейти к 3 1)Количество монет в куче равно 1? 1a) Да, то это фальшивая монета выход 1b) Нет перейти к 2 2) разделим кучу на две поровну. перейти к 3 3)Правая куча тяжелее левой? 3a) Да, отложить правую и вернуться в (1) 3b) Да, отложить левую и вернуться в (1) Все гениальное просто:)
var x: array[1..nx, 1..nx] of integer;z:array[1..nx*2] of integer;
i, j, k,n,r,t: integer;
begin
Writeln('Введите размер матрицы n');Read(n);
for i := 1 to n do begin
for j := 1 to n do begin
Read(k);x[i, j] := k; end;end;
Writeln('Исходный массив');
for i := 1 to n do begin
for j := 1 to n do begin
Write(x[i, j]:4);
if x[i, j]>0 then begin t:=t+1; z[t]:=x[i, j];end;
end;
Writeln; end;
Writeln;Writeln('Одномерный массив');
for j := 1 to t do
Write(z[j]:4);
end.
1)Количество монет в куче равно 1?
1a) Да, то это фальшивая монета выход
1b) Нет перейти к 2
2) разделим кучу поровну. перейти к 3
3)Правая куча тяжелее левой?
3a) Да, отложить правую и вернуться в (1)
3b) Да, отложить левую и вернуться в (1)
Можно еще добавить условия в случае если ее там нет
-1) разделим кучу на две поровну. перейти к 0
0) Кучи равны?
0а) Да, Выход нет фальшивой маеты
0b)Нет, перейти к 3
1)Количество монет в куче равно 1?
1a) Да, то это фальшивая монета выход
1b) Нет перейти к 2
2) разделим кучу на две поровну. перейти к 3
3)Правая куча тяжелее левой?
3a) Да, отложить правую и вернуться в (1)
3b) Да, отложить левую и вернуться в (1)
Все гениальное просто:)