Что не так с программами? Пытаюсь исправить и все равно ничерта не работает, потерялся в структуре программы. Задачи нужно написать по блок-схемам исправить неправильный код. программа по сортировке простым выбором:
program sort;
const
N = 10;
var
a: array[1..N] of integer;
i, j, min, k, c: integer;
begin
write('Введите элементы массива: ');
readln(a);
for i :=1 to N - 1 do begin
k:=1;
min:=a[i];
for j:= i+1 to N do
if a[j] < min then
begin
min := a[j];
c:=a[k];
a[k]:=a[i];
end;
end;
write(min, ' ');
end.
Сортировка простым обменом:
program sort2;
const
N = 10;
var
a: array[1..N] of real;
i, j, b: integer;
begin
writeln('Введите элементы: ');
readln(a);
for i := 2 to N do begin
for j := N to i - 1 do
if a[j] < a[j - 1] then begin
b := a[j];
a[i] := a[i - 1]
end;
end;
for i:=1 to N do
writeln(a[i], ' ');
end.
260
401
Ответы на вопрос:
Пусть первое число записано в виде a₁a₂a₃, второе - b₁b₂b₃, а поразрядные суммы находятся как c₁=a₁+b₁, c₂=a₂+b₂, c₃=a₃+b₃ очевидно, что поскольку a,b ∈ [0; 9], то min(c)=0, max(c)=18. пусть результирующее число d имеет запись d₁d₂d₃, d₁,d₂,d₃ ∈ [0; 18], тогда d запишется как c₁c₂c₃, если c₁< c₂ и как c₂c₁c₃ в ином случае. следовательно, две первые "цифры" в результате всегда следуют в порядке неубывания. а) 171412 - разделяется только как 17 14 12, 17> 14, это убывание, а оно недопустимо. в) 121419 - разделяется только как 12 14 19, сумма 19 недопустима. с) 81714 - разделяется только как 8 17 14, 8< 17, это неубывание и оно допустимо. d) 15117 - разделяется только как 15 11 7, 15> 14, это убывание, а оно недопустимо. e) 4809 - корректно не разделяется на три части и это недопустимо. ответ: c
Популярно: Информатика
-
AronJegerRivai213.03.2023 15:04
-
Boikomariana1223.07.2022 06:50
-
5575218817.02.2023 01:22
-
Zelikovakasimov01.08.2020 03:47
-
Tictax01.10.2021 13:25
-
maria2008082902.11.2020 21:44
-
Rita21060622.10.2020 20:23
-
янивановсергеевич17.11.2021 11:38
-
ifj2ifvjw30.04.2021 18:53
-
Petrov20010412.09.2022 13:26