Помощь - Поиск - Пользователи - Календарь
Полная версия: Цикл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
BanneD

program massiv;
const n=15;
var x:array[1..n]of integer;
m,i:integer;
begin
read(m); {m=4}
read(x[1]); {x[1]=2}
for i:=2 to n do
x[i]:=x[i-1]+m;
for i:=1 to n do
writeln('x[',i,']=',x[i]);
end.


Помогите как вот это всё пихнуть в 1 цикл!?
не так

for i:=2 to n do
begin
x[i]:=x[i-1]+m;
writeln('x[',i,']=',x[i]);
end;
потому что здесь будет выводиться начиная со 2-го эл-а!

и не так
 writeln('x[1]=',x[1]);
for i:=2 to n do
begin
x[i]:=x[i-1]+m;
writeln('x[',i,']=',x[i]);
end;

Училка говорит что есть другие способы!
мб кто знает?
Freedom
Цитата(BanneD @ 20.12.2010 17:59) *


program massiv;
const n=15;
var x:array[1..n]of integer;
m,i:integer;
begin
read(m); {m=4}
read(x[1]); {x[1]=2}
for i:=2 to n do
x[i]:=x[i-1]+m;
for i:=1 to n do
writeln('x[',i,']=',x[i]);
end.



Помогите как вот это всё пихнуть в 1 цикл!?
не так
Училка говорит что есть другие способы!
мб кто знает?

А если вот так??

for i:=1 to n do begin
If i>1 then x[i]:=x[i-1]+m;
writeln('x[',i,']=',x[i]);
end;

BanneD
Цитата(Freedom @ 20.12.2010 21:50) *

А если вот так??

for i:=1 to n do begin
If i>1 then x[i]:=x[i-1]+m;
writeln('x[',i,']=',x[i]);
end;


Спасибо большое=)
BanneD
Можно и так=)

for i:=1 to n do
begin
writeln('x[',i,']=',x[i]);
x[i+1]:=x[i]+m;
end;

volvo
Цитата
Можно и так=)
Угу. И вылететь за пределы массива при i = n...
BanneD
Цитата(volvo @ 21.12.2010 23:43) *

Угу. И вылететь за пределы массива при i = n...

Ненаю ТП ничего несказал=)
volvo
Цитата
ТП ничего несказал=)
Зайди Options->Compiler, включи в группе Runtime errors все проверки, Ok и перекомпилируй код. Тогда тебе ТП скажет все, что он думает... И больше никогда эти проверки не отключай. Помогает ловить ошибки...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.