Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

viciado

Matriz

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.