Questão de Matrizes em Linguagem C - Me Ajudem por favor!?

Pessoal, eu não estou conseguindo dar a resposta que a questão quer.. eu sei que o programa tem que somar cada linha separadamente e no final fazer a comparação.. mas ta complicado fazer isso.. :S

#include <stdio.h>

#include <stdlib.h>

//2. Dada uma matriz B 3x3, determine a linha de B que possui a maior soma de seus elementos.

main()

{

int lin, col, soma=0, maior, linha;

int mat[3][3];

for(lin=0; lin<=2; lin++)

{

for(col=0; col<=2; col++)

{

printf("\nDigite o ELEMENTO da Linha %d, coluna %d da Matriz B: ", lin+1, col+1);

scanf("%d", &mat[lin][col]);

}

}

printf("\n\n");

for(lin=0; lin<=2; lin++)

{

for(col=0; col<=2; col++)

{

soma = soma + mat[lin][col];

maior = soma;

}

if(soma > maior)

{

maior = soma;

linha = lin + 1;

}

}

printf("\nA Linha %d Possui a Maior Soma dos Seus Elementos: %d\n", linha, maior);

printf("\n\n\n");

system("PAUSE");

}

Comments

  • O problema está aqui:

    for(lin=0; lin<=2; lin++)

    {

    for(col=0; col<=2; col++)

    {

    soma = soma + mat[lin][col];

    maior = soma; /*** <== esta operação está errada neste ponto ***/

    }

    if(soma > maior)

    {

    maior = soma;

    linha = lin + 1;

    }

    }

    Tente:

    for(lin=0; lin<=2; lin++) {

    for(col=0; col<=2; col++) {

    soma += mat[lin][col];

    }

    if (lin == 0 || soma > maior) {

    maior = soma;

    linha = lin + 1;

    }

    }

  • http://codepaste.net/n58fas

    Veja se ajuda, acabei de fazer, eu inicializei a matriz na declaração, mas adaptar isso para entrada via teclado creio que você saiba fazer...

    Qualquer dúvida poste.

    abs

Sign In or Register to comment.