Ejercicios resueltos Arreglos C++


1) Dada una matriz A[1....4][1....5] ordénala pasándola a vector.

ALGORITMO
       VARIABLES
    PARA indice = 1 HASTA 20 INCREMENTO 1
      ESCRIBIR ( “Introduce un numero” ) ;
      LEER ( numero[indice] ) ;
      FIN_PARA

      ESCRIBIR ( “Introduce un numero” ) ;
      LEER (numero) ;
      indice = 1;

      MIENTRAS ( indice < 21 ) AND (numero <> A[indice] ) HACER
         indice = indice + 1;
      FIN_MIENTRAS

      SI (indice = 21) ENTONCES
         ESCRIBIR ( “No existe” ) ;
      SINO
         ESCRIBIR ( “Existe” ) ;
   
   FIN_INICIO

FIN_ALGORITMO




3) Dado un vector de 5 celdas, CARGAR NUMEROS  EN cada posición de dicho vector con un número leído.  El vector esta declarado como valor entero.

ALGORITMO
       VARIABLES
           ENTERO numero [1....5];
           ENTERO indice;
  
      INICIO
         PARA indice = 1 HASTA 5 INCREMENTO 1
            ESCRIBIR ( “Introduce un numero” );
            LEER ( numero[indice] );
         FIN_PARA
    FIN
FIN_ALGORITMO



4) Leer una secuencia de 20 números almacenados en un vector y mostrar la posición donde se encuentra el mayor leído.

ALGORITMO
       VARIABLES
            ENTERO indice;
            ENTERO mayor ;
            ENTERO mayor_indice;
            ENTERO numero [1....20];

      INICIO
           PARA indice = 1 HASTA 20 INCREMENTO 1
                 ESCRIBIR ( “Introduce un numero” ) ;
                 LEER ( numero[indice] ) ;
           FIN_PARA
     
           mayor = numero [1] ;
           mayor_indice = 1;
     
           PARA indice = 2 HASTA 20 INCREMENTO 1
               SI ( numero[indice] > mayor ) ENTONCES
                    mayor  =  numero[indice] ;
                    mayor_indice =  indice;
              FIN_SI
           FIN_PARA
       
            ESCRIBIR ( “El mayor ocupa la posición:” + mayor_indice ) ;
    FIN

FIN_ALGORITMO



5) Dado dos vectores A y B de 15 elementos cada uno obtener un vector C donde la posición i se almacena la suma de A[i]  +  B[i] y mostrar el mayor de los C[i].

ALGORITMO
       VARIABLES
          ENTERO  A[1....15] ;
          ENTERO  B[1....15] ;
          ENTERO  C[1....15] ;
          ENTERO indice;
          ENTERO suma;
       INICIO
           (* Cargar valores al arreglo A *)
           PARA indice = 1 HASTA 15 INCREMENTO 1
                ESCRIBIR ( “Introduce un numero” ) ;
                LEER ( numero[indice] ) ;
           FIN_PARA
           (* Cargar valores al arreglo B *)
           PARA indice = 1 HASTA 15 INCREMENTO 1
               ESCRIBIR ( “Introduce un numero” ) ;
              LEER ( numero[indice] ) ;
           FIN_PARA
          (* Sumar los valores del arreglo A y B en C *)
           PARA indice = 1 HASTA 15 INCREMENTO 1
                     C[indice] = A[indice] + B[indice] ;
          FIN_PARA
     
          PARA indice = 1 HASTA 15 INCREMENTO 1
                  ESCRIBIR ( C[indice] ) ;
          FIN_PARA

          mayor = C[1] ;
          mayor_indice = 1;

         (* Buscar el mayor valor cargado en el arreglo C *)
         PARA indice = 2 HASTA 15 INCREMENTO 1
                  SI ( C[indice]  > mayor ) ENTONCES
                       mayor = C[indice] ;
                       mayor_indice =  indice;
          FIN_PARA
          ESCRIBIR ( “El mayor ocupa la posición:” + mayor_indice ) ;
    FIN

FIN_ALGORITMO



6) Dado una secuencia de números leídos y almacenados en un vector A mostrar dichos números en orden.

ALGORITMO
       VARIABLES
           ENTERO intercambio ;
            ENTERO vector[1....5] ;
            ENTERO intermedio;
            ENTERO indice;
       FIN_VARIABLES


    INICIO
        PARA indice = 1 HASTA 15 INCREMENTO 1
            ESCRIBIR ( “Introduce un numero” ) ;
            LEER ( vector[indice] ) ;
        FIN_PARA

       REPETIR
           intercambio = 0
           PARA indice = 1 HASTA 14 INCREMENTO 1
               SI (vector[indice] > vector[indice + 1]) ENTONCES
                    intermedio = vector[indice] ;
                    vector[indice]  = vector[indice + 1] ;
                    vector[indice + 1 ] = intermedio;
                     intercambio = 1;
               FIN_SI
         FIN_PARA
     HASTA (intercambio = 0)

         PARA indice = 1 HASTA 15 INCREMENTO 1
                   ESCRIBIR ( “El vector ordenado es:” + vector[indice] ) ;
         FIN_PARA
    
    FIN_INICIO

