Ir ao conteúdo

Posts recomendados

Postado

Galera estou quebrando a cabeça para resolver o esse problema, o enunciado diz o seguinte: "Faça um programa que receba a quantidade de linhas e colunas e os elementos da matriz inteira A, verificar se existem elementos repetidos em A."

Até agora não consegui fazer com que meu código funcione, mesmo tentando com várias estruturas de decisão e laços diferentes, atualmente meu código está assim:

#include<stdio.h>
#include<locale.h>
int main(void){
	setlocale(LC_ALL, "Portuguese");
	int i, j, k, l=0, linha, coluna, contador=0;
	
	printf("Digite a quantidade de linhas da matriz: ");
	scanf("%d", &linha);
	
	printf("Digite a quantidade de colunas da matriz ");
	scanf("%d", &coluna);
	
	int matriz[linha][coluna];
	
	for(i=0;i<linha;i++){
		for(j=0;j<coluna;j++){
			printf("Digite o valor da %dª linha e %dª coluna: ", i+1, j+1);
			scanf("%d", &matriz[i][j]);
		}
	}
	
	for(i=0;i<linha;i++){
		for(j=0;j<coluna;j++){
			for(k=i;k<linha;k++){			
				for(l=j+1;l<coluna;l++){
					if(matriz[i][j]==matriz[k][l]){
						contador++;
					}
					}
				}
			}
		}
	

	for(i=0;i<linha;i++){
		for(j=0;j<coluna;j++){
			printf("%d\t", matriz[i][j]);
			}			
		printf("\n");
		}
	
	printf("\n\nNúmeros se repetem %d vez(es)", contador);
	
	getch();
	return 0;
}

Alguém poderia me explicar como resolver?

Postado

Eu fari assim: depois de declarar a matriz e popular ela com os valores, eu armazenaria cada valor dela em uma variável e depois faria outro for.

 

/** Supondo que tenho uma matriz m[x][y] */

int valorVerificado = 0;
int repeticoes = 0; //Contador para valores repetidos.

for (int i = 0; i < x; i++){
    for (int j = 0; j < y; j++){
        //Nesse ponto, valorVerificado vai assumir os valores da sua matriz, um de cada vez.
        //Depois, vai acontecer um loop novamente na matriz pra ver se tem algum valor igual ao valorVerificado
        valorVerificado = m[i][j];
        for (int k = 0; k < x; k++){
            for (int l = 0; l < y; l++){
                if (valorVerificado == m[k][l]){
                    //Se achou incrementa
                    repeticoes++;
                }
            }
        }
    }
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!