C sharp - Como contar elementos repetidos en una List<T>

 
Vista:
sin imagen de perfil

Como contar elementos repetidos en una List<T>

Publicado por Cesar (1 intervención) el 29/07/2017 02:40:51
Hola amigos, espero que me puedan ayudar en este problema jejej
lo que pasa es que en una lista<string> el usuario debe ingresar palabras( 5 maximo)
y lo que quiero es que si el usuario ingresa una palabra repetidas veces quiero que en
la salida muestre las veces que una palabra fue repetida:
Ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
List<string> palabras = new List<string>();
            string p;
            for (int x = 0; x < 5; x++)
            {
                p = Console.ReadLine().ToString();
                palabras.Add(p);
 
            }//en esta parte del for ingresaria las siguientes palabras:
            /*
             * -hola,hola,hola,adios,adios.
             */
 
 
            foreach (string con in palabras)//aqui ademas de imprimir lo que contiene la lista quiero que se imprima
                                            //el numero de repeticiones de palabras iguales
                {
                    Console.WriteLine(con);
                }
          /*
           hola = 3
           * adios = 2
           */
 
           Console.ReadKey();

Espero que me puedan ayudar porfavor.
Gracias por su atencion :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de LuisMX
Val: 7
Ha aumentado su posición en 18 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Como contar elementos repetidos en una List<T>

Publicado por LuisMX (3 intervenciones) el 29/07/2017 18:37:04
Saludos, te muestro una forma de hacerlo espero te sea de ayuda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Collections.Generic;
 
namespace dudasforo
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			List<string> palabras = new List<string> ();
			string p;
			for (int x = 0; x < 5; x++)
			{
				p = Console.ReadLine ().ToString ();
				palabras.Add (p);
			} //en esta parte del for ingresaria las siguientes palabras:
 
			/*
	        * -hola,hola,hola,adios,adios.
	        */
			var contador = new List<Tuple<string,int>>();
			bool encontro;
			foreach (string con in palabras)//aqui ademas de imprimir lo que contiene la lista quiero que se imprima
	 		{
				encontro = false;
				for (int i = 0; i < contador.Count; i++)
					if (contador[i].Item1 == con)
					{
						encontro = true;
						contador[i] = new Tuple<string, int>(contador[i].Item1, contador[i].Item2 + 1);
					}
 
				if (!encontro)
				{
					contador.Add(new Tuple<string,int>(con, 1));
				}
 
				//el numero de repeticiones de palabras iguales
				//Console.WriteLine (con);
			}
 
			for (int i = 0; i < contador.Count; i++)
				Console.WriteLine(contador[i].Item1 + " = " + contador[i].Item2);
 
			/*
	        * hola = 3
	        * adios = 2
	        */
			Console.ReadKey ();
		}
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como contar elementos repetidos en una List<T>

Publicado por jorge (1 intervención) el 19/09/2017 05:28:57
Podrías utilizar la libreria de Linq para hacer una agrupación de tu lista de strings, te pongo un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace Pruebas
{
    class Program
    {
        static void Main(string[] args)
        {
            //Inicializamos una lista string con 5 palabras
            List<string> palabras = new List<string>() {
                "hola",
                "hola",
                "hola",
                "adios",
                "adios"
            };
 
            //Imprimimos en pantalla cada elemento de la lista
            palabras.ForEach(e => Console.WriteLine(e.ToString()));
 
            //Agrupamos la lista
            var agrupacion = palabras.GroupBy(x => x)
                 .Select(g => new { Text = g.Key, Count = g.Count() }).ToList();
 
            //Imprimimos la lista agrupada
            agrupacion.ForEach(e => Console.WriteLine($"palabra: {e.Text} veces: {e.Count}"));
 
            Console.ReadLine();
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como contar elementos repetidos en una List<T>

Publicado por charles132 (4 intervenciones) el 03/08/2021 02:28:56
oigan una duda y si de casualidad podrian crear un filtro y que en lugar de que muestre cuales estan repetidos seria que tu ingresas los elementos a la lista y este compruebe que los elementos ingresados no se repitan y si uno se repite se descarte y le diga al usuario que inserte otro elemento antes ingresado esta repetido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 326
Plata
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Como contar elementos repetidos en una List<T>

Publicado por Miguel (143 intervenciones) el 03/08/2021 02:34:48
Como tu lista es un elemento generico debes espeficicar a que te refieres con repetido.
SI es un elemento con un tipo base como numero o cadena es sencillo, intentalo y se
pueden sugerir cambios

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como contar elementos repetidos en una List<T>

Publicado por charles132 (4 intervenciones) el 06/08/2021 19:16:44
me refiero a que por ejemplo que no se puedan tener dos 3 en una lista perdón por no explicarme bien es que soy un novato en la programación y mi profesor no me explica nada
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 326
Plata
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Como contar elementos repetidos en una List<T>

Publicado por Miguel (143 intervenciones) el 09/08/2021 20:46:22
Agrega un ejemplo de lo que quieres hacer, como pseudocodigo, no es necesario el codigo solo la ide,
ademas agrega lo que haz intentado, si quieres aprender debes iniciar por tu cuenta y preguntar tus dudas
al profesor, eso de que el profesor no me explica nada no es pretexto para no aprender hay libros, cursos en linea,
tutoriales, gente que te puede guiar, etc..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como contar elementos repetidos en una List<T>

Publicado por charles132 (4 intervenciones) el 13/08/2021 21:57:51
perdon por la tardanza estaba buscando respuestas pero no me acorde de esto xd en fin el pseudocodigo seria algo así

se crea una lista de tipo int

el sistema escribe: quiere ingresar números en la lista

el usuario inserta un validador

el sistema verifica la respuesta del usuario

en caso de que si se ejecuta lo siguiente

inserte un numero

el usuario inserta numero

el sistema verifica en la lista que el numero antes mencionado no se encuentre en la lista

se incorpora el numero insertado por el usuario

condicional que reinicia el bucle

fin del caso positivo

en caso de que no se ejecuta lo siguiente

gracias por su tiempo

fin del caso negativo

el sistema escribe : quiere escribir otro numero

el usuario inserta un valor

el sistema verifica la respuesta

en caso de que si

repetir el caso si numero uno

en caso de que no

repetir el primer caso noo

soy novato asi que mi pseudo codigo es malo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar