Skip to content

Commit c63ed8f

Browse files
authored
Merge pull request mouredev#3330 from SBS24/sbs
#18 - c#
2 parents 6291ba3 + 06735c5 commit c63ed8f

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

Roadmap/18 - CONJUNTOS/c#/SBS24.cs

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace Conjuntos
8+
{
9+
internal class Program
10+
{
11+
static void Main(string[] args)
12+
{
13+
/*
14+
* EJERCICIO:
15+
* Utilizando tu lenguaje crea un conjunto de datos y realiza las siguientes
16+
* operaciones (debes utilizar una estructura que las soporte):*/
17+
List<string> conjuntos = new List<string>();
18+
conjuntos.Add("casa");
19+
conjuntos.Add("coche");
20+
conjuntos.Add("llaves");
21+
22+
List<string> conjuntos2 = new List<string>();
23+
conjuntos2.Add("casa2");
24+
conjuntos2.Add("coche");
25+
conjuntos2.Add("llaves2");
26+
27+
List<string> conjuntos3 = new List<string>();
28+
conjuntos3.Add("casa3");
29+
conjuntos3.Add("coche3");
30+
conjuntos3.Add("llaves3");
31+
32+
List<string> conjuntos4 = new List<string>();
33+
conjuntos4.Add("casa4");
34+
conjuntos4.Add("coche4");
35+
conjuntos4.Add("llaves4");
36+
37+
/* - Añade un elemento al final.*/
38+
conjuntos.Add("final");
39+
40+
/* - Añade un elemento al principio.*/
41+
conjuntos.Insert(0, "principio");
42+
43+
/* - Añade varios elementos en bloque al final.*/
44+
conjuntos.AddRange(conjuntos2);
45+
46+
/* - Añade varios elementos en bloque en una posición concreta.*/
47+
conjuntos.InsertRange(3, conjuntos3);//pendiente de que lo inserte en una posición concreta
48+
49+
/* - Elimina un elemento en una posición concreta.*/
50+
conjuntos.RemoveRange(1, 1);//borra 1 elemento (casa) que esta en la posición 1
51+
52+
/* - Actualiza el valor de un elemento en una posición concreta.*/
53+
conjuntos[5] = "Posicion actualizada 5";
54+
/* - Comprueba si un elemento está en un conjunto.*/
55+
if (conjuntos.IndexOf("casa2") != -1)
56+
{
57+
Console.WriteLine("El elemento está en la posición " + (conjuntos.IndexOf("casa2") + 1));
58+
}
59+
else
60+
{
61+
Console.WriteLine("El elemento no está en la lista");
62+
}
63+
64+
/* - Elimina todo el contenido del conjunto.*/
65+
conjuntos4.RemoveRange(0, (conjuntos4.Count() - 1));
66+
67+
/*
68+
/* DIFICULTAD EXTRA (opcional):
69+
/* Muestra ejemplos de las siguientes operaciones con conjuntos:
70+
/* - Unión.*/
71+
conjuntos2 = conjuntos2.Concat(conjuntos4).ToList();
72+
73+
/* - Intersección.*/
74+
IEnumerable<string> both = conjuntos.Intersect(conjuntos2);
75+
76+
/* - Diferencia.*/
77+
var diferencias = conjuntos.Except(conjuntos2);
78+
var diferencias2 = conjuntos2.Except(conjuntos);
79+
80+
/* - Diferencia simétrica.*/
81+
var primer_conjunto = conjuntos.ToHashSet();
82+
primer_conjunto.SymmetricExceptWith(conjuntos2);
83+
var dif_simetrica = primer_conjunto.ToList();
84+
85+
}
86+
}
87+
}

0 commit comments

Comments
 (0)