Var
i,min:integer;
m:array[1..10] of integer;
begin
for i:=1 to 10 do
begin
readln(m[i]);
if i=1 then min:=m[i];
if m[i]<min then min:=m[i];
end;
for i:=1 to 10 do
begin
if m[i]=0 then m[i]:=min;
write(m[i],' ');
end;
<span>end.</span>
В программе для каждого из трёх введённых слов подсчитывается количество одинаковых букв, стоящих рядом.
Значения переменных после выполнения приведенного фрагмента программы:
slovo='ИНФОРМАТИКА'
n=11 (длина последнего слова)
k=0
На экран будет выведено:
no
yes
no
Описание алгоритма нахождения НОД делением
1 - <span>Большее число делим на меньшее.
2 - Если делится без остатка, то меньшее число и есть НОД.
3 - Если есть остаток, то большее число заменяем на остаток от деления.
4 - <span>Переходим к пункту 1.
Пример такой:
</span></span>Найти НОД для 30 и 18.
30/18 = 1 (остаток 12)
18/12 = 1 (остаток 6)
12/6 = 2 (остаток 0). Конец: НОД – это делитель. НОД (30, 18) = 6
Program array15numbers;
var a:array [1..15] of integer; b:array [1..15] of real; i:integer;
begin
for i:=1 to 15 do
begin
a[i]:=-20 + Random(41); {почему не 40? такова особенность паскаля}
writeln(a[i]); {чтобы увидеть созданный массив}
end;
writeln(); {нужен, чтобы сделать отступ}
for i:=1 to 15 do
begin
if abs(a[i] mod 2) = 1 then {abs - модуль от числа, mod - остаток от деления}
begin
b[i]:=a[i]*3;
end
else
begin
b[i]:=a[i]/2;
end;
writeln(b[i]);
end;
end.
Остались вопросы? - спрашивай в комментах.
Нужно более подробное объяснение - пиши в лс vkcom/ilyahard