martes, 8 de diciembre de 2015

ARREGLOS EN C++

014  ARREGLOS EN C / C++
Actualizado 2020
Ing, Honoria Reyes Macedo

Arreglos son un conjunto de datos que se almacenan de forma contigua con el mismo nombre y mismo tipo de datos. Se hace referencia a los dartos mediante un indice encerrado entre corchetes.
Hay arreglos de una dimensión (llamados tambien vectores), y los arreglos de 2 dimensiones llamados matrices

1.-     Funciones para implementar en un programa de manejo de arreglos

a)
void arregloUnidInicializado(){
    //Ejemplo de un arreglo de una dimension inicializado
    int numero;
    //Cuando el arreglo esta inicializado, no es obligatorio especificar el tamaño para la primer dimensión
    //Declarar el arreglo inicializandolo con datos de tipo string
    string arreglo002[]={"LUNES","MARTES","MIERCOLES","JUEVES","VIERNES","SABADO","DOMINGO"};
    cout<< "QUE NUMERO DE DIA QUIERES?:";
    cin>> numero;
    cout <<"El dia es: "<< arreglo002[numero-1] <<endl;
}

b)
void arregloUnidLLenar(){
    //Ejemplo del llenado de un arreglo de una dimension
    double valor;
    double calificaciones[3]; //Declarar el arreglo con longitud de 3
    //Llenado del arreglo, recorriendo cada posicion
    for(int i=0; i<3;i++){
        cout <<"INTRODUCE CALIFICACION EN EL INDICE [" <<i <<"]:";
        cin>> valor;
        calificaciones[i]=valor;
    }
    cout<<"Tengo en el indice [1]: " << calificaciones[1] <<endl;
    cout<<"Tengo en el indice [2]: " << calificaciones[2] <<endl;

}

c)
void arregloMultiInicializado(){
    // Ejemplo de un arreglo de 2 dimensiones inicializado
    int indice1,indice2;
    //Declarar el Arreglo con 2 filas y 3 columnas, e inicializarlo con datos tipo double
    double arreglo003[2][3]={2.4, 3.7, 6.8,
                                                     9.6, 5.9, 9.8};

    cout<< "TIENES UNA MATRIZ DE 2X3, QUE INDICE QUIERES?:";
    cin>> indice1 >>indice2;
    cout <<"El valor en ese indice es= "<< arreglo003[indice1][indice2] <<endl;

}

d)
void arregloMultiLlenar(){
    //Ejemplo del llenado de un arreglo de 2 dimensiones
    int valor;
    int arreglo004[3][2];                       // Declarar el arreglo con 3 filas y 2 columnas
    //Recorrer primero una por una las filas
    for(int i=0; i<3; i++){
        //Recorrer las dos columnas en la fila
        for(int j=0; j<2; j++){
            cout <<"INTRODUCE UN ENTERO EN EL INDICE [ " <<i <<"][ " <<j <<" ]=";
            cin>> valor;
            arreglo004[i][j]=valor;
        }
    }
    cout<<"Tengo en el indice [1][1]= " << arreglo004[1][1] <<endl;
    cout<<"Tengo en el indice [2][1]= " << arreglo004[2][1] <<endl;
}


e)
void comparaOrdenando(){
   // Ejemplo de ordenar un arreglo inicializado tipo string
    //                                0                1             2              3                4
    string  nombres[]={"Magda","Laura","Angelica","Raquel","Benito"};
    string auxiliar;
   // Ordena de dos en dos
    if(nombres[0] > nombres[1]){
       auxiliar= nombres[0];
       nombres[0] = nombres[1];
       nombres[1] = auxiliar;
    }
    if(nombres[1] > nombres[2] ){
       auxiliar = nombres[1];
       nombres[1] = nombres[2];
       nombres[2] =auxiliar;
    }
    if(nombres[2] > nombres[3] ){
       auxiliar = nombres[2];
       nombres[2] = nombres[3];
       nombres[3] = auxiliar;
    }
    if(nombres[3] > nombres[4] ){
       auxiliar = nombres[3];
       nombres[3] = nombres[4];
       nombres[4] = auxiliar;
    }

    // Para que quede totalmente ordenado
   // Vuelve a empezar pero termina en la posicion 3, y
   // Vuelve a empezar pero termina en la posicion 2, y
   // Vuelve a empezar pero termina en la posicion 1, y

   // Al final mostrar el resultado
    cout <<"Mi Arreglo queda asi:{ " << nombres[0] <<" , "<< nombres[1]<<" , "
        << nombres[2] <<" , " << nombres[3] <<" , "<< nombres[4] <<" }" <<endl;


}


//Como pondrias el proceso de ordenar, usando  ciclos de control para no repetir lo mismo?


f)
        





    g)
        








-------------------0--0--------------------------------------
----------------000--000-----------------------------------

No hay comentarios.:

Publicar un comentario