Sunteți pe pagina 1din 16

Programación c++

PROBLEMA N°1

Muestre en pantalla los números enteros del 1 al 121.

#include <iostream>

using namespace std;

main()

{
int a,N;
cout<<"Ingrese numero total a imprimir : ";cin>>N;

a=0;
while(a<121)

a=a+1;
cout<<" "<<a<<endl;
}

PROBLEMA N°2

Muestre en pantalla los números enteros del 1 al 98 de 3 en 3.


#include <iostream>

using namespace std;


main()

int a,N;
cout<<"Ingrese el numero N : ";cin>>N;

a=-2;

while(a<98-2)

HUANCAYO – PERÚ
- 2018 -
a=a+3;

cout<<" "<<a<<endl;
}

PROBLEMA N°3

Muestre en pantalla los números enteros del 99 al 1.

#include <iostream>
using namespace std;

main()

{
int a,N;

cout<<"Ingrese numero total a imprimir : ";cin>>N;

cout<<"Ingrese numero total a imprimir : ";cin>>B;

B=99;

a=99
while(B<=a)

{
a=a-1;

cout<<" "<<a<<endl;

}
}

PROBLEMA N°4

Muestre en pantalla todos los múltiplos de 3 entre los números 1 y 100.

#include <iostream>
using namespace std;
main()
{
float a,n;
cout<<"Ingrese el numero n : ";cin>>n;
a=-3;
while(a<=100)
HUANCAYO – PERÚ
- 2018 -
{
a=a+3;
cout<<" "<<a<<endl;
}
}

PROBLEMA N°5

Genere la siguiente serie: 5, 10, 15, 20, 25,30… El programa preguntará primero cuantos
términos se quieren mostrar y después mostrará la serie correspondiente.

#include <iostream>
using namespace std;
int n1,n;
float b,b2,n2;
main()
{
cout<<"Ingrese la cantidad de numeros que quisiera mostrar :
";cin>>n;
b=0;
b2=0;
while(b<n)
{
b=b+1;
b2=b2+5;
cout<<" "<<b2<<endl;
}
}

PROBLEMA N°6

Pida al usuario un número, y muestre el mensaje "has introducido el numero ---" (mostrando el
número que ha sido introducido). Esta acción debe repetirse hasta que el usuario introduzca el
número 0. En ese momento se mostrará el mensaje "Finalizando: Se ha introducido el número
0". Además, se debe mostrar cuántos números se han introducido y su suma.

#include <iostream>
using namespace std;
main()
{
int a,a1,i,h;
cout<<"Ingrese un numero : ";cin>>a;
h=0;
i=1;
a1=a;
HUANCAYO – PERÚ
- 2018 -
while(a1!=0)
{
cout<<"Has introducido el numero : "<<a<<endl;
h=h+a;
cout<<"Ingrese un numero : ";cin>>a;
a1=a;
i=i+1;
}
if(a1==0)
{
cout<<"Finalizado : se ha intrucido el numero 0"<<endl;
cout<<"Se han introducido : "<<i;
cout<<"Numeros"<<endl;
cout<<"La suma es : "<<h<<endl;

}
}

PROBLEMA N°7

Pida al usuario su nombre y contraseña y le de tres oportunidades para introducir los datos
correctos, que serán root y 4321. Si los datos introducidos son correctos se mostrará por pantalla
“Bienvenido al sistema”. En caso contrario se mostrará un mensaje por pantalla indicando que
se ha superado el número de intentos permitido.
Notas:
Puesto que las cadenas de caracteres finalizan con el carácter nulo (‘\0’), usuario y contraseña
se declararán como cadenas de longitud 5 (char usuario[5]). Para leer cualquiera de estas
cadenas con la función scanf se usará el descriptor de formato %s y dado que el nombre de la
cadena ya es una dirección, éste no debe ir precedido del símbolo &(scanf(“%s”, usuario)).
Para comparar cadenas se debe usar la función strcmp (string compare), por ejemplo
strcmp(usuario, "root"), que devolverá un 0 si las cadenas son iguales y otro valor si son
distintas.

