Ir para conteúdo

POWERED BY:

Arquivado

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

Gustavo Rodrigues Torre

[Resolvido] [Matriz]

Recommended Posts

Fazer um programa que faça a media dos elemntos abaixo da diagonal principal.

 

Esta dando erro na hora de fazer a média já fiz tudo o que poderia ser feito

Mudei pra float e nada adiantou.

Onde esta o meu erro.

 

/*Matriz*/
#include<stdio.h>
#include<stdlib.h>

main()
{

float matA[2][2];
int i,j,a=1,s,c;
float ma;

while(a==1) {
//system("color ");
s = 0;
c = 0;
	for(i=0;i<2;i++) 
	  for(j=0;j<2;j++) 
	  {
	  printf("\nEnte com o valor da linha e da coluna matriz A%d %d:",i+1,j+1);
	  scanf("%f",&matA[i][j]); 

	   if (i > j) 
		   s = s + matA[i][j];
		   c++;
		}

ma = c/s;

  printf("\n\n Matriz A\n");
	for (i=0;i<2;i++) 
	{
		for (j=0;j<2;j++) 
	printf("%.0f\t",matA[i][j]);
	printf("\n");
	}

printf("\nA media dos elemntos abaixo da diagonal principal eh = %.0f",ma);
printf("\nDeseja entrar com uma nova matriz? <1: Sim> ou <2: Nao>\n");
scanf("%d",&a);
}
printf("\n\n");
system("pause");
return 0;
	
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom a primeira coisa q observo qnd isso da errado é a forma de calculo e veja você esta dividindo um inteiro por inteiro resultado inteiro, e sua formula para descobrir a media esta errada:

ma = c/s;
você ta dividindo o contador pela soma!

 

´[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais qual seria a fórmula para calcular a média?

 

 

 

bom a primeira coisa q observo qnd isso da errado é a forma de calculo e veja você esta dividindo um inteiro por inteiro resultado inteiro, e sua formula para descobrir a media esta errada:

ma = c/s;
você ta dividindo o contador pela soma!

 

´[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz assim mais continua dando erro

 

 

float matA[2][2];
int i,j,a=1;
float ma,s,c;

while(a==1) {
//system("color ");
s = 0; /*Total*/
c = 0; /*Numero de elememtos*/
	for(i=0;i<2;i++) 
	  for(j=0;j<2;j++) 
	  {
	  printf("\nEnte com o valor da linha e da coluna matriz A%d %d:",i+1,j+1);
	  scanf("%f",&matA[i][j]); 

	   if (i > j) 
		   s = s + matA[i][j]; /*Total*/
		   c++; /*Numero de elementos*/
		}

ma = s/c; /*Total/Elementos*/

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta fazendo a divisao de 2 inteiros e o resultado é inteiro! faça alguma alteração mudando algum para float ow fazendo o casting!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não entendeu você tem q fazer a divisão e pelo menos 1 tem q ser float, faz tempo q naum faço casting + veja c é assim msm o correto:

ma = (float) s/c;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz assim o código

 

Não consegui fazer a divisão usando um contador.

 

Mais está funcionanado 100%

 

Não sei como fazer aquela divisão

 

ma = s / c

 

/*Matriz*/
#include<stdio.h>
#include<stdlib.h>

main()
{

float matA[6][6];
int i,j,a=1;
float ma,s,c;

while(a==1) {
//system("color ");
s = 0; /*Total*/
c = 0; /*Numero de elememtos*/
	for(i=0;i<6;i++) 
	  for(j=0;j<6;j++) 
	  {
	  printf("\nEnte com o valor da linha e da coluna matriz A%d %d:",i+1,j+1);
	  scanf("%f",&matA[i][j]); 

	   if (i > j) 
	   s = s + matA[i][j]; /*Total*/
		}
	  // c++; /*Numero de elementos*/   
ma = s / 15.0;

  printf("\n\n Matriz A\n");
	for (i=0;i<6;i++) 
	{
		for (j=0;j<6;j++) 
	printf("%.0f\t",matA[i][j]);
	printf("\n");
	}

printf("\nA media dos elementos abaixo da diagonal principal eh = %3f",ma);
printf("\nDeseja entrar com uma nova matriz? <1: Sim> ou <2: Nao>\n");
scanf("%d",&a);
}
printf("\n\n");
system("pause");
return 0;
	
}

você não entendeu você tem q fazer a divisão e pelo menos 1 tem q ser float, faz tempo q naum faço casting + veja c é assim msm o correto:

ma = (float) s/c;

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.