Ir ao conteúdo
  • Cadastre-se

Programa com Matriz 4x3


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

Fala galera to com uma dificuldade cruel pra fazer esse programa no pascal ate agr só fiz o que segue em anexo, e ainda assim ta errado a media e a posiçao do maior e menor.

Se vocês puderem me ajudar eu agradeceria muito, o enunciado do exxercicio é esse:> Fazer um programa onde o usuário deve preencher uma matriz 4 x 3 com números inteiros. Depois de preenchida, calcular e mostrar a média dos números pares armazenados e a posição do maior e do menor número digitado.

Begin  For i := 1 To 4 do  For j := 1 To 3 do  begin   write('Digite os números: ');     readln (mat[i,j]);  end;  maior:=mat[1,1];  pos_mai:=1;  pos_maj:=1;  for i:=2 to 4 do  for j:=2 to 3 dobeginif maior<mat[i,j] thenmaior:=mat[i,j];pos_mai:=i;   pos_maj:=j;end;menor:=mat[1,1];  pos_mei:=1;  pos_mej:=1;  for i:=2 to 4 do  for j:=2 to 3 dobeginif menor>mat[i,j] thenmenor:=mat[i,j];pos_mei:=i;   pos_mej:=j;end;   soma:=0;  k:=0;   for i:=1 to 4 do   for j:=1 to 3 do     begin     if mat[i,j] MOD 2=0 then     soma:=soma+mat[i,j];     k:=k+1;     end;  media:=soma/k;  writeln('O maior número e ‚: ' ,maior,' e sua posiçao e : ' ,pos_mai  ,pos_maj);  writeln('O menor numero e ‚: ' ,menor,' e sua posiçao e : ' ,pos_mei  ,pos_mej);  writeln('A media dos numeros pares e : ',media*2);End.
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Olá.

 

A dica é simples: mantenha o seu código identado.

 

No meu padrão ficaria assim:

BEGINfor i := 1 to 4 do  for j := 1 to 3 do    begin    write('Digite os números: ');    readln(mat[i,j]);    end;maior:=mat[1,1];pos_mai:=1;pos_maj:=1;for i:=2 to 4 do  for j:=2 to 3 do    begin    if maior<mat[i,j] then      maior:=mat[i,j];    pos_mai:=i;    pos_maj:=j;    end;menor:=mat[1,1];pos_mei:=1;pos_mej:=1;for i:=2 to 4 do  for j:=2 to 3 do    begin    if menor>mat[i,j] then      menor:=mat[i,j];    pos_mei:=i;    pos_mej:=j;    end; soma:=0;k:=0;for i:=1 to 4 do  for j:=1 to 3 do    begin    if mat[i,j] MOD 2=0 then      soma:=soma+mat[i,j];    k:=k+1;    end;media:=soma/k;writeln('O maior número e ‚: ' ,maior,' e sua posiçao e : ' ,pos_mai  ,pos_maj);writeln('O menor numero e ‚: ' ,menor,' e sua posiçao e : ' ,pos_mei  ,pos_mej);writeln('A media dos numeros pares e : ',media*2);END.

Então, pela estrutura do código, já percebi algo que pode está faltando, ex.:
 

Será que essas 3 linhas abaixo do if não deveriam está vinculados a ele?

    if maior<mat[i,j] then      maior:=mat[i,j];    pos_mai:=i;    pos_maj:=j;

Se for o caso, precisaria do begin/end.

    if maior<mat[i,j] then      begin      maior:=mat[i,j];      pos_mai:=i;      pos_maj:=j;      end;

No aguardo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...