Programacion en C++
Programacion en C++
Tutorial de programación en C++ con ejercicios
a) Estructuras Sencillas
b) Programas de operaciones matemáticas
c) Condiciones
d) Bucles
e) Toma de caracteres
f) Vectores
g) Matrices
h) Subprocesos
Para ello, hay que introducir la librería adecuada con instrucciones básicas
(<stdio.h>) e indicarle al programa dónde empezar (int main()).
Recuerda que todas las instrucciones se escriben en minúsculas y acaban
en “;”.
Las funciones más simples y utilizadas son:
printf Escritura en pantalla
scanf Lectura de pantalla
scanf(tipo, &var);
int n;
printf("Introduce un numero: ");
scanf("%d",&n);
char m;
printf("Introduce un caracter: ");
scanf("%c",&m);
char cad[20];
printf("Introduce una palabra: ");
scanf("%s",cad);
#include <stdio.h>
int main(){
float a,b,c,M;
printf("Bienvenido, calcularemos la media aritmetica de tres numeros.\n\n");
printf("Por favor, introduzca el primero: ");
scanf("%f",&a);
printf("Ahora, inserte el segundo de ellos: ");
scanf("%f",&b);
printf("Por ultimo, teclee el numero final: ");
scanf("%f",&c);
M=(a+b+c)/3;
printf("\nEl resultado es %f\n\n",M);
}
8. Programa que
calcula el capital final
de un interés simple.
#include <stdio.h>
int main(){
float c,I,t,F;
printf("Bienvenido. Calcularemos el capital final de un interes
simple.\n\n");
printf("Por favor, introduce el capital inicial: ");
scanf("%f",&c);
printf("Ahora, escribe el interes al que esta colocado: ");
scanf("%f",&I);
printf("Por ultimo, inserta el tiempo al que se deja el capital: ");
scanf("%f",&t);
F=c+c*(I/100)*t;
printf("\n\nEl capital final es de %f\n\n",F);
}
Otro símbolo que necesitaremos a partir de ahora será el “%”, que sirve para
calcular el resto de una división. Podemos verlo en el siguiente ejemplo.
9. Programa que calcule el resto de cualquier división entera.
#include <stdio.h>
int main(){
int D,d,R;
printf("Hola, obtendremos el resto de cualquier division entera.\n\n");
printf("Inserte el dividendo: ");
scanf("%d",&D);
printf("Bien, escriba el divisor: ");
scanf("%d",&d);
R=D%d;
printf("\nEl resto de la division es %d\n\n",R);
}
10. Programa que calcula el precio de un objeto sin el impuesto de valor
añadido (IVA).
#include <stdio.h>
int main(){
float X,IVA,R;
printf("Bienvenido.Calcularemos el precio de un articulo sin el IVA.\n\n");
printf("Por favor, introduzca el precio de la compra: ");
scanf("%f",&X);
IVA=(16*X/100);
R=X-IVA;
printf("\nEl precio del objeto sin IVA es %f\n\n",R);
}
11. Programa que calcule el área de un triángulo.
#include <stdio.h>
int main(){
int B,H,A;
printf("Por favor, introduzca la base del triangulo");
scanf("%d",&B);
printf("Ahora, inserte la altura del mismo");
scanf("%d",&H);
A=B*H/2;
printf("\nSu area es de %d\n\n",A);
}
12. Programa que obtenga la media geométrica de tres numeros.
#include <stdio.h>
#include <math.h>
int main(){
float a,b,c,R;
printf("Bienvenido, obtendremos la media geometrica de tres numeros.\n\n");
printf("Por favor, introduzca el primer numero: ");
scanf("%f",&a);
printf("Ahora, inserte el segundo numero: ");
scanf("%f",&b);
printf("Por ultimo, escriba el tercer numero: ");
scanf("%f",&c);
R=cbrt(a*b*c);
printf("\nEl resultado es %f\n\n",R);
}
#include <stdio.h>
int main() {
int Num; int Res;
printf("Programa para determinar naturaleza par o impar de un numero\n\n");
printf ("Introduzca un numero entero: ");
scanf ("%d", &Num);
Res = Num%2;
if (Res==0) {
printf ("El numero es par\n");
} else {
printf ("El numero es impar\n");
}
}
#include <stdio.h>
#include <math.h>
int main() {
//Declaración de variables
double a, b, c, d, e;
printf("Programa para calcular ecuacion cuadratica tipo a*x^2 + b*x + c =
0\n\n");
//Obtención de datos
printf ("Introduzca valor parametro a: "); scanf ("%lf", &a);
printf ("Introduzca valor parametro b: "); scanf ("%lf", &b);
printf ("Introduzca valor parametro c: "); scanf ("%lf", &c);
//Cálculo y muestra de resultados
d = pow (b,2) - 4 * a * c; e = 2 * a;
if (d == 0) { printf ("El resultado es x1 = x2 =%lf", - b / e);
} else {
if (d > 0) {
printf ("El resultado es:\n");
printf ("x1 = %lf \n", (-b + sqrt(d)) / e);
printf ("x2 = %lf \n", (-b - sqrt(d)) / e);
} else {
printf ("El resultado es: \n");
printf ("x1 = %lf + %lf * i \n", -b / e, sqrt(-d)/e);
printf ("x2 = %lf - %lf * i \n", -b / e, sqrt(-d)/e);
}
}
return 0;
}
#include <stdio.h>
#include <stdlib.h> // librería para utilizar system(“PAUSE)
int main()
{
int i;
printf("Introduzca número del 1 al 5:\n");
scanf("%d",&i);
if (i!=4) {
printf("Es primo\n\n");
}
else
{
printf("No es primo\n\n");
}
system("PAUSE");
return 0;
}
#include <stdio.h>
int main(){
int SI,opc;
float din,dan,S;
SI=10000000;
printf("Bienvenido a su cajero virtual.\n"); printf("Seleccione una
opcion:\n\n"); printf("1.Ingreso en cuenta.\n2.Reintegro.\n3.Ver el saldo
disponible\n0.Salir\n\nUsted ha marcado: ");
scanf("%d",&opc);
if(opc==1){
printf("\nBien, escriba el dinero que desee introducir: ");
scanf("%f.%2f",&din);
S=SI+din;
printf("\nIngreso realizado correctamente. Su saldo actual es de %.2f\n",S);
}else if(opc==2){
printf("\nAhora, teclee la cantidad de capital que desea retirar: ");
scanf("%f.%2f",&dan);
if(dan>SI){
printf("\nError. No dispone de tanto sueldo.\n");
}else{
S=SI-dan;
printf("\nReintegro realizado correctamente. Su saldo actual es de %.2f\n",S);
}
}else if(opc==3){
printf("\nSu saldo actual es de %d\n",SI);
}else if(opc==0){
printf("\nGracias por utilizar este programa.\n\n");
}else{
printf("\nDisculpe, se ha equivocado al marcar.\n\n");
}
}
Como han visto en el programa de la calculadora científica, el uso del “else if”
es extremadamente extenso. Es muy aconsejable realizar ese tipo de
programas con la estructura siguiente:
Switch(opción){
Case 1: -------------------------;
Break;
Case2: ------------------------;
Break;
Default: -----------------------;
}
21. Programa que muestre el horario escolar del día.
#include <stdio.h>
int main(){
int x;
printf("Bienvenido. Introduzca el numero del dia de la semana a
consultar: ");
scanf("%d",&x);
switch(x){
case
1:printf("\n\nLunes:\n\nReligion\nDibujo\nInformatica\nIngles\nLiteratura\n
Matematicas\nFisica y Quimica\n\nVamos a por la semana!\n\n");break;
case
2:printf("\n\nMartes:\n\nFilosofia\nDibujo\nMatematicas\nLiteratura\nEducac
ion fisica\nFisica y Quimica\n\nHoy hay una horita menos!\n\n");break;
case 3:printf("\n\nMiercoles:\n\nFisica y
Quimica\nDibujo\nIngles\nInformatica\nCiencias para el mundo
contemporaneo\nFilosofia\nTutoria\n\nMitad de jornada, anima la
moral!\n\n");break;
case
4:printf("\n\nJueves:\n\nFilosofia\nDibujo\nLiteratura\nInformatica\nIngles\n
Educacion Fisica\nMatematicas\n\nVenga, que mañana es
viernes!\n\n");break;
case 5:printf("\n\nViernes:\n\nCiencias para el mundo
contemporaneo\nReligion\nFisica y
Quimica\nLiteratura\nMatematicas\nInformatica\n\nYa se ha terminado lo
duro. Descansa hoy!\n\n");break;
case 6:printf("\n\nSabado:\n\nDeja el ordenador y disfruta del
dia!\n\n");break;
case 7:printf("\n\nDomingo:\n\nAprovecha el tiempo que mañana
hay que volver a empezar!\n\n");break;
default:printf("\n\nDisculpe, se ha equivocado al marcar.\n\n");
}
}
22. Programa que pida un número del 1 al 7 y diga el día de la semana
correspondiente.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
printf("Introduzca numero del 1 al 7:\t"); // \t tabulador – espacio
scanf("%d",&i);
switch(i){
case 1:
printf ("Lunes\n\n");
break;
case 2:
printf ("Martes\n\n");
break;
case 3:
printf ("Miercoles\n\n");
break;
case 4:
printf ("Jueves\n\n");
break;
case 5:
printf ("Viernes\n\n");
break;
case 6:
printf ("Sabado\n\n");
break;
case 7:
printf ("Domingo\n\n");
break;
default:
printf ("Opción no valida\n\n");
break;
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char c;
printf("Introduzca un carácter:\t");
scanf("%c",&c);
switch (c)
{
case 'a':
printf ("Es vocal\n\n");
break;
case 'e':
printf ("Es vocal\n\n");
break;
case 'i':
printf ("Es vocal\n\n");
break;
case 'o':
printf ("Es vocal\n\n");
break;
case 'u':
printf ("Es vocal\n\n");
break;
default:
printf ("No es vocal\n\n");
break;
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int lado, base, opcion;
printf("Introduzca lado del triangulo:\t");
scanf("%d",&lado);
printf("Introduzca base del triangulo:\t");
scanf("%d",&base);
printf ("\n") ;
printf("Seleccione opcion:\n\n");
printf("1 - Equilatero\n");
printf("2 - Isosceles\n");
printf("3 - Escaleno\n");
scanf("%d",&opcion);
switch (opcion)
{
case 1:
printf("El perímetro es:%d\n",3*lado);
break;
case 2:
printf("El perímetro es:%d\n",(2*lado)+base);
break;
case 3:
printf("El perímetro es:%d\n",lado + lado + lado);
break;
default:
printf("Opcion no valida.");
break;
}
system("PAUSE");
return 0;
}
31. Programa que muestre los números impares que haya del 1 al 100
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
for (x=1;x<=100;x++)
{
if (x%2!=0)
{
printf("%d\n",x);
}
}
system("PAUSE");
return 0;
}
32. Programa que imprima la suma de todos los números pares que van
del 1 al 100 y diga cuántos hay.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x,sum,cont;
sum=0;
cont=0;
for (x=1;x<=100;x++)
{
if (x%2==0)
{
sum=sum+x;
cont=cont+1;
}
}
printf("Hay %d números\n",cont);
printf("La suma es: %d\n",sum);
system("PAUSE");
return 0;
}
33. Programa que pida dos números y muestre todos los números que van
desde el primero al segundo. Se debe controlar que los valores son
correctos.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num1, num2,x;
printf("Introduzca primer numero: \t");
scanf("%d",&num1);
printf("Introduzca segundo numero: \t");
scanf("%d",&num2);
if (num1>num2)
{
printf("Los valores introducidos no son correctos \n");
}
else
{
for (x=num1;x<=num2;x++)
{
printf("%d\n",x);
}
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,y;
for (x=0;x<=10;x++)
{
for (y=1;y<=10;y++)
{
printf("%d X %d = %d \n",x,y,x*y);
}
printf("\n");
}
printf("\n");
system("PAUSE");
return 0;
}
#include <stdlib.h>
int main(void)
{
int x,num;
printf("Introduce numero:\t");
scanf("%d",&num);
printf("\n");
for (x=1;x<=10;x++)
{
printf("%d X %d = %d \n",num,x,num*x);
}
printf("\n");
system("PAUSE");
return 0;
}
Cuando
no
deseemos que el ordenador vaya tan rápido, hay que meterle instrucciones
inútiles que no se pinten en pantalla (Bucle de retardo), como por ejemplo una
cuenta atrás del 159999999 al 0.
40. Programa que realice una cuenta atrás con un bucle de retardo.
#include <stdio.h>
int main(){
int i=10;
const int tope=1;
for(i=10;i>=1;i=i-1){
printf("%d\n",i);
int k=159999999;
for(k=159999999;k>=1;k=k-1);
}
printf("\nPUM!\n");
}
En los bucles “while” y “do while” no es necesario conocer el número de
iteraciones.
While Iteraciones >= 0.
Do while Iteraciones >=1.
41. Programa que diga si un número es par o no. Finaliza al pulsar “0”.
#include <stdio.h>
int main(){
int num;
printf("Por favor, escribe el numero que quieras. Te diremos si es par o
impar: ");
while (num!=0){
scanf("%d",&num);
if(num%2==0){
printf("\n\nEste numero es par.\n");
}else{
printf("\n\nEste numero es impar.\n");
}
}
printf("\nHasta luego.\n\n");
}
Aquí tenemos un extenso programa como ejemplo para demostrar la sencillez
y utilidad del bucle “do while”.
42. Programa que simule un calculadora científica de 25 funciones.
#include <stdio.h>
#include <math.h>
int main(){
float
x,y,s,d,p,c,sr,rq,res,ros,cb,ch,co,cop,se,sep,ta,tap,cub,cubp,in,inp,lo,lop,ln,lnp;
int opc;
printf("Bienvenido a la calculadora de 25 funciones.\n\n");
do{
printf("Por favor, introduzca un numero (0 para salir): ");
scanf("%f",&x);
printf("\nAhora, inserte otro: ");
scanf("%f",&y);
printf("\n\nBien. Ya puede seleccionar una
opcion:\n\n1.Sumar\n2.Restar\n3.Multiplicar\n4.Dividir\n5.Indicar el
mayor\n6.Raiz cuadrada del primer numero\n7.Raiz cuadrada del segundo
numero\n8.Cuadrado del primer numero\n9.Cuadrado del segundo
numero\n10.Raiz cubica del primer numero\n11.Raiz cubica del segundo
numero\n12.Coseno del primer numero\n13.Coseno del segundo
numero\n14.Seno del primer numero\n15.Seno del segundo
numero\n16.Tangente del primer numero\n");
printf("17.Tangente del segundo numero\n18.Cubo del primer
numero\n19.Cubo del segundo numero\n20.Inversa del primer
numero\n21.Inversa del segundo numero\n22.Logaritmo decimal del primer
numero\n23.Logaritmo decimal del segundo numero\n24.Logaritmo neperiano
del primer numero\n25.Logaritmo neperiano del segundo
numero\n0.Salir\n\nUsted ha marcado: ");
scanf("%d",&opc);
if(opc==1){
s=x+y;
printf("La suma de ambos numeros es %f\n\n",s);
}else if(opc==2){
d=x-y;
printf("La diferencia de ambos numeros es %f\n\n",d);
}else if(opc==3){
p=x*y;
printf("El producto de ambos numeros es %f\n\n",p);
}else if(opc==4){
c=x/y;
printf("El cociente de la razon de ambos numeros es %f\n\n",c);
}else if(opc==5){
if(x>y){
printf("El mayor es %f\n\n",x);
}else if(y>x){
printf("El mayor es %f\n\n",y);
}else{
printf("Disculpe, estos dos numeros son iguales.\n\n");
}
}else if(opc==6){
rq=sqrt(x);
printf("La raiz cuadrada del primer numero es %f\n\n",rq);
}else if(opc==7){
sr=sqrt(y);
printf("La raiz cuadrada del segundo numero es %f\n\n",sr);
}else if(opc==8){
res=x*x;
printf("El cuadrado del primer numero es %f\n\n",res);
}else if(opc==9){
ros=y*y;
printf("El cuadrado del segundo numero es %f\n\n",ros);
}else if(opc==10){
cb=cbrt(x);
printf("La raiz cubica del primer numero es %f\n\n",cb);
}else if(opc==11){
ch=cbrt(y);
printf("La raiz cubica del segundo numero es %f\n\n",ch);
}else if(opc==12){
co=cos(x);
printf("El coseno del primer numero es %f\n\n",co);
}else if(opc==13){
cop=cos(y);
printf("El coseno del segundo numero es %f\n\n",cop);
}else if(opc==14){
se=sin(x);
printf("El seno del primer numero es %f\n\n",se);
}else if(opc==15){
sep=sin(y);
printf("El seno del segundo numero es %f\n\n",sep);
}else if(opc==16){
ta=tan(x);
printf("La tangente del primer numero es %f\n\n",ta);
}else if(opc==17){
tap=tan(y);
printf("La tangente del segundo numero es %f\n\n",tap);
}else if(opc==18){
cub=x*x*x;
printf("El cubo del primer numero es %f\n\n",cub);
}else if(opc==19){
cubp=y*y*y;
printf("El cubo del segundo numero es %f\n\n",cubp);
}else if(opc==20){
in=1/x;
printf("La inversa del primer numero es %f\n\n",in);
}else if(opc==21){
inp=1/y;
printf("La inversa del segundo numero es %f\n\n",inp);
}else if(opc==22){
lo=log10(x);
printf("El logaritmo decimal del primer numero es %f\n\n",lo);
}else if(opc==23){
lop=log10(y);
printf("El logaritmo decimal del segundo numero es %f\n\n",lop);
}else if(opc==24){
ln=log(x);
printf("El logaritmo neperiano del primer numero es %f\n\n",ln);
}else if(opc==25){
lnp=log(y);
printf("El logaritmo neperiano del segundo numero es %f\n\n",lnp);
}else if(opc==0){
printf("Gracias por utilizar este programa.\n\n");
}else{
printf("Disculpe, se ha equivocado al marcar.\n\n");
}
}while(x!=0);
}
43. Programa que simule un calculadora científica de 25 funciones con
while.
#include <stdio.h>
#include <math.h>
int main(){
float
x,y,s,d,p,c,sr,rq,res,ros,cb,ch,co,cop,se,sep,ta,tap,cub,cubp,in,inp,lo,lop,ln,lnp;
int opc;
printf("Bienvenido a la calculadora de 25 funciones.\n\n");
do{
printf("Por favor, introduzca un numero (0 para salir): ");
scanf("%f",&x);
printf("\nAhora, inserte otro: ");
scanf("%f",&y);
printf("\n\nBien. Ya puede seleccionar una
opcion:\n\n1.Sumar\n2.Restar\n3.Multiplicar\n4.Dividir\n5.Indicar el
mayor\n6.Raiz cuadrada del primer numero\n7.Raiz cuadrada del segundo
numero\n8.Cuadrado del primer numero\n9.Cuadrado del segundo
numero\n10.Raiz cubica del primer numero\n11.Raiz cubica del segundo
numero\n12.Coseno del primer numero\n13.Coseno del segundo
numero\n14.Seno del primer numero\n15.Seno del segundo
numero\n16.Tangente del primer numero\n");
printf("17.Tangente del segundo numero\n18.Cubo del primer
numero\n19.Cubo del segundo numero\n20.Inversa del primer
numero\n21.Inversa del segundo numero\n22.Logaritmo decimal del primer
numero\n23.Logaritmo decimal del segundo numero\n24.Logaritmo neperiano
del primer numero\n25.Logaritmo neperiano del segundo
numero\n0.Salir\n\nUsted ha marcado: ");
scanf("%d",&opc);
if(opc==1){
s=x+y;
printf("La suma de ambos numeros es %f\n\n",s);
}else if(opc==2){
d=x-y;
printf("La diferencia de ambos numeros es %f\n\n",d);
}else if(opc==3){
p=x*y;
printf("El producto de ambos numeros es %f\n\n",p);
}else if(opc==4){
c=x/y;
printf("El cociente de la razon de ambos numeros es %f\n\n",c);
}else if(opc==5){
if(x>y){
printf("El mayor es %f\n\n",x);
}else if(y>x){
printf("El mayor es %f\n\n",y);
}else{
printf("Disculpe, estos dos numeros son iguales.\n\n");
}
}else if(opc==6){
rq=sqrt(x);
printf("La raiz cuadrada del primer numero es %f\n\n",rq);
}else if(opc==7){
sr=sqrt(y);
printf("La raiz cuadrada del segundo numero es %f\n\n",sr);
}else if(opc==8){
res=x*x;
printf("El cuadrado del primer numero es %f\n\n",res);
}else if(opc==9){
ros=y*y;
printf("El cuadrado del segundo numero es %f\n\n",ros);
}else if(opc==10){
cb=cbrt(x);
printf("La raiz cubica del primer numero es %f\n\n",cb);
}else if(opc==11){
ch=cbrt(y);
printf("La raiz cubica del segundo numero es %f\n\n",ch);
}else if(opc==12){
co=cos(x);
printf("El coseno del primer numero es %f\n\n",co);
}else if(opc==13){
cop=cos(y);
printf("El coseno del segundo numero es %f\n\n",cop);
}else if(opc==14){
se=sin(x);
printf("El seno del primer numero es %f\n\n",se);
}else if(opc==15){
sep=sin(y);
printf("El seno del segundo numero es %f\n\n",sep);
}else if(opc==16){
ta=tan(x);
printf("La tangente del primer numero es %f\n\n",ta);
}else if(opc==17){
tap=tan(y);
printf("La tangente del segundo numero es %f\n\n",tap);
}else if(opc==18){
cub=x*x*x;
printf("El cubo del primer numero es %f\n\n",cub);
}else if(opc==19){
cubp=y*y*y;
printf("El cubo del segundo numero es %f\n\n",cubp);
}else if(opc==20){
in=1/x;
printf("La inversa del primer numero es %f\n\n",in);
}else if(opc==21){
inp=1/y;
printf("La inversa del segundo numero es %f\n\n",inp);
}else if(opc==22){
lo=log10(x);
printf("El logaritmo decimal del primer numero es %f\n\n",lo);
}else if(opc==23){
lop=log10(y);
printf("El logaritmo decimal del segundo numero es %f\n\n",lop);
}else if(opc==24){
ln=log(x);
printf("El logaritmo neperiano del primer numero es %f\n\n",ln);
}else if(opc==25){
lnp=log(y);
printf("El logaritmo neperiano del segundo numero es %f\n\n",lnp);
}else if(opc==0){
printf("Gracias por utilizar este programa.\n\n");
}else{
printf("Disculpe, se ha equivocado al marcar.\n\n");
}
}while(x!=0);
}
44. Programa que muestre los divisores de un número introducido por el
usuario.
#include <stdio.h>
int main(){
int num;
printf("Bienvenido al programa para calcular los divisores de un
numero.\n\n");
while(num!=0){
printf("Introduzca un numero: ");
scanf("%d",&num);
printf("\n\nSus divisores son:\n");
for(int i=1; i<=num; i++){
if(num%i==0){
printf("\n\t\t\t\t\t%d\t\n",i);
}
}
printf("\n");
}
printf("\nGracias por utilizar este programa.\n\n");
}
46.
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(){
int x,y,z,o,opc;
do{
printf("Desea una mano de mus?:\n\n");
printf("1.Si\n2.No\n0.Salir\n");
printf("\nUsted ha introducido: ");
scanf("%d",&opc);
if(opc==1){
srand((unsigned)time(NULL));
do{
x=rand()%(13);
}while(((x==8)||(x==9))||(x==0));
do{
y=rand()%(13);
}while(((y==8)||(y==9))||(y==0));
do{
z=rand()%(13);
}while(((z==8)||(z==9))||(z==0));
do{
o=rand()%(13);
}while(((o==8)||(o==9))||(o==0));
printf("\n\n%d\t\t%d\t\t%d\t\t%d\t\t",x,y,z,o);
printf("\n\n");
}
else if(opc==2){
printf("\n\nMas tarde entonces.\n\n");
}else{
printf("\nHasta pronto.\n\n");
}
}while(opc!=0);
}
#include<stdio.h>
int main(){
int i,num;
printf("Bienvenido al programa, pulse 256 para ver el abecedario y 0 para
salir.\n\n");
do{
printf("Introduzca un numero del 1 al 255: ");
scanf("%d",&num);
if(num==256){
for(i=97;i<=122;i++){
printf("\nEl numero %d es el caracter: %c \t\n\n",i,i);
}
}else{
for(i=1;i<=255;i++);
i=num;
printf("\nEl numero %d es, en codigo ASCII: %c\n\n",num,i);
}
}while(num!=0);
}
54.
55. Programa que haga un menú del tipo “desea salir (S/N)” y ell
programa no termine hasta que el usuario teclee “S”.
Crear un arreglo
Por ejemplo, para crear un arreglo que almacene las calificaciones de un grupo
de 10 estudiantes, podemos escribir:
//Crear un arreglo
float grupo[10];
int i;
Por ejemplo: para asignar un cero a cada ubicación del arreglo, podemos
escribir un ciclo que vaya desde la primera hasta la última posición del
arreglo, y dentro del ciclo escribir una instrucción que asigne el valor al
arreglo.
Hasta ahora hemos explicado cómo asignar valores al arreglo. Ahora veamos
cómo introducir valores que se hayan tecleado.
float min=grupo[0];
for(i=0; i<10; i++){
if (grupo[i] < min){
min=grupo[i];
}
}
printf("El valor minimo es %.2f", min);
S=\sqrt{\frac{\sum\limits_{i=1}^n(Xi-\overline{X})^2}{n}}S=ni=1∑n
(Xi−X)2
Teniendo ese dato listo, lo siguiente es crear un for que recorra los diez
elementos del arreglo. Guardará la diferencia entre cada dato grupo[i] y su
media (media). Esa diferencia se eleva al cuadrado. Y en una variable
acumuladora llamada total se van guardando esos cuadrados.
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
int main(){
//Crear un arreglo
float grupo[10];
int i;
//Asignar valores directamente a cada ubicación
grupo[0] = 0;
grupo[1] = 0;
grupo[2] = 0;
// Poner todas las ubicaciones en cero
for (i=0; i<10; i++){
grupo[i] = 0;
}
VECTORES
/* Declaración de un array. */
#include <stdio.h>
/* Usando un array de enteros */
int main() {
/* Declarando el valor del array */
int losnumeros[10]; int i = 0;
/* Modificando el valor del array */
for (i = 0; i < 10; i++) losnumeros[i] = i;
/* Imprimiendo el valor del array */
for (i = 0; i < 10; i++);
printf("El elemento %d vale %d\n", i, losnumeros[i]);
return 0; }
#include <stdio.h>
#include <stdio.h>
/* Declaración de un array. */
#include <stdio.h>
56. Que rellene un array con los 100 primeros números enteros y los
muestre en pantalla en orden ascendente.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,tabla[100];
for (x=1;x<=100;x++)
{
tabla[x]=x;
}
for (x=1;x<=100;x++)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
return 0;
}
57. Que rellene un array con los 100 primeros números enteros y los
muestre en pantalla en orden descendente.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,tabla[100];
for (x=1;x<=100;x++)
{
tabla[x]=x;
}
for (x=100;x>=1;x--)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,cont,z,i,tabla[100];
i=0;
for (x=1;x<=100;x++)
{
cont=0;
for (z=1;z<=x;z++)
{
if (x%z==0)
{
cont++;
}
}
if (cont==2 || z==1 || z==0)
{
tabla[i]=x;
i++;
}
}
for (x=0;x<i;x++)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,cont,z,i,tabla[100];
i=0;
for (x=1;x<=100;x++)
{
cont=0;
if (x%2==0)
{
tabla[i]=x;
i++;
}
}
for (x=0;x<i;x++)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,cont,z,i,tabla[100];
i=0;
for (x=1;x<=100;x++)
{
cont=0;
if (x%2==1)
{
tabla[i]=x;
i++;
}
}
for (x=0;x<i;x++)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
return 0;
}
61. Que lea 10 números por teclado, los almacene en un array y muestre
la suma, resta, multiplicación y división de todos.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,tabla[10];
int sum,res,mul,div;
for (x=0;x<10;x++)
{
printf("Introduzca número\n");
scanf("%d",&tabla[x]);
}
sum=tabla[0];
res=tabla[0];
mul=tabla[0];
div=tabla[0];
for (x=1;x<10;x++)
{
sum=sum+tabla[x];
res=res-tabla[x];
mul=mul*tabla[x];
div=div/tabla[x];
}
printf("Suma: %d\n",sum);
printf("Resta: %d\n",res);
printf("Multiplicación: %d\n",mul);
printf("División: %d\n",div);
system("PAUSE");
return 0;
}
62. Que lea 10 números por teclado, los almacene en un array y los ordene
de forma ascendente.
#include <stdio.h>
#include <stdlib.h>
int main()
{
float aux, numeros[10];
int i,j,n=10;
for (i=0;i<n;i++){
printf("Escriba un número");
scanf("%f",&numeros[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(numeros[i]<numeros[j])
{
aux=numeros[i];
numeros[i]=numeros[j];
numeros[j]=aux;
}
}
}
for (i=n-1;i>=0;i--){
printf("%f\n",numeros[i]);
}
system("PAUSE");
return 0;
}
63. Que lea 10 números por teclado, 5 para un array y 5 para otro array
distinto. Mostrar los 10 números en pantalla mediante un solo array.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int aux, numeros1[5],numeros2[5],numeros3[10];
int i,j;
for (i=0;i<5;i++){
printf("Escriba un número");
scanf("%d",&numeros1[i]);
}
for (i=0;i<5;i++){
printf("Escriba un número");
scanf("%d",&numeros2[i]);
}
for(i=0;i<5;i++)
{
numeros3[i]=numeros1[i];
}
for(i=0;i<5;i++)
{
numeros3[5+i]=numeros2[i];
}
for (i=0;i<10;i++){
printf("%d\n",numeros3[i]);
}
system("PAUSE");
return 0;
}
64. Que lea 5 números por teclado, los copie a otro array multiplicados
por 2 y muestre el segundo array.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int aux, numeros1[5],numeros2[5];
int i,j;
for (i=0;i<5;i++){
printf("Escriba un número");
scanf("%d",&numeros1[i]);
}
for(i=0;i<5;i++)
{
numeros2[i]=numeros1[i]*2;
}
for (i=0;i<5;i++){
printf("%d\n",numeros2[i]);
}
system("PAUSE");
return 0;
}
65. Que lea 5 números por teclado, los copie a otro array multiplicados
por 2 y los muestre todos ordenados usando un tercer array.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int aux, numeros1[5],numeros2[5],numeros3[10];
int i,j;
for (i=0;i<5;i++){
printf("Escriba un número");
scanf("%d",&numeros1[i]);
}
for(i=0;i<5;i++)
{
numeros2[i]=numeros1[i]*2;
}
for(i=0;i<5;i++)
{
numeros3[i]=numeros1[i];
}
for(i=0;i<5;i++)
{
numeros3[5+i]=numeros2[i];
}
for (i=0;i<10;i++){
printf("%d\n",numeros3[i]);
}
system("PAUSE");
return 0;
}
66. Que rellene un array con los 100 primeros números pares y muestre
su suma.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x,cont,sum,i,tabla[100];
i=0;
sum=0;
for (x=1;x<=100;x++)
{
cont=0;
if (x%2==0)
{
tabla[i]=x;
i++;
}
}
for (x=0;x<i;x++)
{
sum=sum+tabla[x];
}
printf("%d\n",sum);
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
float sum, numeros1[10];
int i;
sum=0;
for (i=0;i<10;i++){
printf("Escriba un número");
scanf("%f",&numeros1[i]);
}
for(i=0;i<10;i++)
{
sum=sum+numeros1[i];
}
printf("%f\n",sum/10);
system("PAUSE");
return 0;
}
68. Que mediante un array almacene números tanto positivos como
negativos y los muestre ordenados.
#include <stdio.h>
#include <stdlib.h>
int main()
{
float aux, numeros[10];
int i,j,n=10;
for (i=0;i<n;i++){
printf("Escriba un número");
scanf("%f",&numeros[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(numeros[i]<numeros[j])
{
aux=numeros[i];
numeros[i]=numeros[j];
numeros[j]=aux;
}
}
}
for (i=n-1;i>=0;i--){
printf("%f\n",numeros[i]);
}
system("PAUSE");
return 0;
}
70. Programa para comprar boletos de autobus, este marca los asientos
ocupados con un "1" y los desocupados con "0", si un asiento ya se ha
vendido, el programa lo señalara, tambien respetando límites en los
mismos.
#include <stdio.h>
#include <conio.h>
main()
{
int asiento[40]={0};
int x, y;
printf("Los estados de los asientos son: LIBRE=0, VENDIDO=1.n" );
do
{
printf("nCual asiento quieres comprar?: " );
scanf("%d",&y);
if(y==0)break;
else if(y<=0 || y>=41)
printf("nAsiento fuera del rango del autobus." );
else if(asiento[y-1]==1)
printf("nAsiento ya vendido" );
else
{
asiento[y-1]=1;
{
for(x=0; x<40; x++)
{
if(!(x%4))
printf("ntAsiento %d= %d",x+1,asiento[x] );
else printf("tAsiento %d= %d",x+1,asiento[x] );
}
}
}
}
while(1);
if(asiento[40]==1)
printf(" Todos los asientos se han vendido." );
else printf("nGracias por usar este programa." );
getch();
return 0;
}
#include <stdio.h>
#include <conio.h>
main()
{
int numeros[100];
int x, y, z;
int orden;
printf(" Numeros a ordenar?:\t " );
printf("\n" );
scanf("%d", &x);
for(y=0; y<=x-1; y++)
{
printf("Introduce el numero %d:", y);
scanf("%d", &numeros[y] );
printf("\n");
}
for(y=0; y<(x-1); y++)
{
for(z=y+1; z<x; z++)
{
if(numeros[z]<numeros[y])
{
orden=numeros[z];
numeros[z]=numeros[y];
numeros[y]=orden;
}
}
}
printf("Los numeros en forma ascendente es:\n" );
for(y=0; y<=x-1; y++)
{
printf(" %d ", numeros[y]);
}
printf("\n" );
printf("\n" );
printf("\t*-*-*FELICIDADES*-*-*" );
printf("\n" );
getch();
return 0;
}
#include <stdio.h>
main()
{
float arreglo[100], suma=0;
int x, n;
printf("Numeros a promediar: " );
scanf("%d", &n);
for(x=0; x<n; x++)
{
printf("Introduce valor %d: ", x+1);
scanf("%f",&arreglo[x]);
suma+=arreglo[x];
}
printf("\n");
printf("El promedio es %.2f\n ", suma/n );
printf("\n");
printf("Gracias por su preferencia." );
printf("\n");
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
#include <stdio.h>
#include <stdlib.h>
int main()
{
#include <stdio.h>
#include <stdlib.h>
int main()
{
int sum=0,x;
char frase[50];
printf("Introduzca una frase: ");
gets(frase);
for(x = 0;x < 50;x++)
{
if (frase[x]>=65 && frase[x]<=90)
{
sum++;
}
}
printf("\n\nEn la frase hay %d mayúsculas\n\n",sum);
printf("\n\n");
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int sum=0,x;
char frase[50];
printf("Introduzca una frase: ");
gets(frase);
for(x = 0; x < 50;x++)
{
if (frase[x]!='\0')
{
frase[x]=frase[x]+3;
}
}
printf("\n\nLa nueva frase es:\n\n",sum);
printf("\n\n%s\n\n",frase);
printf("\n\n");
system("PAUSE");
return 0;
}
MATRICES
total=0;
for(columna=0;columna<NUMCOL;col++){
total=total+arreglo[3][columna];
}
printf ("La suma es %d\n”, total);
El for suma cada columna mientras mantienes fija la fila con el indice 3,
sumando cada valor que hay en ella.
total=0;
for(fila=2;fila<4;fila++){
for(columna=0;columna<NUMCOL;columna++){
total=total+arreglo[fila][columna];
}
printf ("El total es %d\n”, total);
Una vez más generalizamos el código sumando solo la porción del arreglo que
contiene datos validos.
total=0;
for(columna=0;columna<columnaFilled;columna++){
for(fila=2;fila<filaFilled;fila++){
total=total+arreglo[fila][columna];
}
}
printf ("El total es %d\n”, total);
En este caso el primer for controla las columnas y el interior las filas.
#include <stdio.h>
.
.
for(fila=0;fila<NUMFIL;fila++)
{
for(columna=0;columna<NUMCOL;columna++)
printf (“\n”);
}
#include <stdio.h>
#include <conio.h>
#define TAM 3
int main()
{
int matriz[TAM+1][TAM+1],i,j;
// INICIALIZAR MATRIZ
for(i=0;i<TAM+1;i++)
for(j=0;j<TAM+1;j++)
matriz[i][j] = 0;
printf("\n");
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x,y, numeros[10][10];
for (x=0;x<10;x++)
{
for (y=0;y<10;y++)
{
numeros[x][y]=(x*10)+1+y;
}
}
for (x=0;x<10;x++)
{
for (y=0;y<10;y++)
{
printf("%d ",numeros[x][y]);
}
printf("\n");
}
system("PAUSE");
return 0;
#include <stdio.h>
#include <stdlib.h>
int main()
{
#include <stdio.h>
#include <stdlib.h>
int main()
{
Programa que solicita los valores reales de las celdas de una matriz de 4 x 4 y
muestre lo siguiente:
a) El contenido de la matriz.
b) La suma de los elementos de la matriz
c) El promedio de los elementos de la matriz.
d) La posición en la matriz del elemento menor y el valor de dicho elemento.
e) La posición en la matriz del elemento mayor y el valor de dicho elemento.
f) La cantidad de elementos que son iguales al elemento menor.
g) La cantidad de elementos que son iguales al elemento mayor.
h) La cantidad de elementos que son mayores al elemento menor.
i) La cantidad de elementos que son menores al elemento mayor.
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("color 4f");
system("title Ejercicio 29");
int f=4,c=4;
int matrix[f][c];
int cont,x,w;
int
suma=0,promedioS=0,a,m,menor,mayor,contMe=0,contMa=0,MayoresalMen
or=0,MenoresalMayor=0;
printf("Matriz :\n");
for(x=1;x<=f;x++){ //A-MUESTRA DATOS
for(w=1;w<=f;w++){
printf("%d",matrix[x][w]);
}
printf("\n\n");
}
m=f*c;
MayoresalMenor=m-contMe; //H-MAyores al menor
MenoresalMayor=m-contMa; //I-Menores al mayor
system("pause");
return 0;
}
#include <stdio.h>
#include <math.h>
main (){
int num, i, j;
int tablanum[3][3]={0};
int t[3][3]={0};
int may, fmax=0, cmax=0, min, fmin=0, cmin=0;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf ("Introduce un numero: ");
scanf ("%d", &tablanum[i][j]);
}
}
may= tablanum[0][0];
min= tablanum[0][0];
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
if (tablanum[i][j]>may)
{
may=tablanum[i][j];
fmax=i;
cmax=j;
}
if (tablanum [i][j]<min)
{
min=tablanum[i][j];
fmin=i;
cmin=j;
}
}
}
printf ("El mayor es: %d y su posicion es: %d fila y %d columna\n", may,
fmax,
cmax);
printf ("El menor es: %d y su posicion es: %d fila y %d columna\n", min,
fmin,
cmin);
}
83. Programa para calcular la suma, promedio, cuadrado, cubo y
desviación estandar de una serie de números.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#define tam 4
main ( )
{
double vector[tam],cuadrado, cubo;
float prom, desv,suma=0;
int i, j;
system("cls" );
printf ("PROGRAMA PARA CALCULAR \n");
printf(" PROMEDIO, SUMA, CUADRADO, CUBO Y DESV. EST.\n\n") ;
//Captura de valores y suma de los mismos
for(i = 0 ; i < tam ; ++i)
{
printf ("num [%d] = " , i) ;
scanf ("%lf" , &vector[i]) ;
suma+= vector[i] ;
}
prom = suma / tam ;
printf (" \n El promedio de los numeros es: %4.2f\n ", prom) ;
//Calculo e impresión de cuadrado, cubo y desviación estandar
printf(" \n \n NUMERO CUADRADO CUBO DESV. EST.\n");
for( i = 0 ; i < tam ; ++i )
{
cuadrado = vector[i] * vector[i] ;
cubo = pow (vector[i], 3) ;
desv = vector [i] - prom ;
printf ("%.2lf", vector[i] ) ;
printf (" \t%.2lf", cuadrado) ;
printf (" \t%.2lf", cubo) ;
printf (" \t%.2f\n", desv) ;
}
system("pause");
return(0);
}
FUNCIONES O SUBPROCESOS