L
Lilith
Есть три задачи:
Есть код к первой и части второй
И очень прошу исправить ошибки в коде, и помочь с написанием второй и третьей задачами...
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-95,95]. Удалить из него все отрицательные элементы кратные 5 и принадлежащие промежутку [a,b].
2. Вставить число К между всеми соседними элементами, которые имеют разные знаки.
3. Переставить в обратном порядке часть массива между элементами с номерами К1 и К2, включая их.
Есть код к первой и части второй
Код:
var
Form1: TForm1;
V: array of integer;
F: array of integer;
a,b,i,N,K,c,j:integer;
d:String;
implementation
{$R *.dfm}
procedure TForm1.Zadanie1Execute(Sender: TObject); // первая задача
begin
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text);
N:=StrToInt(Edit3.Text);
SetLength(V,N);
j:=0;
Randomize;
for i:=0 to N-1 do
begin
V[i]:=random(b-a)+a;
end;
for i:=0 to N-1 do
begin
If (N mod 5 <> 0) then
begin
F[j]:=V[i];
j:=j+1;
end;
RichEdit1.Clear;
for i:=0 to N-1 do
begin
d:='F['+IntToStr(i)+']='+IntToStr(F[i]);
RichEdit1.Lines.Add(d);
end;
end;
end;
procedure TForm1.Zadanie2Execute(Sender: TObject); // вторая задача, а точнее ее часть
Var c:String;
begin
K:=StrToInt(Edit4.Text);
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text);
N:=StrToInt(Edit3.Text);
SetLength(V,N);
Randomize;
for i:=0 to N-1 do
begin
V[i]:=random(b-a)+a;
N:=V[i];
end;
for i:=0 DownTo N-2 do
begin
If V[i]<N then
V[i+1]:=V[i];
V[N-1]:=K;
end;
RichEdit2.Clear;
for i:=0 to N-1 do
begin
c:='V['+IntToStr(i)+']='+IntToStr(V[i]);
RichEdit2.Lines.Add(c);
end;
end;
end.
И очень прошу исправить ошибки в коде, и помочь с написанием второй и третьей задачами...