none
Como escrever um código C# para ler N valores inteiros mostrar os elementos que aparecem apenas uma vez. RRS feed

  • Pergunta

  • Galera,

    estou com dificuldade em resolver a questão acima:

    int valorInformado = 0;

                Console.WriteLine("Digite a quantidade de valores a serem informados");
                valorInformado = int.Parse(Console.ReadLine());

                int[] veTor = new int[valorInformado];

                for(int i = 0; i < 1; i++)
                {
                    for(int j = 0; j < valorInformado; j++)
                    {
                        Console.WriteLine("Digite os números aqui: ");
                        veTor[i] = int.Parse(Console.ReadLine());           
                                        
                        if (veTor[i] == veTor[j])
                        {
                            Console.WriteLine("Este número apareceu apenas uma vez: " + veTor[i].ToString());
                        }

                    }
                }
                Console.ReadKey();

    sábado, 25 de maio de 2019 23:51

Todas as Respostas

  • Olá, Ricardo! Segue o código:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    					
    public class Program
    {
    	public static void Main()
    	{
    		Console.Write("Digite a quantidade de números a serem analisados: ");
    		int[] numeros = new int[int.Parse(Console.ReadLine())];
    		
    		// Lista para armazenar os números únicos
    		var numerosUnicos = new List<int>();
    		
    		for(int i=0; i < numeros.Count(); i++)
    		{
    			Console.Write("Digite um número: ");
    			numeros[i] = int.Parse(Console.ReadLine());
    		}
    		
    		Console.WriteLine("======== PROCESSAMENTO ========");
    		
    		Console.Write("Números digitados => ");
    		for(int i=0; i< numeros.Count(); i++)
    		{
    			Console.Write(numeros[i] + " ");
    			
    			// O método Single() irá lançar um erro caso o número em questão
    			// esteja duplicado
    			try
    			{
    				numerosUnicos.Add(numeros.Single(x => x == numeros[i]));
    			}
    			catch
    			{
    				// Caso uma exceção seja encontrada, continua para a próxima 
    				// iteração
    				continue;
    			}
    		}
    		
    		Console.WriteLine();
    		Console.Write("Números não repetidos => ");
    		foreach(var numero in numerosUnicos)
    		{
    			Console.Write(numero + " ");
    		}
    	}
    }

    Exemplo de funcionamento:

    Digite a quantidade de números a serem analisados: 6
    Digite um número: 3
    Digite um número: 3
    Digite um número: 1
    Digite um número: 7
    Digite um número: 7
    Digite um número: 2
    ======== PROCESSAMENTO ========
    Números digitados => 3 3 1 7 7 2 
    Números não repetidos => 1 2

    Att, Wallace


    “First do it, then do it right, then do it better.”


    domingo, 26 de maio de 2019 19:03