'unexpected errors in c++

This code is for a school project to work with the searching and sorting methods on C++

The menu is already designed without errors, but the main program was working before adding code on CASE 3. After compiling it shows many errors (marked as comments) like missing }, or missing ; at the end of last line.

When I compile and run that code on their own cpp file, works perfectly but if I add to to code posted just fails. I've already checked the code those specific errors but nothing. Any suggestion on what I could be missing?

#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <string.h>

using namespace std;
int small(int frecuencia[], int n, int i);


void swap(int frecuencia[], int i, int j){
    int temp=frecuencia[i];
    frecuencia[i]=frecuencia[j];
    frecuencia[j]=temp;
}

int partition(int frecuencia[],int l, int r){
    
    int pivot=frecuencia[r];
    int i=l-1;
    
    for(int j=l;j<r;j++){
        if(frecuencia[j]<pivot){
            i++;
            swap(frecuencia,i,j);
        }
    }
    swap(frecuencia,i+1,r);
    return i+1;
}

void quicksort(int frecuencia[], int l, int r){
    
    if(l<r){
        
        int pi=partition(frecuencia,l,r);
        quicksort(frecuencia,l,pi-1);
        quicksort(frecuencia,pi+1,r);
    }
}


int main()
{
    //declaramos e inicializamos array
    string busquedasFrecuentes[] ={"2d arrays","matrices","algoritmos", "arrays c++", "C++ Multidimensional", "initialize 2d array", "center elements","2d array as element", "matriz bidimensional","too many initializers","0x6ffdf0 error c++","c++ beginners","error initializers char","combining 2d array","random number list generator","multidimensional arrays","c++ matriz 2 arrays","llenar matriz letras","multidimensional char array","c++ matrix bidimensional"};
    int frecuencia [] = {152,5,5,842,476,438,65,152,148,4,16,5,634,634,120,16,729,148,83,645};    
    int i, j;
    int pos,temp,pass=0;
    int opcion;
    int k, index, t;
    bool repetir = true;
    
    do {
        system("cls");
        
        // Opciones en pantallas del menu principal
        cout << "\n\n\t\t\tMenu de Opciones" << endl;
        cout << "\t\t\t----------------" << endl;
        cout << "\n\t1. Burbuja" << endl;
        cout << "\t2. Insercion" << endl;
        cout << "\t3. Seleccion" << endl;
        cout << "\t4. Quicksort" << endl;
        cout << "\t0. Salir" << endl;
        
        cout << " Selecciona una opcion: ";
        cin >> opcion;
        
        int numero1, numero2;
        float resultado;
        switch (opcion) {
            case 1:
                // Instrucciones para metodo de busqueda de burbuja
                
                
                cout <<"Lista ingresada ...\n";
                   for(i = 0; i<20; i++) {
                      cout <<frecuencia[i]<<"\t";
                   }
                cout<<endl;
                for(i = 0; i<20; i++) {
                   for(j = i+1; j<20; j++)
                       {
                          if(frecuencia[j] < frecuencia[i]) {
                             temp = frecuencia[i];
                             frecuencia[i] = frecuencia[j];
                             frecuencia[j] = temp;
                          }
                       }
                    pass++;
                }
                cout <<"Lista ordenada ...\n";
                for(i = 0; i<20; i++) {
                   cout << "    "  << busquedasFrecuentes [i]<< "     " <<frecuencia[i]<< sizeof(4) << endl;
                   
                }
                cout<<"\nNumero de ciclos usados para ordenar la lista:"<<pass<<endl; //
                
                
                system("pause>nul");
                break;
                
            case 2:
                // Instrucciones para metodo de busqueda por insercion
                
                
                
                system("pause>nul");
                break;
                
            case 3:
                // Instrucciones para metodo de busqueda por seleccion   
                cout << "Elementos no ordenados: \n" <<endl;
                for(i = 0; i < 20; i++)
                {
                cout<<busquedasFrecuentes [i] << "     " <<frecuencia[i]<<endl;
                }
                for( i = 0;i < 20; i++)
                {
                index = small(frecuencia, 20, i);
                t = frecuencia[i];
                frecuencia[i] = frecuencia[index];
                frecuencia[index] = t;
                }
                cout << "\n\nElementos ordenados:  \n" <<endl;
                for(i = 0; i < 20; i++)
                {
                cout<< busquedasFrecuentes [i] << "     " <<frecuencia[i]<<endl;
                }
                return 0;
                }
                int small(int frecuencia[], int n, int i)
                {  //error function definition is nor allowed here berfor { token
                int s, index, j;
                s = frecuencia[i];
                index = i;
                for( j = i+1; j < 20; j++)
                {
                if(frecuencia[j] < s )
                {
                s = frecuencia[j];
                index = j;
                }
                }
                return index;
                }
            
                system("pause>nul");
                break;
                
            case 4:
                // Instrucciones para metodo de busqueda quicksort
                quicksort(frecuencia,0,19);
                for(int i=0;i<20;i++){
                    cout << busquedasFrecuentes[i]<< "    - " <<frecuencia[i]<<" ";
                    {cout<<endl;
                    }
                }
                cout<<"\nNumero de ciclos usados para ordenar la lista:"<<pass<<endl; 
                
                system("pause>nul");     
                break;
            
            case 0:
                repetir = false;
                break;
        }        
    } while (repetir);
     
    return 0;

} //expected } at end of input, error while at the end, error expedted{, error expedted; , error exp}
c++


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source