Ir ao conteúdo
  • Cadastre-se
dunha_gtz

RESOLVIDO Programa com Matriz 4x3

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu simons era isso mesmo =D

Coloquei Begin e end; em todas as operaçoes e deu td certo.

valeu o/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×