FIN_ALGORITMO




7) Dada  dos matrices A y B obtener la suma.

ALGORITMO
       VARIABLES
           ENTERO matrizA[1....20][1....5] ;
           ENTERO matrizB[1....20][1....5] ;
           ENTERO matrizC[1....20][1....5] ;
           ENTERO fila;
           ENTERO columna;
       FIN_VARIABLES

    INICIO
        PARA fila = 1 HASTA 20 INCREMENTO 1
           PARA columna = 1 HASTA 5 INCREMENTO 1
              ESCRIBIR ( “Introduce un numero” ) ;
              LEER ( matrizA[fila][columna] ) ;
           FIN_PARA
        FIN_PARA
   
       PARA fila = 1 HASTA 20 INCREMENTO 1
           PARA columna = 1 HASTA 5 INCREMENTO 1
              ESCRIBIR ( “Introduce un numero” ) ;
              LEER ( matrizB[fila][columna] ) ;
           FIN_PARA
       FIN_PARA

       PARA fila = 1 HASTA 20 INCREMENTO 1
           PARA columna = 1 HASTA 5 INCREMENTO 1
              matrizC[fila][columna] = matrizA[fila][columna]  +  matrizB[fila][columna] ;
              LEER ( matrizA[fila][columna] ) ;
           FIN_PARA
       FIN_PARA
   FIN_INICIO
FIN_ALGORITMO



8) Leer una secuencia de 20  números almacenados en un vector A[1....20]  y mostrar la suma de los elementos que ocupan posición pares,  y el mayor de los que ocupan posición impares.

ALGORITMO
      
       VARIABLES
           ENTERO vector[1....20] ;
           ENTERO mayor ;
           ENTERO indice;
           ENTERO suma;
       FIN_VARIABLES

    INICIO
      (* Cargar el arrreglo Vector, de valores enteros *)
      PARA (indice = 1) HASTA 20 INCREMENTO 1
          ESCRIBIR ( “Introduce un numero” ) ;
          LEER (vector[indice]) ;
       FIN_PARA
       suma = 0;
       (* Sumar los números de aquellos que ocupan posiciones pares *)
       PARA (indice = 2) HASTA 20 INCREMENTO 2
             suma = suma + vector[indice] ;
       FIN_PARA
        (* Buscar el número mayor de aquellos valores que ocupan posiciones impares *)   
            mayor = vector[1] ;
            PARA (indice = 1) HASTA 20 INCREMENTO 2
                       SI  (vector [indice] > mayor) ENTONCES
                            mayor = vector[indice] ;
                       FIN_SI
            FIN_PARA

            ESCRIBIR ( “La suma es:”  + suma) ;
            ESCRIBIR ( “El mayor es:” + mayor ) ;
    FIN

FIN_ALGORITMO



9) Leer 20 números y mostrar la suma de todos.  Se utiliza arreglos.

ALGORITMO
       VARIABLES
            numero [1....20] de arreglos: ENTEROS
            indice, suma: ENTERO
         INICIO
            suma = 0;
            [* Cargar un número en arreglo numero *]
            PARA indice = 1 HASTA 20 INCREMENTO 1
                 ESCRIBIR ( “Introduce un numero” );
                 LEER ( numero[indice] );
            FIN_PARA
            [* Imprimir un número cargado de un arreglo numero *]
            [* Se acumula en SUMA *]
            PARA indice = 1 HASTA 20 INCREMENTO 1
                   suma = suma + numero[indice];
            FIN_PARA
     
            ESCRIBIR ( “La suma total es:” + suma );
         FIN
FIN_ALGORITMO


10) Dado dos vectores A y B de 15 elementos cada uno obtener un vector C donde la posición i se almacena la suma de A[i]  +  B[i] y mostrar el mayor de los C[i].

