Crear programas en C++ que resuelvan problemas ESP

Publicaciones
1
Fecha de inscripción
miércoles, 29 de agosto de 2018
Estatus
Miembro
Última intervención
miércoles, 29 de agosto de 2018
-
1.- Calcular el factorial de un número x.

2.- Determinar si el último digito de la cedula de identidad es el correcto.

3.- Crear un vector de 100 elementos y ordenarlo utilizando el método de burbuja.


ayuda por favor es algo muy importante para mi y mi carrera.
Ver más 

1 respuesta

Publicaciones
134
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
lunes, 15 de julio de 2019
9
0
Gracias
hola fer

no te daré TODO el código
pero te ayudaré en lo que pueda...

1.- Calcular el factorial de un número x.

int factorial(int x)
{
 int n=0;
 if(x > 1){
  n=factorial(x-1)*x
 }
 return n;
}


2.- Determinar si el último digito de la cedula de identidad es el correcto.
(la neta, esto no tengo idea de como hacerlo, pero te dejo unos links para que investigues)

https://www.youtube.com/watch?v=feqifCv5Ohk
https://www.youtube.com/watch?v=03RSL10g0U8
https://gist.github.com/vickoman/7800717
https://entredesarrolladores.com/7044/como-verificar-c%C3%A9dula-de-identidad-d%C3%ADgito-verificador

3.- Crear un vector de 100 elementos y ordenarlo utilizando el método de burbuja.

int main() {

   int num, aux;
   int comparaciones = 0;
   int intercambios = 0;
   int* arreglo;
   cout << "Cuantos numeros seran: ";
   cin >> num;
   arreglo = new int[num];
   cout << endl << "***CAPTURA DE NUMEROS***" << endl;

   for(int x = 0; x < num; x++) {
      cout << "Ingresa el numero " << x << " de la serie: ";
      cin >> arreglo[x];
      cout << endl;
   }
   cout << "***MUESTRA DE NUMEROS***" << endl;

   for(int y = 0; y < num; y++) {
      cout << "Numero " << y << ".- " << arreglo[y] << endl;
   }

   for(int z = 1; z < num; ++z) {
      for(int v = 0; v < (num - z); ++v) {
         comparaciones++;
         if(arreglo[v] > arreglo[v+1]){
            aux = arreglo[v];
            arreglo[v] = arreglo[v + 1];
            arreglo[v + 1] = aux;
            intercambios++;
         }
      }
    }

   cout << "***NUMEROS ARREGLADOS***" << endl;

   for(int w = 0; w < num; w++) {
      cout << "Numero " << w << ".- " << arreglo[w] << endl;
   }

   cout << "Numero de comparaciones: " << comparaciones << endl;
   cout << "Numero de intercambios: " << intercambios << endl;
  
   delete[] arreglo;
   return 0;
}


Espero que te sirva

Saludos
misterdekus
Publicaciones
134
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
lunes, 15 de julio de 2019
9 -
corrección de la 1 ....

int factorial(int x)
{
 if(x > 1){
   return factorial(x-1)*x;
  }
}
misterdekus
Publicaciones
134
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
lunes, 15 de julio de 2019
9 -
aunque si por ejemplo x = 20 , te dará un resultado ... no correcto ... por el tipo de variable

en vez del tipo int, lo cambies a tipo long

long factorial(int x)
{
 if(x > 1){
   return factorial(x-1)*x;
  }
}
Comenta la respuesta de misterdekus