Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Процедуры, массивы

Автор: gryzlik 25.11.2006 15:51

Ребят,нужна помощь.Очень!!!

Написать подпрограмму для вставки m элементов в одномерный массив на указанное место

Задание выполняется с помощью процедуры...
Я вроде составила программу,но она отказывается работать!!!

Program Zad_1;
type a=array [1..100] of real;
var l:a;
k, m,n: integer;
procedure Vstavka (var l:a; var n:integer; k,m:integer );
var i:integer;
begin
for i:= k+m to n do
a[i+m]:=a[i];
n:=n+m;
end;
begin
writeln('Vvedite razmer massiva');
readln(n);
writeln ('Vvedite poziciu nachala vstavki i kol-vo vstavlaemih elementov');
readln(k,m);
for i:=1 to n do begin
a[i]:=random(40)+10;
writeln(a[i]: 4:1);
end;
Vstavka(l,n,k,m);
writeln('Rezultat vstavki ');
for i:=1 to n do
writeln (a[i]: 4:1);
end.


Подскажите, в чем ошибка!
М
Пожалуйста, используй правильные теги! Lapp


Автор: мисс_граффити 25.11.2006 19:14

я б тоже на такое название обиделась... :-/
по теме.
ты пишешь:

a[i+m]:=a[i];

но a - это тип!
ты же не пишешь integer:=2, правда?

Автор: gryzlik 26.11.2006 18:55

Цитата(мисс_граффити @ 25.11.2006 15:14) *

я б тоже на такое название обиделась... :-/
по теме.
ты пишешь:
a[i+m]:=a[i];

но a - это тип!
ты же не пишешь integer:=2, правда?

Спасибо! Это я усвоила...
Нужно l[i+m]:=l[i]?
Только вот теперь мне нужно разобраться, почему вставляет числа программа только с последней позиции? Я немного не поняла...если я ввожу начало вставки 1, то она все равно только в конце 2 числа повторяет. Подскажи , пожалуйста, в чем ошибка.