Ajuda com uma matriz

1. Ajuda com uma matriz

Matheus Fernandes
matheuskikinho

(usa Ubuntu)

Enviado em 09/12/2015 - 16:16h

Meu aplicatico nao roda, ele compila mas o arquivo fecha dizendo que parou de funcionar.

//4. Leia uma matriz 4 x 4, imprima a matriz e retorne a localizac¸ao (linha e a coluna) do maior valor.˜


#include<stdio.h>
#include<stdlib.h>
int main()
{
float matriz[4][4];
int i, j, maior=matriz[0][0];
for (i=0; i<4; i++){
for(j=0; j<4; j++){
printf("Digite os valores da matriz[%d][%d]", i, j);
scanf("%f", matriz[i][j]);
if (maior < matriz[i][j])
maior = matriz[i][j];
}
}
printf("Maior %f", maior);
system("pause");
return 0;
}


  


2. Re: Ajuda com uma matriz

Thiago Henrique Hüpner
Thihup

(usa Linux Mint)

Enviado em 09/12/2015 - 17:29h

Amigo, não testei o código, mas ao me ver é por que você define o maior como matriz[0][0], sendo que matriz[0][0] ainda não possui nenhum valor definido.

E porque falta o & no scanf [scanf("%f", &matriz[i][j]);]

Soluções: Defina a variável maior como 0, ou inicie sua matriz com 0;

Obs: Maior não deveria ser float também?

Espero ter ajudado

[]'s

T+

--

Att,

Thiago Henrique Hüpner

(Mensagem scaneada pelo antivírus........ops! não precisa, afinal eu uso Linux!)



3. Re: Ajuda com uma matriz

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/12/2015 - 18:54h

Aproveite o laço for() para preencher cada variável com zero antes de chamar scanf().

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd

http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



4. Re: Ajuda com uma matriz

Paulo
paulo1205

(usa Ubuntu)

Enviado em 10/12/2015 - 11:13h

listeiro_037 escreveu:

Aproveite o laço for() para preencher cada variável com zero antes de chamar scanf().


Por quê? Não vejo motivos para preencher com um valor uma coisa que será imediatamente sobrescrita com outra.


5. Re: Ajuda com uma matriz

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/12/2015 - 15:00h

paulo1205 escreveu:

listeiro_037 escreveu:

Aproveite o laço for() para preencher cada variável com zero antes de chamar scanf().


Por quê? Não vejo motivos para preencher com um valor uma coisa que será imediatamente sobrescrita com outra.


É verdade. Eu já vi passar batido pelo scanf() sendo que a variável não fica com valor zero.
Poderia ter algo como -125367347346.
Eu só não tenho certeza de que ficaria com zero. Se ficar, então não precisa.

----------------------------------------------------------------------------------------------------------------
# apt-get purge ubuntu

http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



6. Re: Ajuda com uma matriz

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/12/2015 - 16:41h

Para achar o maior valor é só "ler" os dados da matriz com dois laços for (como se fosse para montar, porém, para ler);
Para o primeiro valor Aij (A11) você salva numa variável qualquer; para os demais valores, você compara o valor atual com o valor armazenado naquela variável (if valor atual > valor salvo na var; then valor salvo na var = valor atual; fi); até o final da leitura, você terá o maior valor da matriz salva na variável;






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts