Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica Nº1
Practica Nº1
#include <iostream>
#include <iostream>
using namespace std;
void repetidos(string jugadores[],int n);
int main()
{
int n=10;
string jugadores[n];
string jugadoresDobles[n];
int nDuplicado=0;
string jugadoresDuplicados[n];
jugadores[0]="Messi";
jugadores[1]="Pogba";
jugadores[2]="Cristiano";
jugadores[3]="Pogba";
jugadores[4]="Neymar";
jugadores[5]="Aguero";
jugadores[6]="Dybala";
jugadores[7]="Aguero";
jugadores[8]="Messi";
jugadores[9]="Haaland";
repetidos(jugadores,n);
return 0;
}
void repetidos(string jugadores[],int n)
{
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(jugadores[i]==jugadores[j])
{
cout <<"El jugador repetido es:"<<jugadores[i]<<" ,vender"<<endl;
break;
}
}
}
}
2.Esther estuvo revisando los diferentes tipos de números en la matemática y encontró varios
numeros que los consideraba “Interesantes”, ella sabe como identificarlos pero aun no sabe
como programarlos. Tu como estudiante de la materia de SIS 2210, ayudala realizando funciones
para verificar si un numero pertenece a uno de los números interesantes para Esther.
Numeros primos.
Numeros perfectos.
Numeros curiosos.
Numeros narcisistas.
Numeros felices o infelices.
Numeros malvados.
Numeros amigos.
#include <iostream>
using namespace std;
int num_Primo(int n);
int num_Perfecto(int n);
int num_Curioso(int n);
int num_Narcisista(int n);
void num_Feliz(int n);
int num_Malvado(int n);
int main()
{
int num;
cout<<"Introduzca un numero:";
cin>>num;
if(num_Primo(num))
{
cout<<"El numero es primo"<<endl;
}
else
{
cout<<"El numero no es primo"<<endl;
}
if (num_Perfecto(num))
{
cout<<"El numero es perfecto"<<endl;
}
else
{
cout<<"El numero no es perfecto"<<endl;
}
if(num_Curioso(num))
{
cout<<"El numero es curioso"<<endl;
}
else
{
cout<<"El numero no es curioso"<<endl;
}
if(num_Narcisista(num))
{
cout<<"El numero es narcisista"<<endl;
}
else
{
cout<<"El numero no es narcisista"<<endl;
}
num_Feliz(num);
if(num_Malvado(num))
{
cout<<"El numero es malvado"<<endl;
}
else
{
cout<<"El numero no es malvado"<<endl;
}
return 0;
}
int num_Primo(int n)
{
if (n==2||n==3)
{
return 1;
}
if (n==1||n%2==0)
{
return 0;
}
for (int i=3;i*i<=n;i+=2)
{
if (n%i==0)
{
return 0;
}
}
return 1;
}
int num_Perfecto(int n)
{
int suma=0;
for(int i=1;i<n;i++)
{
if(n%i==0)
{
suma+=i;
}
}
if (suma==n)
{
return 1;
}
else
{
return 0;
}
}
int num_Curioso(int n)
{
int suma=0,dig=0,temp=n;
while(temp!=0)
{
dig++;
temp/=10;
}
temp=n;
while(temp!=0)
{
int digito=temp%10;
int producto=1;
for(int i=0;i<dig;i++)
{
producto*=digito;
}
suma+=producto;
temp/=10;
}
if (suma==n)
{
return 1;
}
else
{
return 0;
}
}
int num_Narcisista(int n)
{
int suma=0;
int temp=n;
int longitud=0;
while (temp>0)
{
temp/=10;
longitud++;
}
temp=n;
while(temp>0)
{
int digito=temp%10;
int potencia=1;
for(int i=0;i<longitud;i++)
{
potencia*=digito;
}
suma+=potencia;
temp/=10;
}
if(suma==n)
{
return 1;
} else
{
return 0;
}
}
void num_Feliz(int n)
{
while(n!=1&&n!=4)
{
int suma=0;
while(n>0)
{
int digito=n%10;
suma+=digito*digito;
n/=10;
}
n=suma;
}
if(n==1)
{
cout<<"El numero es feliz"<<endl;
} else
{
cout<<"El numero es infeliz"<<endl;
}
}
int num_Malvado(int n)
{
int cont=0;
while(n>0)
{
cont+=n%2;
n/=2;
}
if(cont%2==0)
{
return 1;
}
Else
{
return 0;
}
}
#include <iostream>
#include <string>
using namespace std;
int Decimal(char l);
int Romano_Decimal(string rom);
int main()
{
string romano;
cout<<"Ingresar un numero romano:";
cin>>romano;
int decimal=Romano_Decimal(romano);
cout<<"El numero romano a decimal es:"<<decimal<<endl;
return 0;
}
int Decimal(char l)
{
switch(l)
{
case 'I': return 1;
case 'V': return 5;
case 'X': return 10;
case 'L': return 50;
case 'C': return 100;
case 'D': return 500;
case 'M': return 1000;
default : return 0;
}
}
int Romano_Decimal(string rom)
{
int d=0;
int i=0;
while (rom[i]!='\0')
{
if(i>0&&Decimal(rom[i])>Decimal(rom[i-1]))
{
d+=Decimal(rom[i])-2*Decimal(rom[i-1]);
} else
{
d+=Decimal(rom[i]);
}
i++;
}
return d;
}
5.El programa anterior que hiciste le ayudo mucho a Jamil pero ahora tiene otro problema, debe
realizar un resumen del libro que estaba revisando pero su docente le pidió que lo números de
su resumen deben estar en romano, por lo tanto te pide ayuda para que dado un numero en
decimal puedas transformarlo en un numero romano.
#include <iostream>
using namespace std;
string dec_rom(int dec);
int main() {
int decimal;
cout<<"Ingrese un numero decimal:";
cin >> decimal;
string resultado = dec_rom(decimal);
cout<<"El numero decimal a romano es:"<<resultado<<endl;
return 0;
}
string dec_rom(int dec)
{
string rom="";
int ud[]={1000,900,500,400,100,90,50,40,10,9,5,4,1};
string simb[]={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
for (int i=0;i<13;i++)
{
while(dec>=ud[i])
{
rom += simb[i];
dec -= ud[i];
}
}
return rom;
}
6.Gracias al buen trabajo que hiciste con las funciones de los números interesantes para Esther,
su hermana Noemí te pide ayuda para encontrar la raíz digital de un numero(la raíz digital es la
suma de todos los dígitos de un numero, si la suma tiene 2 o mas dígitos debes volver a realizar la
operación hasta que quede solamente un digito), pero ella es un poco mas exigente así que la
función debe ser recursiva.
#include <iostream>
using namespace std;
int raiz_digital(int n);
int main()
{
int num;
cout<<"Ingrese un numero:";
cin>>num;
int raiz=raiz_digital(num);
cout<<"La raiz digital es:"<<raiz<<endl;
return 0;
}
int raiz_digital(int n)
{
if(n<10)
{
return n;
}
int sum=0;
while(n>0)
{
sum+=n%10;
n/=10;
}
return raiz_digital(sum);
}
8.Es tu primer día de trabajo como programador, el anterior programador al enterarse que seria
despedido, borro varias líneas de código del programa y ahora no funciona, por lo tanto debes
hacer que el programa funciones correctamente, además debes indicar que es lo que hace.
#include <iostream>
using namespace std;
int contar0(int num)
{
int cant=0;
while(num>0)
{
int bit=num%2;
if (bit==0)
{
cant++;
}
num=num/2;
}
return cant;
}
int contar1(int num)
{
int cant=0;
while(num>0)
{
int bit=num%2;
if(bit==1)
{
cant++;
}
num=num/2;
}
return cant;
}
int main()
{
int num,cant0,cant1;
cout<<"Ingrese un numero"<<endl;
cin>>num;
cant0=contar0(num);
cant1=contar1(num);
if(cant0==cant1)
{
cout<<"El numero esta equilibrado"<<endl;
}
else
{
cout <<"El numero no esta equilibrado"<<endl;
}
return 0;
}