Ir para conteúdo

POWERED BY:

Arquivado

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

Karolinne

Achar maior valor em uma Matriz

Recommended Posts

Gente, boa noite.

 

Não estou conseguindo fazer uma função pra achar o maior valor de uma matriz...

o programa eh esse:

#include <stdio.h>
#include <stdlib.h>
   
int main()
{
   int i,j, m=3, n=3;
   float x[3][3];
   printf("Digite uma matriz 3x3:\n");
   for(i=0; i<m; i++)
   {
   printf("linha %d: \n",i);
	 for(j=0; j<n; j++)
   scanf("%f", &x[i][j]);
   }
   puts("\nMatriz Lida");
	 for(i=0; i<m; i++)
   {
   for(j=0; j<n; j++)
   printf("%.1f", x[i][j]);
   printf("\n");
   }
   printf("Os elementos da diagonal principal sao:\n%.1f %.1f %.1f \n",x[0][0],x[1][1],x[2][2]);  
   system("pause");
   return 0;
   
}

 

So esta faltando imprimir o maior valor da matriz, alguem ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O maior inicialmente vai ser M[0][0].

Vai comparando com os outros e se forem maiores, troque o valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode dizer o q ta errado aki

maior > x[r] ? maior = x[r] : maior = maior;

t%3==0 ? r +=1 : r=r;

t%3==0 ? s = 0 : s=s;

t == 9 ? printf("O maior valor da matriz eh %.2f\n", maior) : 0;

 

?

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>
#include <stdlib.h>
	   
int main()
{
   int i,j, m=3, n=3, aux; 
   float x[3][3], maior; 
   printf("Digite uma matriz 3x3:\n");
   for (i=0; i<m; i++)
	   {
	   printf("linha %d: \n",i);
	   for (j=0; j<n; j++)
	   scanf("%f", &x[i][j]);
	   }		 
	   puts("\nMatriz Lida");
	   for(i=0; i<m; i++)
	   {	 
	   for(j=0; j<n; j++)
	   printf("%.1f", x[i][j]);
	   printf("\n");
	   }
	   printf("\nOs elementos da diagonal principal sao:\n%.1f %.1f %.1f \n",x[0][0],x[1][1],x[2][2]);
	   
	   maior=x[0][0];
	   for(i=0;i<=2;i++){
	   for(j=0;j<=2;j++){
	   if(maior<x[i][j]){
	   maior=x[i][j]; }
  }
}
   printf("\nO maior elemento da matriz eh %.1f\n", maior);		 
   system("pause");
   return 0;
}

 

Consegui...resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dica: use #define.

Se lhe solicitassem a alteração desse código para que rodasse com matrizes de 10x10, você teria de alterar um monte de coisa.

Com #define você alteraria só a linha da definição.

 

Para um programa simples, como o seu, isso parece besteira. Mas é bom ir se acostumando com as constantes.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.