program prodo1;
(* esegue prodotto scalare tra costante e matrice *)
(* elementi interi o reali decimali  *)

uses crt;
var righe,colonne,risp:integer;

procedure scelta;
var a:array[1..15,1..15] of real;
    s:array[1..15,1..15] of real;
    c,r:integer;
    k:real;
begin
clrscr;
writeln('prodotto scalare:costante per matrice');
write('indica numero righe matrici.......');readln(righe);
write('indica numero colonne matrici.....');readln(colonne);
write('indica valore della costante......');readln(k);
clrscr;
writeln('richiesta elementi della matrice:interi o decimali ');
for r:=1 to righe do
 begin
  writeln('scrivi elementi matrice:riga=',r);
  for c:=1 to colonne do
   begin
   write(c,' colonna  ');readln(a[r,c]);
   end;
 end;
writeln('premi enter');
readln;
writeln('moltiplica elementi matrice per valore costante');
for r:=1 to righe do
 begin
  for c:=1 to colonne do
   s[r,c]:=a[r,c]*k;
 end;
clrscr;
writeln('stampa prodotto scalare');
for r:=1 to righe do
 begin
  for c:=1 to colonne do
   begin
   write(s[r,c]:10:3);
   end;
   writeln;
 end;
writeln('premi enter');
writeln('1..altra prova..2=fine ');readln(risp);
if risp=1 then scelta else exit;
end;

begin
clrscr;
scelta;
end.

prodotto scalare:costante per matrice
indica numero righe matrici.......3
indica numero colonne matrici.....3
indica valore della costante......10


richiesta elementi della matrice:interi o decimali
scrivi elementi matrice:riga=1
1 colonna  1
2 colonna  2
3 colonna  3
scrivi elementi matrice:riga=2
1 colonna  4
2 colonna  4
3 colonna  4
scrivi elementi matrice:riga=3
1 colonna  5
2 colonna  5
3 colonna  5

stampa prodotto scalare
    10.000    20.000    30.000
    40.000    40.000    40.000
    50.000    50.000    50.000

inizio