-
Posts
3 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Lucass20
-
-
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();- 1
-
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();- 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
Exercício de busca na Matriz(Não pode ter números repetidos)
em C/C#/C++
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.