viciado 1 Denunciar post Postado Dezembro 9, 2008 Crie um programa que preencha uma matriz 2x4 com números inteiros, calcule e mostre: * a quantidade de elementos entre 12 e 20 em cada linha * a média dos elementos pares da matriz Estou com problemas de logica a resposta que eu tenho é sempre 4 e 1 #include <stdio.h> #include <stdlib.h> int elementos(int m[2][4]){ int count = 0; int i, j; for(i=0;i<2;i++) for(j=0;j<4;j++){ if(m[i][0] > 12 && m[i][0] <20){ count++; } } return (count); } float par(int m[2][4]){ int soma = 0; int i, j; for(i=0;i<2;i++) for(j=0;j<4;j++){ if(m[i][0] % 2 == 0){ soma = soma + i; } } for(i=0;i<2;i++) for(j=0;j<4;j++){ if(m[0][j] % 2 == 0){ soma = soma + i; } } float media; media = soma / 2; return (media); } int main() { int m[2][4]; int i, j; for(i=0;i<2;i++) for(j=0;j<4;j++){ printf("Preenche a matriz M[%d][%d] \n",i, j); scanf("%d",&m[i][j]); } printf("A quantidade de elementos entre 12 e 20 e: \n %d \n",elementos(m)); printf("A media dos elementos pares e: \n %f \n",par(m)); system("PAUSE"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
José Enésio 4 Denunciar post Postado Dezembro 9, 2008 for(i=0;i<2;i++) for(j=0;j<4;j++){ if(m[i][0] > 12 && m[i][0] <20){ count++; } } Tem uma coisa errada aqui e está meio óbvia. for(i=0;i<2;i++) for(j=0;j<4;j++){ if(m[i][0] % 2 == 0){ soma = soma + i; } } for(i=0;i<2;i++) for(j=0;j<4;j++){ if(m[0][j] % 2 == 0){ soma = soma + i; } } Aqui também tá estranho. media = soma / 2; Acho que não é assim que calcula a média nesse caso. Compartilhar este post Link para o post Compartilhar em outros sites