//BOTAO ANALIZAR ===========================================================================
        private void button2_Click(object sender, EventArgs e)
        {
            int Index = comboBox1.SelectedIndex;

            DateTime HoraIni, HoraFim;
            TimeSpan diff;

            NArq = (int)numericUpDown1.Value;

            Val_Analize[] V_Anal = new Val_Analize[NArq];

            Val_Analize V = new Val_Analize();
            Val_Analize V_DP = new Val_Analize();

            progressBar1.Value = 0;
            progressBar1.Maximum = NArq;

            Analizador.Lista_Vet.Clear(); //LIMPA A LISTA

            switch (Index)
            {
                case 0:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        BubbleSort B = new BubbleSort();
                        B.bubbleSort(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = B.N_Comp;
                        V_Anal[i].N_Mov = B.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;

                case 1:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        HeapSort H = new HeapSort();
                        H.heapSort(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = H.N_Comp;
                        V_Anal[i].N_Mov = H.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;

                case 2:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        InsertionSort I = new InsertionSort();
                        I.insertionSort(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = I.N_Comp;
                        V_Anal[i].N_Mov = I.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;
                case 3:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        KSort K = new KSort();
                        K.K_Sort(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = K.N_Comp;
                        V_Anal[i].N_Mov = K.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;

                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;

                case 4:

                   for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        MergeSort M = new MergeSort();
                        M.margeSort(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = M.N_Comp;
                        V_Anal[i].N_Mov = M.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;

                case 5:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        NewSortMiddlePivot NS = new NewSortMiddlePivot();
                        NS.newSortMiddlePivot(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = NS.N_Comp;
                        V_Anal[i].N_Mov = NS.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;

                case 6:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        NewSortLeftPivot NL = new NewSortLeftPivot();
                        NL.newSortLeftPivot(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = NL.N_Comp;
                        V_Anal[i].N_Mov = NL.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;

                case 7:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        QuickSort Q = new QuickSort();
                        Q.quickSort(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = Q.N_Comp;
                        V_Anal[i].N_Mov = Q.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;

                case 8:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        SelectionSort SL = new SelectionSort();
                        SL.selectionSort(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = SL.N_Comp;
                        V_Anal[i].N_Mov = SL.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;

                case 9:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        ShakerSort SH = new ShakerSort();
                        SH.shakerSort(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = SH.N_Comp;
                        V_Anal[i].N_Mov = SH.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;

                case 10:

                    for (int i = 0; i < NArq; i++)
                    {
                        Arquivos A = new Arquivos();
                        Analizador.Lista_Vet.Add(A.abrirArquivo(Arquivos.Local[i]));

                        Analizador.analizaLetras(Analizador.Lista_Vet[i]);

                        progressBar1.Value++;

                        HoraIni = DateTime.Now;
                        HoraIni = DateTime.Now;
                        ShellSort SS = new ShellSort();
                        SS.shellSort(Analizador.Tam, i);
                        HoraFim = DateTime.Now;
                        diff = HoraFim.Subtract(HoraIni);
                        // Obtém milissegundos

                        V_Anal[i] = new Val_Analize();

                        V_Anal[i].Tamanho = Analizador.Tam; // pega tamanho
                        V_Anal[i].N_Comp = SS.N_Comp;
                        V_Anal[i].N_Mov = SS.N_Mov;
                        V_Anal[i].Tempo = diff.TotalMilliseconds;
                    }

                    V = Analizador.getMedia(V_Anal, NArq);

                    label5.Text = V.N_Mov.ToString();
                    label7.Text = V.N_Comp.ToString();
                    label13.Text = V.Tempo.ToString();
                    label22.Text = V.Tamanho.ToString();

                    V_DP = Analizador.getDesvioPadrao(V_Anal, V, NArq);

                    label11.Text = V_DP.N_Mov.ToString();
                    label17.Text = V_DP.N_Comp.ToString();
                    label20.Text = V_DP.Tempo.ToString();
                    label24.Text = V_DP.Tamanho.ToString();

                    break;
            }

            button3.Visible = true;
            button4.Visible = true;
        }
Example #2
0
        //FAZ TODA A PUTARIA ===================================================================
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //PARTE DO ESPAÇAMENTO ===========================================================================================================

            listBox1.Items.Clear();
            listBox2.Items.Clear();

            int Index = comboBox1.SelectedIndex;

            Arquivos A = new Arquivos();
            char[] Vet =  A.abrirArquivo(Arquivos.Local[Index]);

            Analizador.analizaLetras(Vet);
            //--------------------------------------------------------

            String Separator = "__________________________________________________________________________________________________________________";

            listBox1.Items.Add("CARACTER  -  ESPAÇAMENTO ENTRE OS CARACTERES ");
            listBox2.Items.Add("CARACTER     -      MÉDIA      -      DESVIO PADRÃO");
            listBox1.Items.Add(Separator);
            listBox2.Items.Add(Separator);

            for (int i = 32; i <= 64; i++)
            {

                char C = (char)i;
                List<int> Esp = Analizador.verificaPosicao(C, Vet);

                String TexEsp = " ";

                if (Esp.Count == 0)
                {
                    TexEsp = " O texto não possui este caracter! ";
                }
                else
                {
                    foreach (int B in Esp)
                    {
                        TexEsp += B.ToString() + ", ";
                    }
                }

                if (i == 32)
                {
                    int Media = Analizador.getMediaCaracter(Esp, Esp.Count);
                    int DesvP = Analizador.getDesvioPadraoCaracter(Esp, Media, Esp.Count);

                    String Text = " Space   - " + TexEsp;
                    listBox1.Items.Add(Separator);
                    listBox1.Items.Add(Text);

                    String Text2 = " Space            -                   " + Media + "              -               " + DesvP;
                    listBox2.Items.Add(Separator);
                    listBox2.Items.Add(Text2);

                }
                else
                {
                    int Media = Analizador.getMediaCaracter(Esp, Esp.Count);
                    int DesvP = Analizador.getDesvioPadraoCaracter(Esp, Media, Esp.Count);

                    String Text = "    " + C + "   - " + TexEsp;
                    listBox1.Items.Add(Separator);
                    listBox1.Items.Add(Text);

                    String Text2 = "     " + C + "              -               " + Media + "              -               " + DesvP;
                    listBox2.Items.Add(Separator);
                    listBox2.Items.Add(Text2);

                }
            }

            for (int i = 123; i <= 125; i++)
            {
                char C = (char)i;
                List<int> Esp = Analizador.verificaPosicao(C, Vet);

                String TexEsp = " ";

                if (Esp.Count == 0)
                {
                    TexEsp = " O texto não possui este caracter! ";
                }
                else
                {
                    foreach (int B in Esp)
                    {
                        TexEsp += B.ToString() + ", ";
                    }
                }

                int Media = Analizador.getMediaCaracter(Esp, Esp.Count);
                int DesvP = Analizador.getDesvioPadraoCaracter(Esp, Media, Esp.Count);

                String Text = "    " + C + "   - " + TexEsp;
                listBox1.Items.Add(Separator);
                listBox1.Items.Add(Text);

                String Text2 = "     " + C + "              -               " + Media + "              -               " + DesvP;
                listBox2.Items.Add(Separator);
                listBox2.Items.Add(Text2);

            }

            for (int i = 97; i <= 122; i++)
            {
                char C = (char)i;
                List<int> Esp = Analizador.verificaPosicao(C, Vet);

                String TexEsp = " ";

                if (Esp.Count == 0)
                {
                    TexEsp = " O texto não possui este caracter! ";
                }
                else
                {
                    foreach (int B in Esp)
                    {
                        TexEsp += B.ToString() + ", ";
                    }
                }

                int Media = Analizador.getMediaCaracter(Esp, Esp.Count);
                int DesvP = Analizador.getDesvioPadraoCaracter(Esp, Media, Esp.Count);

                String Text = "    " + C + "   - " + TexEsp;
                listBox1.Items.Add(Separator);
                listBox1.Items.Add(Text);

                String Text2 = "     " + C + "              -               " + Media + "              -               " + DesvP;
                listBox2.Items.Add(Separator);
                listBox2.Items.Add(Text2);

            }

            listBox1.Items.Add(Separator);
            //=============================================================================================================
        }