Пожалуйста, помогите написать программу в Паскаль. 7 задача
Answers & Comments
Segrif
Var k,i,j,t:integer; a:array[1..3] of integer; begin Write('k='); Read(k); a[1]:=k mod 10; t:=k div 10; a[2]:=t div 10; a[3]:=t mod 10; for i:=1 to 2 do for j:=i+1 to 3 do if a[i]>a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t end; Write('Цифры числа ',a[1],',',a[2],',',a[3],' '); if a[3]-a[2]=a[2]-a[1] then Writeln('образуют арифметическую прогрессию') else Writeln('не образуют арифметическую прогрессию') end. Пример работы программы k=915 Цифры числа 1,5,9 образуют арифметическую прогрессию
0 votes Thanks 1
Segrif
Это не одно и то же. А так, да, не вижу смысла что-то усложнять
Segrif
"образуют ли цифры..." и "можно ли из цифр составить прогрессию...". Число уже задает некоторый порядок
Segrif
Я просто поясняю, почему выбрал именно такой вариант. Не понимаю, что я должен /крыть/, если вы в самом начале согласились, что задача имеет более одной интерпретации, а я согласился с тем, что этот вариант действительно более простой.
Answers & Comments
k,i,j,t:integer;
a:array[1..3] of integer;
begin
Write('k='); Read(k);
a[1]:=k mod 10;
t:=k div 10;
a[2]:=t div 10;
a[3]:=t mod 10;
for i:=1 to 2 do
for j:=i+1 to 3 do
if a[i]>a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t end;
Write('Цифры числа ',a[1],',',a[2],',',a[3],' ');
if a[3]-a[2]=a[2]-a[1] then Writeln('образуют арифметическую прогрессию')
else Writeln('не образуют арифметическую прогрессию')
end.
Пример работы программы
k=915
Цифры числа 1,5,9 образуют арифметическую прогрессию