Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Encontrar números inteiros repetidos no array

Preciso encontrar os inteiros repetidos no array. Se tiver número duplicado deve retornar "true" se não houver números repetidos deve retornar "false"

public static bool duplicados(int[] Array) { Array = new int[10];

    for (int i = 0; i < Array.Length; i++)
    {
        int j = Array[i];
        Console.WriteLine(i = j);
        return true;
    }

    for (int i = 0; i < Array.Length; i++)
    {
        int j = Array[i];
        Console.WriteLine(i != j);

        return false;
    }
}
1 resposta
solução!

Marco,

Desculpe, mas você NÃO precisa verificar duas vezes: "Se existe" e "Se NÃO existe", basta verificar uma vez só, tipo... "Se existe" é porque falso "Não existe", você só precisa de 1 "for", sacou?

Você cria a variável "j" dentro do FOR a cada loop do for? Não é bem assim...

Montei um exemplo do que acredito que você quer, eu faço uma comparação do número atual "i" com o número na frente "i + 1", mas CUIDADO para não provocar um overflow!

bool resposta1 = duplicados(new int[] { 1, 2, 3, 4, 5, 6 });
bool resposta2 = duplicados(new int[] { 1, 2, 3, 4, 4, 6 });

Console.WriteLine($"resposta 1: {resposta1} ");
Console.WriteLine($"resposta 2: {resposta2} ");

bool resposta3 = duplicados2(new int[] { 1, 2, 3, 4, 5, 6 });
bool resposta4 = duplicados2(new int[] { 1, 2, 3, 4, 4, 6 });

Console.WriteLine($"resposta 3: {resposta3} ");
Console.WriteLine($"resposta 4: {resposta4} ");

Console.ReadKey();

static bool duplicados(int[] Array1)
{
    for (int i = 0; i < Array1.Length - 1; i++)
    {
        if (Array1[i] == Array1[i + 1]) { 
            Console.WriteLine($"A Array1 tem duplicado o valor: {Array1[i]}");
            return true;
        }
    }

    return false; 
}

// USANDO O LINQ:

static bool duplicados2(int[] Array1)
{
    var arrayAgrupadosRepeticaoCount = Array1
             .GroupBy(x => x)
             .Select(a => new
             {
                 Item = a.Key,
                 Quant = a.Count()
             })
             .ToArray();

    if (arrayAgrupadosRepeticaoCount.Length == Array1.Length)
        return false;

    return true;
}

Veja também:

===============================================================

verificar numero repetido dentro do array c#

https://pt.stackoverflow.com/questions/271802/verificar-numero-repetido-dentro-do-array-c

===============================================================

Encontre elementos duplicados em uma lista em C#

https://www.techiedelight.com/pt/find-duplicate-elements-in-a-list-in-csharp/

===============================================================

Eu sabia que era possível usar o LINQ, mas NÃO sabia como... KKKKK!!!

[]'s,

Fabio I.