Witam mam do napisania taki oto program:
Napisz program, który dla wektora W zawierającego liczby całkowite odejmie od elementów wektora średnią arytmetyczną dla tego wektora. Wyświetlić elementy wektora.
Wszystko idzie dobrze aż do momentu gdy muszę zamienić wektor typu integer, żeby potem móc od niego odjąć średnią i go wyświetlić.
Kod programu:
program Project1_1;
{$APPTYPE CONSOLE}
uses
System.SysUtils;
type
tab1=array of integer;
tab2=array of real;
var
W:tab1;
Y:tab2;
n,S:integer;
SS:real;
procedure podaj_n ();
begin
Writeln ('Podaj jaką tablice zaalokować');
end;
procedure wczytaj_n(var n1:integer);
begin
Readln (n1);
Writeln ('Podałeś: ', n);
end;
procedure ust_dl_wektora (var t_1:tab1; var n1:integer);
begin
SetLength(t_1, n1);
end;
procedure wcz_wektor (var t_1:tab1; var n1:integer);
var
i:integer;
begin
randomize;
for i:=0 to n-1 do
t_1[i]:= random (20);
end;
procedure wys_wektor (var t_1:tab1; var n1:integer);
var
i:integer;
begin
for i:=0 to n-1 do
Write (t_1[i], ' ');
end;
procedure sum (var t_1:tab1; var n1,suma:integer);
var
i:integer;
begin
for i:=0 to n-1 do
suma:=suma + t_1[i];
Writeln;
Writeln ('Suma wynosi: ', suma);
end;
procedure sr_a(var suma,n1:integer; var sr:real);
begin
sr:=suma/n;
Writeln;
Writeln ('Średnia wynosi: ', sr:0:3);
end;
procedure przypisz (var t_1:tab1; var t_2:tab2; var n1:integer);
var
i,j:integer;
begin
for i:=0 to n-1 do
for j:=0 to n-1 do
begin
t_2[j]:=t_1[i];
write (t_2[j]:0:3, ' ');
end;
end;
begin
podaj_n;
wczytaj_n(n);
ust_dl_wektora(W,n);
wcz_wektor(W,n);
wys_wektor(W,n);
sum(W,n,S);
sr_a(S,n,SS);
przypisz(W,Y,n);
Readln;
end.
Windows wywala błąd po wpisaniu procedury przypisz Szczerze mówiąc nie mam pojęcia co z tym zrobić (jestem dość zielony w te klocki).
Jeżeli jakaś dobra dusza wie jak napisać procedurę przypisania tej tablicy W do Y będę naprawdę wdzięczny za pomoc.