Ir para conteúdo

POWERED BY:

Arquivado

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

viciado

[Resolvido] Matriz

Recommended Posts

Programa que preencha uma matriz 6x3, calcule e mostre

o maior elemento da matriz e sua respectiva posição

o menor elemento da matriz e sua respectiva posição

 

 

#include <stdio.h>

#include <stdlib.h>

 

int main()

{

int i,j,M[6][3];

int cont = 1;

for(i=0;i<6;i++)

for(j=0;j<3;j++){

printf("Digite os elementos M[%d][%d]\n",i,j);

scanf("%d",&M[j]);

M[j] = cont;

cont++;

}

int maior = M[0][0];

int menor = M[0][0];

for(i=0;i<6;i++)

for(j=0;j<3;j++){

if(M[j] > maior){

maior = M[j];

}

if(M[j] < menor)

{

menor = M[j];

}

}

for(i=0;i<6;i++)

for(j=0;j<3;j++){

if(M[j] == maior){

break;

}

}

printf("A posicao do maior e: \n %d %d \n", i, j);

for(i=0;i<6;i++)

for(j=0;j<3;j++){

if(M[j] == menor){

break;

}

}

printf("A posicao do menor e: \n %d %d \n", i, j);

system("PAUSE");

return 0;

}

 

 

 

Qual o erro do codigo. Pq a posição da resposta é sempre a mesma (maior 6 2) (menor 6 3)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não posso dizer agora que estou de saída. Mas denovo o mesmo problema na definição da matriz. Retire esta parte:

 

M[j] = cont;

cont++;

 

Quando voltar se já não tiverem resolvido o problema eu termino de resolver!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não posso dizer agora que estou de saída. Mas denovo o mesmo problema na definição da matriz. Retire esta parte:

 

M[j] = cont;

cont++;

 

Quando voltar se já não tiverem resolvido o problema eu termino de resolver!

 

#include <stdio.h>

#include <stdlib.h>

 

int main()

{

int i,j,M[6][3];

int cont = 1;

for(i=0;i<6;i++)

for(j=0;j<3;j++){

printf("Digite os elementos M[%d][%d]\n",i,j);

scanf("%d",&M[j]);

}

int maior = M[0][0];

int menor = M[0][0];

for(i=0;i<6;i++)

for(j=0;j<3;j++){

if(M[j] > maior){

maior = M[j];

}

if(M[j] < menor)

{

menor = M[j];

}

}

for(i=0;i<6;i++)

for(j=0;j<3;j++){

if(M[j] == maior){

break;

}

}

printf("A posicao do maior e: \n %d %d \n", i, j);

for(i=0;i<6;i++)

for(j=0;j<3;j++){

if(M[j] == menor){

break;

}

}

printf("A posicao do menor e: \n %d %d \n", i, j);

system("PAUSE");

return 0;

}

 

Continua o problema so que agora as duas respostas é (6 3)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use variáveis para armazenar as posições do maior e do menor número. Assim você pode determinar as posições nos loops que verificam o maior e o menor número, retirnado os dois últimos loops

 

Como posso usar essas variaveis?

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>

#include <stdlib.h>

 

int main()

{

int i,j,M[6][3];

 

for(i=0;i<6;i++)

for(j=0;j<3;j++){

printf("Digite os elementos M[%d][%d]\n",i,j);

scanf("%d",&M[j]);

}

int maior = M[0][0];

int menor = M[0][0];

int linha_maior, coluna_maior, linha_menor, coluna_menor;

 

for(i=0;i<6;i++)

for(j=0;j<3;j++){

if(M[j] > maior){

maior = M[j];

linha_maior = i;

coluna_maior = j;

}

if(M[j] < menor)

{

menor = M[j];

linha_menor = i;

coluna_menor = j;

}

}

 

 

printf("A posicao do maior e: \n %d %d \n", linha_maior, coluna_maior);

printf("A posicao do menor e: \n %d %d \n", linha_menor, coluna_menor);

 

return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,j,M[6][3];

for(i=0;i<6;i++)
for(j=0;j<3;j++){
printf("Digite os elementos M[%d][%d]\n",i,j);
scanf("%d",&M[i][j]);
}
int maior = M[0][0];
int menor = M[0][0];
int linha_maior, coluna_maior, linha_menor, coluna_menor;

for(i=0;i<6;i++)
for(j=0;j<3;j++){
if(M[i][j] > maior){
maior = M[i][j];
linha_maior = i;
coluna_maior = j;
}
if(M[i][j] < menor)
{
menor = M[i][j];
linha_menor = i;
coluna_menor = j;
}
}


printf("A posicao do maior e: \n %d %d \n", linha_maior, coluna_maior);
printf("A posicao do menor e: \n %d %d \n", linha_menor, coluna_menor);

return 0;
}

 

Obrigado. Resolvido

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.