/// <summary> /// ex7 Criar um algoritmo que apresente todos os elementos únicos num vetor /// </summary> private static void Unicos() { string[] a = InputRequest.GetStrArray(); int n = Contar(a); string[] elements = new string[n]; int[] amount = new int[n]; for (int i = 0; i < n; i++) { if (elements.Contains(a[i])) { amount[Array.IndexOf(elements, a[i])]++; } else { elements[i] = a[i]; amount[i]++; } } Console.WriteLine("\nValores Únicos do Array:"); for (int i = 0; i < n; i++) { var item = elements[i]; var am = amount[i]; if (item != string.Empty && am == 1) { Console.Write($"{item}; "); } } Console.WriteLine(); }
private static void ex13() { var a = InputRequest.GetStrArray(); string[][] splitedArray; string pivot = ""; int pivotPos = -1; while (pivotPos < 0) { pivot = InputRequest.RequestString("Escolha um valor do array para pivot"); pivotPos = FindInArray(a, pivot); if (pivotPos < 0) { Console.WriteLine($"{pivot} não faz parte do array"); Console.WriteLine($"\nArray: [{string.Join(", ", a)}]"); } } splitedArray = PivotSplit(a, pivotPos); Console.WriteLine($"\nArray 1: [{string.Join(", ", splitedArray[0])}]"); Console.WriteLine($"Pivot: {pivot}"); Console.WriteLine($"Array 2: [{string.Join(", ", splitedArray[1])}]"); }
/// <summary> /// ex6 Criar um algoritmo que apresente todos os elementos únicos num vetor /// </summary> private static void Unicos() { string[] a = InputRequest.GetStrArray(); Console.WriteLine("\nValores Únicos do Array:"); Console.WriteLine(UniqueElements(a)); }
/// <summary> /// ex5 Criar um algoritmo que apresente a contagem de todos os elementos repetidos num vetor /// </summary> private static void Repetidos() { string[] a = InputRequest.GetStrArray(); Console.WriteLine("\nValores do Array repetidos:"); Console.WriteLine(RepeatedElements(a)); }
private static void ex12(string opc = "") { if (opc == "") { while (true) { opc = InputRequest.RequestString("Escolha a alinea: "); switch (opc) { case "a": ex12("a"); return; case "b": ex12("b"); return; case "c": ex12("c"); return; case "d": ex12("d"); return; case "e": ex12("e"); return; case "f": ex12("f"); return; default: return; } } } else { string[] a = InputRequest.GetStrArray(); string[] b = a; switch (opc) { case "a": b = AddToArray(a, "beg"); break; case "b": b = AddToArray(a, "end"); break; case "c": b = AddToArray(a); break; case "d": b = RemoveFromArray(a, "beg"); break; case "e": b = RemoveFromArray(a, "end"); break; case "f": b = RemoveFromArray(a); break; } Console.WriteLine($"\nArray Inicial: [{string.Join(", ", a)}]"); Console.WriteLine($"Array Final: [{string.Join(", ", b)}]"); } }
/// <summary> /// ex8 Criar um algoritmo que organize os elementos de um array (ordena os elementos por ordem alfabética) /// </summary> private static void Organizar() { string[] a = InputRequest.GetStrArray(); int c = Contar(a); int[][] v = new int[c][]; for (int i = 0; i < c; i++) { int c_ai = a[i].Length; v[i] = new int[c_ai]; for (int ii = 0; ii < c_ai; ii++) { // a[i][ii] is the char in position ii on the string a[i] // v[i][ii] is an int; a[i][ii] is a char, all chars have an int value and can be implicitly converted to int v[i][ii] = a[i][ii]; } } Array tempA; string temp = ""; while (c > 0) { c--; for (int i = 0; i < c; i++) { if (a[i] == a[i + 1]) { continue; } if (a[i].Length < a[i + 1].Length) { if (a[i] == a[i + 1].Substring(0, a[i].Length)) { continue; } } if (a[i].Length > a[i + 1].Length) { if (a[i].Substring(0, a[i + 1].Length) == a[i + 1]) { temp = a[i]; tempA = v[i]; a[i] = a[i + 1]; v[i] = v[i + 1]; a[i + 1] = temp; v[i + 1] = tempA.Cast <int>().ToArray(); continue; } } int v1 = 0, v2 = 0, ii = 0; while (v1 == v2) { v1 = v[i][ii]; v2 = v[i + 1][ii]; ii++; } if (v1 > v2) { temp = a[i]; tempA = v[i]; a[i] = a[i + 1]; v[i] = v[i + 1]; a[i + 1] = temp; v[i + 1] = tempA.Cast <int>().ToArray(); } } } Console.WriteLine("[{0}]", string.Join(", ", a)); }