?>
Объясните почему мы пишем for x:=1 to N-1 do if a[x]=a[x+1] then inc(k); Почему там N-1 и a[x]=a[x+1] uses crt; const N=10; var a:array [1..N] of integer; x, k:integer; begin for x:=1 to N do begin a[x]:=random(5); writeln('a[', x, ']:', a[x]); end; for x:=1 to N-1 do if a[x]=a[x+1] then inc(k); if k>0 then writeln('Есть одинаковые соседние элементы.') else writeln('Одинаковых соседних элементов нет.'); end.
Ответы
for
примеры
(Pascal)
for i := 1 to 10 do
s:=s+1;
(C#,C++)
for (int i=0;i<10;i++) {
s+=i;
}
(Ruby)
for i in 1..10
s=s+i
end
(VB, VBA, Basic,..)
for i = 1 to 10
s=s+i
next i
По умлчанию шагом счетчика является 1. Обычно шаг счетчика можно менять фразой by или step by. Хотя увы такое есть не во всех языках
(C#,C++)
for (int i=0;i<10;i=i+2) {
s+=i;
}
(VB, VBA, Basic,..)
for i = 1 to 10 step by 2
s=s+i
next i
Например в паскале возможен только обратный отсчет
for i := 10 downto 1 do
s:=s+1;
еще for примечателен тем, что даже если конец меньше начала (в варианте увеличения счета), то цикл все равно пройдет один раз. Правда не знаю подпадают ли под это правило языки из группы С