Karolinne 0 Denunciar post Postado Outubro 25, 2008 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
_Isis_ 202 Denunciar post Postado Outubro 25, 2008 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
Karolinne 0 Denunciar post Postado Outubro 25, 2008 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
_Isis_ 202 Denunciar post Postado Outubro 25, 2008 Você já conhece loop. Use. Compartilhar este post Link para o post Compartilhar em outros sites
Karolinne 0 Denunciar post Postado Outubro 26, 2008 #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
Beraldo 864 Denunciar post Postado Outubro 26, 2008 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