program SommaVettori2;
const
N = 5;
type
TipoVett = array [1..N] of integer;
var
a, b, c : TipoVett;
risposta : char;
procedure LeggiVett (var v: TipoVett);
var
i : integer;
begin
for i := 1 to N do
begin
write(' - elemento d''indice ', i:2, ' ');
readln(v[i])
end
end;
procedure StampaVett (v: TipoVett);
var
i : integer;
begin
write(' indice ');
for i := 1 to N do
write(i:3, ' ');
writeln;
write(' valore ');
for i := 1 to N do
write(v[i]:3, ' ')
end;
procedure SommaVett (v1, v2: TipoVett; var v3: TipoVett);
var
i : integer;
begin
for i := 1 to N do v3[i]:= v1[i] + v2[i];
end;
procedure LeggiSommaEStampa;
begin
writeln(' -- lettura primo vettore --');
LeggiVett(a);
writeln(' -- lettura secondo vettore --');
LeggiVett(b);
writeln;
writeln(' -- stampe di controllo --');
writeln(' -----------------------------');
writeln(' -- primo vettore: --');
StampaVett(a);
writeln;
writeln(' -----------------------------');
writeln(' -- secondo vettore: --');
StampaVett(b);
writeln;
writeln(' -----------------------------');
writeln(' -- vettore somma: --');
SommaVett(a, b, c);
StampaVett(c);
writeln;
writeln('<RET> per continuare.');
readln
end;
begin
writeln('inizio programma');
repeat
write('vuoi sommare vettori? (n/N per no) ');
readln(risposta);
if (risposta <> 'n') and (risposta <> 'N')
then LeggiSommaEStampa;
until (risposta = 'n') or (risposta = 'N');
writeln('fine programma.');
end.