• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jonaspaulo

help exame amanha lol :X

3 mensagens neste tópico

program bra;


type

t_linha=1..10;
t_coluna=1..10;
t_matriz=array[t_linha,t_coluna] of real;

var

nl:t_linha;
nc:t_coluna;
matriza,matrizb,matrizsoma:t_matriz;

procedure dimensao( var nl: t_linha; var nc:t_coluna);

begin
  repeat
    write('insira numero de linhas ');
    readln(nl);
  until (nl >0) and (nl <= 10);

  repeat
    write('insira numero de colunas ');
    readln(nc);
   until (nc >0) and (nc <= 10);

end;


procedure ler (var matriz:t_matriz; nl:t_linha; nc:t_coluna);
var
linha:t_linha;
coluna:t_coluna;


begin

   for linha:= 1 to NL do
     begin
        write('Linha', linha:2, '?');
        for coluna:=1 to NC do
          read (matriz[linha,coluna]);
         readln;
     end;
end;



procedure escrita(matriz:t_matriz; nl:t_linha; nc:t_coluna);
var
linha:t_linha;
coluna:t_coluna;

begin
  for linha:=1 to nl do
    begin
      for coluna:=1 to nc do
        write(matriz[linha,coluna]:8:2);
        writeln
     end
end;


procedure soma (mata,matb :t_matriz; var mats:t_matriz; nl:t_linha; nc:t_coluna);
var
linha:t_linha;
coluna:t_coluna;

begin
for linha:=1 to nl do
   for coluna:=1 to nc do
     mats[linha,coluna]:=mata[linha,coluna]+matb[linha,coluna];
end;





begin

dimensao (nl,nc);

writeln('ler matriz a');
ler(matriza,nl,nc);
escrita(matriza,nl,nc);
writeln('ler matriz b');
ler(matrizb,nl,nc);
escrita(matrizb,nl,nc);
soma(matriza,matrizb,matrizsoma,nl,nc);
writeln('escrita da matriz soma a+b');
escrita(matrizsoma,nl,nc);



end.

Boas pessoal. O programa le as duas matrizes, mas nao imprime a soma delas no ecra :|

Alguem sabe k sera? algum erro?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

program bra;


type

t_linha=1..10;
t_coluna=1..10;
t_matriz=array[t_linha,t_coluna] of real;

var

nl:t_linha;
nc:t_coluna;
matriza,matrizb,matrizsoma:t_matriz;

procedure dimensao( var nl: t_linha; var nc:t_coluna);

begin
  repeat
    write('insira numero de linhas ');
    readln(nl);
  until (nl >0) and (nl <= 10);

  repeat
    write('insira numero de colunas ');
    readln(nc);
   until (nc >0) and (nc <= 10);

end;


procedure ler (var matriz:t_matriz; nl:t_linha; nc:t_coluna);
var
linha:t_linha;
coluna:t_coluna;


begin

   for linha:= 1 to NL do
     begin
        write('Linha', linha:2, '?');
        for coluna:=1 to NC do
          read (matriz[linha,coluna]);
         readln;
     end;
end;



procedure escrita(matriz:t_matriz; nl:t_linha; nc:t_coluna);
var
linha:t_linha;
coluna:t_coluna;

begin
  for linha:=1 to nl do
    begin
      for coluna:=1 to nc do
        write(matriz[linha,coluna]:8:2);
        writeln
     end
end;


procedure soma (mata,matb :t_matriz; var mats:t_matriz; nl:t_linha; nc:t_coluna);
var
linha:t_linha;
coluna:t_coluna;

begin
for linha:=1 to nl do
   for coluna:=1 to nc do
     mats[linha,coluna]:=mata[linha,coluna]+matb[linha,coluna];
   writeln(mats[linha,coluna]:8:2);
end;





begin

dimensao (nl,nc);

writeln('ler matriz a');
ler(matriza,nl,nc);
escrita(matriza,nl,nc);
writeln('ler matriz b');
ler(matrizb,nl,nc);
escrita(matrizb,nl,nc);
soma(matriza,matrizb,matrizsoma,nl,nc);
writeln('escrita da matriz soma a+b');
escrita(matrizsoma,nl,nc);



end.

tenta assim.. falta aí um clrscr no principio do programa.. e um readln no fim para não sair do programa.. o que te faltava era escrever o procedimento da soma..

agora ja soma..

executa o programa uma vez, insere os dados todos.. quando inserires a ultima linha o programa vai acabar,não vais ver a soma mas ele escreve-a, podes confirmar isso ao correr o programa outra vez logo de seguida e como não tem clrscr vai te aparecer lá os dados que inseriste da ultima vez e vai te aparecer a soma tambem..

hasta..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora