コード例 #1
0
        /// <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();
        }
コード例 #2
0
        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])}]");
        }
コード例 #3
0
 /// <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));
 }
コード例 #4
0
 /// <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));
 }
コード例 #5
0
        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)}]");
            }
        }
コード例 #6
0
        /// <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));
        }