ALGORITMO
       VARIABLES
            ARREGLO  [1....15] DE ENTERO: A, B, C,
            Índice, suma: ENTERO
     INICIO
      (* Cargar o introducir datos en el arreglo A*)
      PARA indice = 1 HASTA 15 INCREMENTO 1
  ESCRIBIR ( “Introduce un numero” ) ;
  LEER ( A[indice] ) ;
      FIN_PARA

      (* Cargar o introducir datos en el arreglo B*)
      PARA indice = 1 HASTA 15 INCREMENTO 1
  ESCRIBIR ( “Introduce un numero” ) ;
  LEER ( B[indice] ) ;
      FIN_PARA

      (* Sumar dos arreglos y cargarlos en el arreglo C *)
      PARA indice = 1 HASTA 15 INCREMENTO 1
            C[indice] = A[indice] + B[indice] ;
      FIN_PARA

      (* Escribir el contenido del arreglo C *)
      PARA indice = 1 HASTA 15 INCREMENTO 1
             ESCRIBIR ( C[indice] ) ;
      FIN_PARA

      (* Buscar el número mayor del arreglo y reflejar el indice *)
      mayor = C[1] ;
      mayor_indice = 1;
 
      PARA indice = 2 HASTA 15 INCREMENTO 1
          SI ( C[indice]  > mayor ) ENTONCES
                 mayor = C[indice]
                 mayor_indice =  indice
          FIN SI
      FIN_PARA
      ESCRIBIR ( “El mayor NÚMERO ocupa la posición:” , mayor_indice ) ;
    FIN

FIN_ALGORITMO





11) Dado una matriz, determinar la posición [i,j] del mayor número.
ALGORITMO ejercicio 13
           VARIABLE
                      ARREGLO A[1..5, 1..4] DE ENTERO
                      Fila, columna, mayor, posición_fila, posición_columna: ENTERO
                      Mayor, posicion_fila, posición_columna: ENTERO
           INICIO

           PARA fila = 1 HASTA 5 INCREMENTO 1
                       PARA columna = 1 HASTA 4 INCREMENTO 1
                                  ESCRIBIR (“Introduce un numero”);
                                  LEER (A[fila, columna]);
                       FIN_PARA
           FIN_PARA

           Mayor = A[1, 1];
           Posición_fila = 1;
           Posición_columna = 1;

           PARA fila = 1 HASTA 5 INCREMENTO 1
                       PARA columna = 1 HASTA 4 INCREMENTO 1
                                  SI (A[fila, columna] > mayor) ENTONCES
                                              Mayor = A[fila, columna];
                                              Posición_fila = [fila];
                                              Posición_columna = [columna];
                                  FIN_SI
                       FIN_PARA
                                  ESCRIBIR (“El mayor es:mayor”);
                                  ESCRIBIR (“La posición es:”, posición_fila, 
                                                         Posición_columna)          
           FIN_PARA
           FIN_INICIO
FIN_ALGORITMO




12.-  Dado una matriz, determinar la posición [i,j] del mayor y menor número. ALGORITMO ejercicio 14
VARIABLE
                      ARREGLO A[1..5, 1..4] DE ENTERO
                      Fila, columna, mayor, posicion_fila, posición_columna: ENTERO
                  ENTERO menor
                  ENTERO posición_fila1;
                  ENTERO posición_columna1;

      INICIO
      PARA fila = 1 HASTA 5 INCREMENTO 1
                  PARA columna = 1 HASTA 4 INCREMENTO 1
                             ESCRIBIR (“Introduce un numero”);
                             LEER (A[fila, columna]);
                  FIN_PARA
      FIN_PARA

     [* Hallar el mayor de los números cargados en la matriz *]
      Mayor = A[1, 1];
      Posición_fila = 1;
      Posición_columna = 1;
      PARA fila = 1 HASTA 5 INCREMENTO 1
                  PARA columna = 1 HASTA 4 INCREMENTO 1
                             SI (A[fila, columna] > mayor) ENTONCES
                                         Mayor = A[fila, columna];
                                         Posición_fila = [fila];
                                         Posición_columna = [columna];
                             FIN_SI
                  FIN_PARA
                             ESCRIBIR (“El mayor es:”, mayor”);
                             ESCRIBIR (“La posición es:”, posición_fila, Posición_columna”);
      FIN_PARA

     [* Hallar el menor de los números cargados en la matriz *]
      Menor = 1;
      Posición_fila1 = 1;
      Posición_columna1 = 1;
      PARA fila = 1 HASTA 5 INCREMENTO 1
                  PARA columna = 1 HASTA 4 INCREMENTO 1
                             SI (A[fila, columna] < menor) ENTONCES
                                         Menor = A[fila,columna];
                                         Posición_fila1 = [fila];
                                         Posición_columna1 = [columna];
                             FIN_SI
                  FIN_PARA
                             ESCRIBIR (“El menor es:”, menor);
                             ESCRIBIR (“La posición es:”, posición_fila1, Posición_columna1”);

      FIN_INICIO
FIN_ALGORITMO


Leave a Reply