#include<iostream>
#include<conio.h>
using namespace std;
main(){
int A,k;
char usuario[5];
for(k=1;k<=3;k++){
cout<<"Ingrese usuario :";scanf("%s",usuario);
cout<<"Ingrese contrasena :";cin>>A;
if(A
==4321 && usuario[0]=='r' && usuario[1]=='o' &&
usuario[2]=='o' && usuario[3]=='t' && usuario[4]=='\0')
{
break;
}
}
HUANCAYO – PERÚ
- 2018 -
if(k>3)
cout<<"A superado numero de intentos";
else
cout<<"Bienvenido al sistema";
return 0;
}

PROBLEMA N°8

Eleve un número a una potencia, utilizando dos métodos:

a) utilizando la función potencia

#include <iostream>
#include <math.h>
using namespace std;
main()
{
int a,b,c;
cout<<"ingrese la base de la potencia : ";cin>>a;
cout<<"ingrese el exponente : ";cin>>b;
c=pow(a,b);
cout<<"el resultado es : "<<c<<endl;
}

b) usando un bucle, sin recurrir al operador potencia. Nota: En C, para poder usar la función
potencia (pow(x, y)=xy) es necesario incluir la biblioteca math (#include <math.h>).

#include <iostream>
using namespace std;
main()
{
int a,a1,b,c;
cout<<"ingrese la base de la potencia : ";cin>>a;
cout<<"ingrese el exponente : ";cin>>b;
c=0;
a1=1;
while(c<b)
{
c=c+1;
a1=a1*a;
}
cout<<"el resultado es : "<<a1<<endl;
}

HUANCAYO – PERÚ
- 2018 -
PROBLEMA N°9

Solicite 10 números enteros positivos al usuario y calcule y muestre los siguientes valores:
La suma de todos los números leídos.
La media de los números.
El mayor número introducido.
El menor número introducido.

#include <iostream>
using namespace std;
main()
{
int d,e,h,h1,mayor,menor;
cout<<"Ingrese un numero : ";cin>>d;
e=0;
h=d;
mayor=d;
menor=d;
while(e<9)
{
e=e+1;
cout<<"Ingrese un numero : ";cin>>d;
h=h+d;
if(mayor>=d)
{
mayor=mayor;
}
else
mayor=d;
if(menor<=d)
{
menor=menor;
}
else
menor=d;
}
cout<<"La suma es : "<<h<<endl;
h1=h/10;
cout<<"La media de los numeros es : "<<h1<<endl;
cout<<"El numero mayor introducido es : "<<mayor<<endl;
cout<<"El numero menor introducido es : "<<menor<<endl;
}
HUANCAYO – PERÚ
- 2018 -
PROBLEMA N°10

Solicite números al usuario hasta que se hayan introducido 10 números o la suma de todos los
números leídos sea mayor que 100. A continuación mostrar un mensaje indicando qué condición
se ha cumplido (es decir, si se han introducido 10 números o si su suma es mayor que 100).

#include <iostream>
using namespace std;
main()
{
float a,b,suma;
cout<<"ingrese numero : ";cin>>b;
a=0;
suma=b;
while(a<9)
{
a=a+1;
cout<<"ingrese numero : ";cin>>b;
suma=suma+b;
if(suma>100)
{
a=a+11;
cout<<"la suma ha eccedido el valor de 100"<<endl;
}
if(a==9)
{
cout<<"ya son diez numeros introducidos"<<endl;
}
}
}

PROBLEMA N°11

Para adivinar un número entre 1 y 100 que previamente se ha definido como una constante. El
programa irá pidiendo números al usuario y, siempre que dicho número no coincida con el
número secreto, le indicará si el número introducido es mayor o menor que el número secreto
que tiene que adivinar. Al final, el programa indicará la cantidad de intentos que se han
necesitado para adivinar el número. Si el número de intentos es menor que 5 se mostrará
“Enhorabuena!”. Si es un valor entre 5 y 10 se mostrará el mensaje “No está mal”. Si el número
de intentos es mayor que 10 se mostrará el mensaje “Debe practicar más”.

HUANCAYO – PERÚ
- 2018 -
#include <iostream>
using namespace std;
main()
{
int a,a1,i,i1,i2;
cout<<"Ingrese el numero secreto : ";cin>>a;
a1=0;
cout<<"Empezemos, escribir tu supuesto numero : ";cin>>a1;
i=0;
if(a==a1)
{
i2=i1+1;
cout<<"Este es el numero "<<a1<<endl;
cout<<"El numero de intentos realizados es : "<<i2<<endl;
}
if(a<a1 || a>a1)
{
while(a<a1 || a>a1)
{
if(a<a1)
{
i=i+1;
cout<<"Ingresar un numero menor "<<endl;
cout<<"Escribir tu supuesto numero : ";cin>>a1;

}
if(a>a1)
{
i=i+1;
cout<<"Ingresar un numero mayor "<<endl;
cout<<"Escribir tu supuesto numero : ";cin>>a1;

}
if(a==a1)
{
i=i+1;
cout<<"Este es el numero "<<a1<<endl;
}
}
if(i<5 && i>1)
{
cout<<"En hora buena"<<endl;
cout<<"El numero de intentos realizados es :
"<<i<<endl;
}
if(i>=5 && i<=10)
{
cout<<"No esta mal"<<endl;
cout<<"El numero de intentos realizados es :
"<<i<<endl;
}
if(i>10)
{
cout<<"Debe practicar mas"<<endl;
}
} HUANCAYO – PERÚ
- 2018 -
}

PROBLEMA N°12

Modificar el ejercicio anterior para que el número máximo de intentos sea 5. Al terminar el
programa indicará si el usuario ha ganado (si ha adivinado el número en menos de cinco
intentos) o no.

#include <iostream>
using namespace std;
main()
{
int a,a1,i,i1,i2,i5;
cout<<"ingrese el numero secreto : ";cin>>a;
i1=0;
cout<<"empezemos, escribir tu supuesto numero : ";cin>>a1;
i=0;
i5=0;
while(i5<5)
{
i5=i5+1;
if(a==a1)
{
i2=i1+1;
cout<<"este es el numero "<<a1<<endl;
cout<<"el numero de intentos realizados es :
"<<i2<<endl;
}
if(a<a1 || a>a1)
{
while(a<a1 || a>a1)
{
if(a<a1)
{
i=i+1;
cout<<"ingresar un numero menor "<<endl;
cout<<"escribir tu supuesto numero :
";cin>>a1;
}
if(a>a1)
{
i=i+1;
cout<<"ingresar un numero mayor "<<endl;
cout<<"escribir tu supuesto numero :
";cin>>a1;
}
if(a==a1)
{
HUANCAYO – PERÚ
- 2018 -
i=i+1;
cout<<"este es el numero "<<a1<<endl;
}
}
}
}
}

PROBLEMA N°13

Solicite al usuario números positivos de tres o más cifras y compruebe si son pares. Si el número
introducido es positivo pero de una o dos cifras, se solicitará un nuevo número. El programa
finaliza cuando se introduce “0” o un número negativo.

#include <iostream>
using namespace std;
main()
{
int d,a;
cout<<"Ingrese un numero entero y de tres cifras o mas : ";cin>>a;
while(a>0)
{
if(a>=100)
{
while(a>=100)
{
d=a%2;
if(d==0)
{
cout<<"El numero "<<a;
cout<<" Es par"<<endl;
}
if(d!=0)
{
cout<<"El numero "<<a;
cout<<" Es impar"<<endl;
}
cout<<"Ingrese un numero entero y de tres cifras
o mas : ";cin>>a;
}
}
if(a<100 && a>0)
{
cout<<"Ingrese un numero un entero y de tres cifras o
mas : ";cin>>a;
while(a>=100)
{
d=a%2;
if(d==0)
{
HUANCAYO – PERÚ
- 2018 -
cout<<"El numero "<<a;
cout<<" Es par"<<endl;
}
if(d!=0)
{
cout<<"El numero "<<a;
cout<<" Es impar"<<endl;
}
cout<<"nIgrese numero un entero y de tres cifras
o mas : ";cin>>a;
}
}
}
if(a<=0)
{
cout<<"El programa finalizo"<<endl;
}
}

PROBLEMA N°14

Permita calcular el importe de una factura, a partir de una serie de artículos vendidos. Para ello,
el programa irá preguntando para cada artículo la cantidad de unidades vendidas y el precio
unitario.
El programa comprobará que tanto el precio como la cantidad son números positivos, y en caso
contrario volverá a solicitar los valores.
La lectura de artículos acabará cuando se introduzca un 0 en la primera pregunta. Entonces se
imprimirá por pantalla el importe total de la factura.

#include <iostream>
using namespace std;
main()
{
float a,b,s;
cout<<"ingrese cantidad de articulos : ";cin>>a;
cout<<"ingrese precio por unidad : ";cin>>b;
if(a>0 && b>0)
{
s=a*b;
while(a>0 && b>0)
{
cout<<"ingrese cantidad de articulos : ";cin>>a;
cout<<"ingrese precio por unidad : ";cin>>b;
if(a>0 && b>0)
{
s=s+a*b;
}
if(a==0)
{
a=-1;
HUANCAYO – PERÚ
- 2018 -
}
}
cout<<"el pago total es : "<<s<<endl;
}
else
cout<<"existe un error en los datos VERIFICAR "<<endl;
cout<<"ingrese cantidad de articulos : ";cin>>a;
cout<<"ingrese precio por unidad : ";cin>>b;
if(a>0 && b>0)
{
s=a*b;
while(a>0 && b>0)
{
cout<<"ingrese cantidad de articulos : ";cin>>a;
cout<<"ingrese precio por unidad : ";cin>>b;
if(a>0 && b>0)
{
s=s+a*b;
}
if(a==0)
{
a=-1;
}
}
cout<<"el pago total es : "<<s<<endl;
}
}

PROBLEMA N°15

Escribir un programa en C que escriba los números comprendidos entre 1 y 1000. El programa
escribirá en la pantalla los números en grupos de 20, solicitando al usuario si quiere o no
continuar visualizando el siguiente grupo de números. Generalizar el programa para que escriba
los números comprendidos entre dos valores que introduzca el usuario, y sea éste también quien
decida el tamaño del grupo a visualizar por pantalla.

#include <iostream>
using namespace std;
main()
{
float a,b,c,d,e,i,i1,c1;
cout<<"ingrese valor inicial : ";cin>>a;
cout<<"ingrese valor final : ";cin>>b;
cout<<"ingresar cantidad de elementos en cada grupo : ";cin>>c;
c1=c;
e=(b-a+1)/c;
i=1;
while(i<e)
{
i=i+1;
i1=1;
while(i1<=e)
{
HUANCAYO – PERÚ
- 2018 -
c=i1*c1;
while(a<=c)
{
cout<<" "<<a<<endl;
a=a+1;
}
cout<<"desea ver el grupo siguiente ? "<<endl;
cout<<"precionar 1 en caso acepta o 2 en caso lo niega
: ";cin>>d;
if(d==1)
{
i1=i1+1;
}
if(d==2)
{
i1=e+1;
i=e+1;
}
}
}
}

PROBLEMA N°16

Escriba un programa que lea números por teclado hasta que se introduzca el cero. En ese
momento deberá representar el número de introducciones efectuadas, y la mayor secuencia de
números consecutivos iguales, indicando cuál fue el número que se repitió y cuántas veces
seguidas apareció.
Ejemplo: Si se introduce 8 8 8 4 5 6 6 6 7 7 7 7 2 0, el resultado a mostrar será. ‘El número más
repetido es el 7 y se ha escrito 4 veces’.

#include<iostream>
#include<conio.h>
using namespace std;
main()
{
int N[9],b,may=0;
for(int i=0;i<9;i++)
N[i]=0;
while(true){
cout<<"Ingrese numero :";cin>>b;
if(b==0)
break;
N[b-1]++;
}
for(int i=0;i<9;i++){
if(may<N[i]){
may=N[i];
b=i+1;
}
}
HUANCAYO – PERÚ
- 2018 -
cout<<"El numero mas repetido es el "<<b<<" y se a escrito
"<<may<<" veces";
return 0;
}

PROBLEMA N°17

Escriba un programa en C que solicite un número y calcule su factorial. El factorial de un


número n (representado por n!) es el producto de todos los números naturales desde 3 1 hasta n.
n! = 1 * 2 * 3 * … * (n-1) * n.

#include <iostream>
using namespace std;
main()
{
float i,i1,i2,a;
cout<<"Ingrese el numero n : ";cin>>a;
i=0;
i2=1;
i1=1;
while(i2<a)
{
i=i+1;
i1=i*i1;
i2=i;
}
cout<<"El factorial de "<<a;
cout<<" Es : "<<i1<<endl;
}

PROBLEMA N°18

Escriba un programa que calcule la raíz cuadrada de un número con n decimales, por el Método
de aproximaciones sucesivas.
Nota: Método de las aproximaciones sucesivas
Se basa en 'ensayo y error'. A este tipo de algoritmos se les llama de aproximaciones sucesivas:
se empieza por un valor inicial y se va modificando para acercarse al resultado.
En este caso se comienza suponiendo que la raíz es 1. Se comprueba si raiz*raiz=num y si no es
así se suma un incremento, y se vuelve a comprobar. Se repiten estos pasos hasta que
raiz*raiz>num.
Para computar el valor con un número determinado de decimales se repiten esos pasos con un
incremento cada vez menor (la primera vuelta 1, la segunda 0,1, la tercera 0,01
En cada paso la precisión es un decimal más, por lo que se repite hasta que el número de
decimales sea el introducido por el usuario, o hasta que se encuentre el valor exacto.

HUANCAYO – PERÚ
- 2018 -
#include<iostream>
#include<conio.h>
using namespace std;
main()
{
float N,a=0,ini=1,y,b=1,c=0;
cout<<"Ingrese numero a sacar raiz :";cin>>y;
cout<<"Ingrese numero de decimales :";cin>>N;
while(a<=N){
c=0;
while(c==0){
if(ini*ini<y){
ini+=b;
if(ini*ini>y)
c=1;
}
else{
ini-=b;
if(ini*ini<y)
c=1;
}
}
b/=10;
a++;
}
cout<<ini;
return 0;
}

PROBLEMA N°19

Se averiguar el numero mágico de una persona.para calcularlo se suma todos los números de su
fecha de nacimiento y a continuancion se reduce a un solo digito.

#include <iostream>
using namespace std;
int a,m,d,dm,nm,x;
main()
{
do
{
cout<<"ingrese el año de nacimiento"<<endl;
cin>>a;
}while(a<0);

do
{
cout<<"ingrese el mes de nacimiento"<<endl;
cin>>m;
HUANCAYO – PERÚ
- 2018 -
}while(m>12||m<0);

switch (m)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:{
dm=31;
break;
}
case 2:case 4:case 6:case 9:case 11:
{
dm=30;
break;
}
default:
dm=28;
}

do
{
cout<<"ingrese el dia de nacimiento"<<endl;
cin>>d;
}while(d<0||d>dm);

nm=a+m+d;

while (nm> 9)
{
x=nm;
nm=0;
while (x> 0)
{
nm=nm+x%10;
x=x-x%10;
x=x/10;
}
}
cout<<"El numero magico de usted es: "<<nm<<endl;
}

HUANCAYO – PERÚ
- 2018 -

S-ar putea să vă placă și