Witam. Próbowałem w Free Pascalu IDE utworzyć procedurę, która:
- wypełnia losowymi liczbami dwie tablice
Co mnie cieszy chyba dobrze zrobiłem.
writeln('Tablica pierwsza: ');
randomize;
for i:=1 to 10 do
begin
t[i]:=Random(101);
writeln(t[i]);
end;
writeln('Tablica druga: ');
for i:=1 to 10 do
begin
t1[i]:=Random(101);
writeln(t[i]);
end;
- Funkcja, która ma zliczać dwie poprzednie tablice i zapisywać w trzeciej. I niestety tu się zaczynają schodki.
function nazwa(t[i]:tablica; t1[i]:tablica1; var t2[i]:tablica);
begin
t2[i]:=t[i]+t1[i];
end;
Kompilator wywala błąd przy t[i]:tablica; chciał : a ma [. Czy będzie poprawne jak zwyczajnie przez parametry przekaże tablice + tablice 1.Dodam element 1 z tablicy + element 1 z tablicy 1 i zapisze je w elemencie 1 na tablicy 2 i przejdę do następnego ? Tablica i tablica1 jeden będzie poprzez wartość przekazana a tablica2 poprzez zmienną. Czy takie rozwiązanie jest prawidłowe ?
- oraz prezentowanie wyników, które wydaje mi się poprawne
for i:=1 to 10 do
begin
nazwa(t[i],t1[i],t2[i]);
Writeln('Wynik z dodawnie elementu ',i,' z tablicy pierwszej plus element ',i,' wynosi: ',t2[i]);
end;
A to nie pocięty kod na kawałki.
function nazwa(t[i]:tablica; t1[i]:tablica1; var t2[i]:tablica);
begin
t2[i]:=t[i]+t1[i];
end;
procedure szoste_zadanie;
type tablica=array[1.. 10] of integer;
tablica1=array[1 .. 10] of integer;
tablica2=array[1 .. 10] of integer;
var t:tablica; t1:tablica1; t2:tablica2; i:integer;
begin
writeln('Wypelnianie losowymi liczbami: ');
writeln('Tablica pierwsza: ');
randomize;
for i:=1 to 10 do
begin
t[i]:=Random(101);
writeln(t[i]);
end;
writeln('Tablica druga: ');
for i:=1 to 10 do
begin
t1[i]:=Random(101);
writeln(t[i]);
end;
Writeln('Suma elementu [n] z tablicy pierwszej plus element [z] z tablicy drugiej wynosi: ');
for i:=1 to 10 do
begin
nazwa(t[i],t1[i],t2[i]);
Writeln('Wynik z dodawnie elementu ',i,' z tablicy pierwszej plus element ',i,' wynosi: ',t2[i]);
end;
end;