Crear programas en C++ que resuelvan problemas ESP [Cerrado]

Denunciar
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
-
misterdekus
Publicaciones
244
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
domingo, 19 de enero de 2020
-
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.

1 respuesta

Publicaciones
244
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
domingo, 19 de enero de 2020
23
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
244
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
domingo, 19 de enero de 2020
23
corrección de la 1 ....

int factorial(int x)
{
 if(x > 1){
   return factorial(x-1)*x;
  }
}
misterdekus
Publicaciones
244
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
domingo, 19 de enero de 2020
23
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;
  }
}