PRÁCTICO 3 AlGORITMOS

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

UPSA

Facultad de Ingeniería
Algoritmos y Programación I

PRÁCTICO N°3

Alumno: Tamir Jordán Lima

Registro: 2015112154

Docente: MGS. Rolando Martínez Canedo

Santa Cruz, 23/02/2015


UPSA
Facultad de Ingeniería
Algoritmos y Programación I

#include <iostream>
#include <conio.h>
using namespace std;

int invertir(int n)
{
int y = 0, u;
while (n > 0)
{
u = n % 10;
y = y * 10 + u;
n = n / 10;
}
return(y);
}

int par(int n)
{
int s = 0, d;
while (n > 0)
{
d = n % 10;
if (d % 2 == 0)
{
s = s * 10 + d;
}
n = n / 10;
}
return (invertir(s));
}

bool primo(int n)
{
int i;
bool k = true;
for (i = 2; i < n; i++)
{
if (n%i == 0)
{
k = false;
}
}
return (k);
}

bool ordenar1(int n)
{
int p = n % 10, q;
bool k = true;
while (n > 0)
{
q = n % 10;
if (q > p)
{
UPSA
Facultad de Ingeniería
Algoritmos y Programación I

k = false;
}
p = q;
n = n / 10;
}
return (k);
}

int ordenar2(int n)
{
int j = (n % 10), k, z = 0;
while (n > 0)
{
n = n / 10;
k = n % 10;
if (j >= k)
{
z = (z * 10) + j;
}
j = k;
}
return(invertir(z));
}

void main()
{
int a, x, opcion, d;
bool b, c;
do
{
cout << endl << "Ingrese numero natural: ";
cin >> x;
} while (x <= 0);
do
{
cout << endl << endl << "-------------MENU-------------";
cout << endl << endl << "1.- Numero con digitos pares";
cout << endl << "2.- Verificar si un numero es primo";
cout << endl << "3.- Verificar si un numero esta ordenado en forma
ascendente";
cout << endl << "4.- Reducir numero a sus digitos ordenados en forma
ascendente";
cout << endl << "0.- Salir";
cout << endl << endl << "Ingrese opcion: ";
cin >> opcion;
switch (opcion)
{
case 1:
{
a = par(x);
cout << endl << "El numero con digitos pares es " << a;
break;
}
case 2:
{
UPSA
Facultad de Ingeniería
Algoritmos y Programación I

b = primo(x);
if (b == true)
{
cout << endl << "El numero SI es primo";
}
else
{
cout << endl << "El numero NO es primo";
}
break;
}
case 3:
{
c = ordenar1(x);
if (c == true)
{
cout << endl << "El numero SI esta ordenado de forma
ascendente";
}
else
{
cout << endl << "El numero NO esta ordenado de forma
ascendente";
}
break;
}
case 4:
{
d = ordenar2(x);
cout << endl << "El numero es " << d;
break;
}
}
} while (opcion != 0);
_getch();
}

También podría gustarte