Yan Esteves 0 Denunciar post Postado Maio 24, 2013 To numa duvida enorme aqui, preciso resolver esse exercicio mas ta faltando uma coisa pra terminar e já nem sei como faço isso.O exercicio:Os dados de uma pesquisa foram coletados gerando 49 valores numéricos diferentes.O pesquisador organizou estes dados em linhas e colunas sob forma de uma matriz quadrada.Elabore um programa em pascal para ler a matriz de dados por coluna, calcular e exibir a soma dos valores dos elementos da matriz cujo o produto de seus índices seja múltiplo de 3.Ou seja, preciso fazer um programa de matriz 7x7 que aceite 49 valores diferentes, quando o usuario digitar valores iguais deve aparecer uma mensagem.. e depois exibir a soma dos valores cujo o produto do seus indices (1x1, 1x2..) seja multiplo de 3..Nao to conseguindo colocar a condição de caso ele digitar valores iguais aparecer a mensagem, como faço isso? Meu código por enquanto ta assim mas já mudei várias vezes: Program matriz ; var i,j, soma:integer; M:array [1..7,1..7] of integer; begin for i:=1 to 7 do for j:=1 to 7 do begin Writeln('Entre com o valor M[',i,',',j,'] :'); readln(M[i,j]); if (i*j mod 3 = 0)then begin soma:=(M[i,j])+ soma; end; end; writeln('o valor da soma é: ',soma); End. Compartilhar este post Link para o post Compartilhar em outros sites
Eisenheim 67 Denunciar post Postado Maio 24, 2013 Olá amigo. Nesse caso eu criaria uma função para realizar essa verificação da seguinte maneira: function Existe( vValor: Integer ): boolean var i,j: Integer; begin for i := 1 to 7 do for j := 1 to 7 do begin Result := ( M[i,j] = vValor ); if Result then Exit; end; end; E na sua aplicação trataria assim: Program matriz ; var i,j, soma:integer; M:array [1..7,1..7] of integer; begin for i:=1 to 7 do for j:=1 to 7 do begin Writeln('Entre com o valor M[',i,',',j,'] :'); readln(M[i,j]); if not Existe( M[i,j] ) then if (i*j mod 3 = 0)then begin soma:=(M[i,j])+ soma; end; end; writeln('o valor da soma é: ',soma); End. Até a próxima. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Yan Esteves 0 Denunciar post Postado Maio 24, 2013 ñ to conseguindo executar nada de pascal aqui que trava tudo, mas vc testou o código? esse result não precisa ser declarado como boolean? Compartilhar este post Link para o post Compartilhar em outros sites
Eisenheim 67 Denunciar post Postado Maio 27, 2013 Olá amigo. A palavra Result faz parte da lista de palavras reservadas da linguagem pascal. Essa instrução é utilizada para definir o retorno da sua função. O tipo da função é quem vai determinar o que o Result irá retornar, como a função é do tipo boolean, logo ela só poderá retornar um valor booleano. Até a próxima. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites