Ir para conteúdo

POWERED BY:

Arquivado

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

viciado

[Resolvido] s com Matriz

Recommended Posts

Programa que preencha uma matriz 3x5 e mostre a quantidade de elementos entre 15 e 20

 

int M[3][5];

int i,j,cont;

cont = 1;

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

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

M[j] = cont;

cont ++;

}

 

 

1) Como faço para que o usuario preencha a matriz

2) E para determinar os elementos no caso entre 15 e 20

3) Tem como determinar os elementos pares e impares da matriz?

4) Como posso determinar em que linha e coluna esta um certo numero

5) Tem como determinar o maior e o menor numero de uma matriz

 

 

Eu sei q sao varias perguntas mais achei melhor colocar tudo em 1 topico do que criar varios topicos. Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

1) Como faço para que o usuario preencha a matriz

scanf. Basta realizar um loop como o que você fez ali:

 

for(i=0;i<3;i++){
	for(j=0;j<5;j++){
		printf("Digite o elemento M[%d][%d]: ", i, j);
		scanf("%d", &M[i][j]);
	}
}

2) E para determinar os elementos no caso entre 15 e 20

Acho que ele quis dizer elementos com o valor entre 15 e 20 certo? Então basta realizar outro loop, comparando os elementos com x > 15 & x < 20 (se necessário utilizar >= e <= vá em frente), sendo x o elemento atual do loop:

int contagem = 0;
for(i=0;i<3;i++){
	for(j=0;j<5;j++){
		if(M[i][j] > 15 && M[i][j] < 20){
			contagem++;
		}
	}
}
printf("Elementos entre 15 e 20: %d", contagem);

3) Tem como determinar os elementos pares e impares da matriz?

Sim. Um número é par quando X % 2 == 0.

 

4) Como posso determinar em que linha e coluna esta um certo numero

Realize um loop e salve a posição i e j, ou x e y, ou o que você decidir chamar, onde encontrou o número. Basta dar um break, se não me engano. Precisa de exemplo:

 

int quero_achar = 0;
printf("Qual numero quer achar?");
scanf("%d", &quero_achar);
int i, j;
for(i=0;i<3;i++){
	for(j=0;j<5;j++){
		if(M[i][j] == quero_achar){
			break;
		}
	}
}
printf("Achei seu numero aqui: %d %d", i, j);

5) Tem como determinar o maior e o menor numero de uma matriz

Sim.

 

int maior = M[0][0];
int menor = M[0][0];
for(i=0;i<3;i++){
	for(j=0;j<5;j++){
		if(M[i][j] > maior){
			maior = M[i][j];
		}
		if(M[i][j] < menor)
		{
			menor = M[i][j];
		}
	}
}

printf("Maior: %d\nMenor: %d", maior, menor);

 

Eu sei q sao varias perguntas mais achei melhor colocar tudo em 1 topico do que criar varios topicos. Obrigado

Fez bem, se postasse em vários tópicos iam começar a reclamar que podia ter colocado tudo em um só :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

1) Como faço para que o usuario preencha a matriz

scanf. Basta realizar um loop como o que você fez ali:

 

for(i=0;i<3;i++){
	for(j=0;j<5;j++){
		printf("Digite o elemento M[%d][%d]: ", i, j);
		scanf("%d", &M[i][j]);
	}
}

2) E para determinar os elementos no caso entre 15 e 20

Acho que ele quis dizer elementos com o valor entre 15 e 20 certo? Então basta realizar outro loop, comparando os elementos com x > 15 & x < 20 (se necessário utilizar >= e <= vá em frente), sendo x o elemento atual do loop:

int contagem = 0;
for(i=0;i<3;i++){
	for(j=0;j<5;j++){
		if(M[i][j] > 15 && M[i][j] < 20){
			contagem++;
		}
	}
}
printf("Elementos entre 15 e 20: %d", contagem);

3) Tem como determinar os elementos pares e impares da matriz?

Sim. Um número é par quando X % 2 == 0.

 

4) Como posso determinar em que linha e coluna esta um certo numero

Realize um loop e salve a posição i e j, ou x e y, ou o que você decidir chamar, onde encontrou o número. Basta dar um break, se não me engano. Precisa de exemplo:

 

int quero_achar = 0;
printf("Qual numero quer achar?");
scanf("%d", &quero_achar);
int i, j;
for(i=0;i<3;i++){
	for(j=0;j<5;j++){
		if(M[i][j] == quero_achar){
			break;
		}
	}
}
printf("Achei seu numero aqui: %d %d", i, j);

5) Tem como determinar o maior e o menor numero de uma matriz

Sim.

 

int maior = M[0][0];
int menor = M[0][0];
for(i=0;i<3;i++){
	for(j=0;j<5;j++){
		if(M[i][j] > maior){
			maior = M[i][j];
		}
		if(M[i][j] < menor)
		{
			menor = M[i][j];
		}
	}
}

printf("Maior: %d\nMenor: %d", maior, menor);

 

Eu sei q sao varias perguntas mais achei melhor colocar tudo em 1 topico do que criar varios topicos. Obrigado

Fez bem, se postasse em vários tópicos iam começar a reclamar que podia ter colocado tudo em um só :P

 

 

Obrigado grande ajuda, vivendo e aprendendo (na internet). Vlw cara

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o programa

 

 

#include <stdio.h>

#include <stdlib.h>

 

int main()

{

int i,j,cont;

cont = 1;

int M[3][5];

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

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

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

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

M[j] = cont;

cont++;

}

int contagem;

contagem = 0;

int k,l;

for(k=0;k<3;k++)

for(l=0;l<5;l++){

if(M[j] > 15 && M[j] < 20){

contagem++;

}

}

printf("\nElementos entre 15 e 20:\n %d\n",contagem);

system("PAUSE");

return 0;

}

 

 

 

Porém a resposta de elementos entre 15 e 20 é smpre 0

Compartilhar este post


Link para o post
Compartilhar em outros sites

for(k=0;k<3;k++)

for(l=0;l<5;l++){

if(M[i][j] > 15 && M[i][j] < 20){

 

Opa.....!

Compartilhar este post


Link para o post
Compartilhar em outros sites

for(k=0;k<3;k++)

for(l=0;l<5;l++){

if(M[i][j] > 15 && M[i][j] < 20){

 

Opa.....!

 

 

 

#include <stdio.h>

#include <stdlib.h>

 

int main()

{

int i,j,cont;

cont = 1;

int M[3][5];

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

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

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

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

M[j] = cont;

cont++;

}

int contagem;

contagem = 0;

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

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

if(M[j] > 15 && M[j] < 20){

contagem++;

}

}

printf("\nElementos entre 15 e 20:\n %d\n",contagem);

system("PAUSE");

return 0;

}

 

 

Continua dando 0

 

Se eu fizer

for(k=0;k<3;k++)

for(l=0;l<5;l++){

if(M[k][l] > 15 && M[k][l] < 20)

 

Também da 0

Compartilhar este post


Link para o post
Compartilhar em outros sites

for(i=0;i<3;i++)
for(j=0;j<5;j++){
printf("Digite o elemento M[%d][%d] \n",i,j);
scanf("%d",&M[i][j]);
M[i][j] = cont;
cont++;
}

Tire isso:

M[j] = cont;

cont++;

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>

#include <stdlib.h>

 

int main()

{

int i,j,cont;

cont = 1;

int M[3][5];

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

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

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

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

}

int contagem;

contagem = 0;

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

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

if(M[j] > 15 && M[j] < 20){

contagem++;

}

}

printf("\nElementos entre 15 e 20:\n %d\n",contagem);

system("PAUSE");

return 0;

}

 

 

Funcionando. Obrigado

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.