Ir ao conteúdo
  • Cadastre-se

Lucass20

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

posts postados por Lucass20

  1. 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
  2. Estou com um problema, por causa dos números repetidos fica espaços vazios no vetor C, pois ele só compara depois que os números entram, eu tentei usar dois contadores onde o vetor C recebe os números diferentes, mas aí se eu digitasse 0 uma vez ele não aparecia na união, parece que 0 é nulo.

    Uma maneira seria quando o número fosse repetido, voltasse para ler outro número assim não ficaria com espaços vazios.

     

    segue o código:

     

      int[] A = new int[6];
                int[] B = new int[6];
                int[] C = new int[12];
                int j = 0;// cont1 = 0, cont2 = 0, cont3 = 0, soma = 0;

                
                    for (int i = 0; i < 6; i++)
                    {
                        Console.WriteLine($"Informe o {i + 1} º número do vetor A:");
                        A[i] = Convert.ToInt32(Console.ReadLine());

                        bool achou = false;
                        foreach (int elemento in C)
                        {
                        if (elemento == A[i])
                            {
                                achou = true;
                            }
                        }
                        if (achou == false)
                        {
                            //cont1++;
                            C[j] = A[i];
                            j++;
                        }
                    }

              

                Console.Write("\n");
                for (int i = 0; i < 6; i++)
                {
                    Console.WriteLine($"Informe o {i + 1} º número do vetor B:");
                    B[i] = Convert.ToInt32(Console.ReadLine());

                    bool achou = false;
                    foreach (int elemento in C)
                    {
                        if (elemento == B[i])
                        {
                            achou = true;
                        }
                    }
                    if (achou == false)
                    {
                        //cont2++;
                        C[j] = B[i];
                        j++;
                    }
                }

                //soma = cont1 + cont2 + cont3;
                Console.WriteLine("\nO vetor união é composto por:");
                for (int i = 0; i < 12; i++) // no lugar de 12, eu tentei colocar soma, mas aí o 0 não entra.
                {
                    Console.WriteLine(C[i]);
                }
                Console.WriteLine("\nAperte uma tecla para retornar ao menu principal:");
                Console.ReadKey();

    • Obrigado 1

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!