Check the new version here

Popular channels

Introducción a la Programación - 2 Ejercicios Resueltos en C

Hola taringueros, en este post les traigo 2 ejercicios resueltos de Introducción a la Programación.
Resueltos en C.
1* Ejercicio:

Se tiene una matriz A de M filas por N columnas cuyos elementos son números enteros positivos. A partir de ella se solicita generar un vector P que contenga los números primos que se encuentran en A, sin repetir valores y ordenador de mayor a menor.
Ejemplo:

M = 3, N = 3

A =     
1   7  12                Salida: P = (7, 5, 3)
        
10     3         
           5  
4   6

2
* Ejercicio:

Dada una lista de A de M números naturales, se pide crear otra lista B (espejo) cuyos elementos se obtienen a partir de invertir el correspondiente elemento de A. Mostrar tambien la cantidad de elementos de B que son elementos de A.
Ejemplo:

A = (483, 1258, 321, 101, 123)                Salida: B = ( 384,8521,123,101,321)
                                                            La cantidad de elementos de B que son elementos de A es: 3
Codigos Fuente:
 
Ejercicio 1:

#include

int main ()
{
    int cantidad_de_filas, cantidad_de_columnas;
 
    printf ("Ingresar la cantidad de filas para la matriz A: " );
    scanf ("%i", &cantidad_de_filas);
    printf ("Ingresar la cantidad de columnas para la matriz A: " );
    scanf ("%i", &cantidad_de_columnas);
     
    int matriz_a[cantidad_de_filas][cantidad_de_columnas];
    int vector_p[cantidad_de_filas+cantidad_de_columnas];
    vector_p[0] = 1;

    int I, J, K, P, posibles_divisores, auxiliar;

    P = 0;

       /* Ingreso de la matriz */

    for ( I = 0; I < cantidad_de_filas; I++)
    {
        for ( J = 0; J < cantidad_de_columnas; J++){
            printf ("Ingresar elementos en la posición[%d][%d]: ", I, J);
            scanf ("%d", &matriz_a[J]);}
    }

    
   /* Proceso */
   
    for ( I = 0; I < cantidad_de_filas; I++)
    {
           for ( J = 0; J < cantidad_de_columnas; J++)
        {
           posibles_divisores = 2;
           K = 0;
           while ( (posibles_divisores <= matriz_a[J] / 2) && ( matriz_a[J] % posibles_divisores != 0 ) ){
                 posibles_divisores = posibles_divisores + 1; }
          if ( (posibles_divisores > matriz_a[J] / 2) && (matriz_a[J] != 1) )
            {
              while ( (matriz_a[J] != vector_p[P]) && ( K <= P ) ){
                     K = K + 1;}
              if ( K > P ) {
                  P = P + 1;
                  vector_p[P] = matriz_a[J];}
            }
        }
    }

        /* Ordenamiento vector P */
   
    for ( I = 1; I <= P-1; I++)
    {
        for ( J = I + 1; J <= P; J++)
        {
            if ( vector_p[J] > vector_p ){
             auxiliar = vector_p[J];
             vector_p[J] = vector_p;
             vector_p = auxiliar;}
        }
    }
       
        /* Salida */

    if ( P > 0 )
    {
        for ( I = 1; I <= P; I++)
        {
          printf ("Vector P[%d]: %dn", I, vector_p);
        }
    } else
    {
        printf ("No se ingreso números primos.n" );
    }

    return 0;
}
Ejercicio 2:

#include

int main
()
{
  int cantidad_de_elementos;
  printf ("Ingresar cantidad de elementos para el conjunto A: " );
  scanf ("%i", &cantidad_de_elementos);
 
  int conjunto_a[cantidad_de_elementos];
  int conjunto_b[cantidad_de_elementos];

  int I, J, cantidad_de_elementos_repetidos, elemento_invertido, auxiliar, digito;
 
  cantidad_de_elementos_repetidos = 0;
     
      /* Ingreso de elementos */

  for ( I = 0; I < cantidad_de_elementos; I++)
  {
      printf("Ingresar elementos para el conjunto A[%d]: ",I );
      scanf("%i", &conjunto_a);
  }
      /* Proceso */
 
  for ( I = 0; I < cantidad_de_elementos; I++)
  {
       J = 0;
       auxiliar = conjunto_a;
       elemento_invertido = 0;
       while ( auxiliar != 0 )
       {
       digito = auxiliar % 10;
       elemento_invertido = ( elemento_invertido * 10 ) + digito;
       auxiliar = auxiliar / 10;
       }
       conjunto_b = elemento_invertido;
       while ( J <  cantidad_de_elementos )
       {
          if ( conjunto_b == conjunto_a[J] ){
             cantidad_de_elementos_repetidos = cantidad_de_elementos_repetidos + 1;}
            J = J + 1;
       }
  }
      /* Salida */

  printf ( "nConjunto B:n" );
  for ( I = 0; I <  cantidad_de_elementos; I++)
  {
       printf("Conjunto B[%d]: %dn", I, conjunto_b);
  }
  printf("La cantidad de elementos de B que son elementos de de A es : %d",cantidad_de_elementento_repetidos)
    
   return 0;
}
0
1
0
1Comment
dylan-96

Comenten!

0