Ir ao conteúdo

Posts recomendados

Postado

Então, o problema do meu código é que não está preenchendo o vetor totalmente, fica com espaços vazios e acaba deixando a Matriz com zeros, eu tentei usar mais um vetor para armazenar os números repetidos mas não deu certo. A parte de não entrar número iguais  esta funcionando.

 

 

segue o código:

 int[,] Matriz = new int[10, 10];
            Random r = new Random();
            int x = 0, z = 0, y = 0;
            bool encontrou = false;

            int[] Vetor = new int[10 * 10];
            int[] Repetidos = new int[10 * 10];
            int c = 0;

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    int num = r.Next(-50, 100);
                    bool achou = false;

                    foreach (int elemento in Vetor)
                    {
                        if (elemento == num)
                        {
                            achou = true;
                            Repetidos[c] = num; // Tentativa para solucionar o problema, não é importante!
                            c++;
                        }

                    }

                    if (achou == false)
                    {
                        Vetor[c] = num;
                        Console.WriteLine($" número{c} do {Vetor[c]} "); //Para saber nos testes se está preenchendo todas posições.
                        Matriz[i, j] = num;
                        c++;
                    }
                }
            }

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Console.WriteLine($"O número na {i + 1} linha e {j + 1} coluna é {Matriz[i, j]}");
                }
            }

            Console.WriteLine("Digite um número a ser procurado na Matriz:");
            x = Convert.ToInt32(Console.ReadLine());
            Console.Write("\n");

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    if (x == Matriz[i, j])
                    {
                        z = i + 1;
                        y = j + 1;
                        encontrou = true;
                    }
                }
            }

            if (encontrou == true)

            {
                Console.WriteLine($"O número {x} foi encontrado na {z}ª linha e {y}ª coluna da Matriz!");
            }
            else
            {
                Console.WriteLine($"O número {x}  não foi encontrado na Matriz!");
            }
            Console.ReadKey();

  • Obrigado 1
Postado

84047389_Interrogao.png.b7a9a181492934b6f7a318af48fd4866.png@Lucass20 Colega de código, para eu toda linguagem OO de programação é igual senão é Python.

 

 

Mesmo assim, tua programação está tão confusa que não há nas versões de Python uma que conserte; sim Sr. Nas primeiras linhas algo no mínimo existe só para incomodar o computador: reserva-se memória para variável indexável (Vetor) fazer coisas ditas desimportante.

 

int num = r.Next(-50, 100);
bool achou = false;

foreach (int elemento in Vetor) {
	if (elemento == num) {
		achou =  true;
		Repetidos[c] =  num; // Tentativa para solucionar o problema, não é importante!
	c++;
}	}

 

 

De mim, vetor é de elementos todos 0 porque não enxergo a ação onde 'elementaria' a Vetor e justificaria sua investigação mais tarde e no intervalo de (-50) ate 100 com flag (num) pseudoaleatório. Talvez seja esse o problema nuclear do teu algoritmo, só lembrando que não sou programador e especialista em análise de algoritmo.

 "

 

A biblioteca padrão da C# tem métodos de pesquisa para simplifica a vida de seus adeptos e da forma que sei não é novidade para ninguém. Outra coisa meu caríssimo, acredito também que tudo não passe de um exercício de lógica para ti, e nesse caso estude com os  vetores que são as origens preenchidinhos de seus dados, se o preenchimento é parte do exercício então faça em separado, verifique se tudo está como esperado e parta para próxima fase.

"

  • Curtir 1
Postado

@mauro_b Sim, no caso os 2 vetores são desnecessários eram só para testes, o preenchimento  acontece mas sem a verificação muitos números ficam repetidos, e infelizmente não posso usar métodos d biblioteca.

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

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

×
×
  • Criar novo...

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!