0% encontró este documento útil (0 votos)
77 vistas

Carpeta Programacion Ii

El documento presenta 15 programas en C que resuelven diferentes problemas matemáticos y lógicos utilizando estructuras condicionales y repetitivas. Los programas incluyen sumar números, calcular el perímetro de un círculo, determinar el mayor de dos números, realizar operaciones aritméticas basadas en un operador leído, generar la tabla de multiplicar de un número, calcular sumas de números divisibles por 5, hallar el promedio omitiendo un valor especial, identificar números perfectos y primos, y validar y operar con fechas.

Cargado por

Isaac Burgos
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
77 vistas

Carpeta Programacion Ii

El documento presenta 15 programas en C que resuelven diferentes problemas matemáticos y lógicos utilizando estructuras condicionales y repetitivas. Los programas incluyen sumar números, calcular el perímetro de un círculo, determinar el mayor de dos números, realizar operaciones aritméticas basadas en un operador leído, generar la tabla de multiplicar de un número, calcular sumas de números divisibles por 5, hallar el promedio omitiendo un valor especial, identificar números perfectos y primos, y validar y operar con fechas.

Cargado por

Isaac Burgos
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 35

PRIMER PARCIAL PROGRAMA #1 Realizar un programa que nos permita sumar dos nmeros. #include <stdio.h> #include <conio.

h> void main() /* Suma dos valores */ { int num1=4,num2,num3=6; printf("El valor de num1 es %d",num1); printf("\nEl valor de num3 es %d",num3); num2=num1+num3; printf("\nnum1 + num3 = %d",num2); getch(); } PROGRAMA #2

Programa que calcula el permetro de un crculo.

Uso de las constantes #include <stdio.h> #define pi 3.1416 #define escribe printf void main() /* Calcula el permetro */ { int r; escribe("Introduce el radio: "); scanf("%d",&r); escribe("El permetro es: %f",2*pi*r); getch(); } PROGRAMA #3 Leer dos nmeros enteros y escribir el mayor o un mensaje si son iguales. #include<stdio.h> #include<conio.h> void main() { int a=0,b=0; printf("\n\n\t Ingrese el primer valor: "); scanf("%d",&a); printf("\n\n\t Ingrese el segundo valor: "); scanf("%d",&b); if(a>b) printf("\n\n\t El valor mayor es: %d",a); else if(b>a) printf("\n\n\t El mayor es: %d",b); else printf("Son iguales"); getch(); }

PROGRAMA #4 Leer un carcter y dos nmeros enteros. Si el carcter ledo es un operador aritmtico calcular la operacin correspondiente, si es cualquier otro mostrar error. Hacer el programa utilizando if-else . #include<stdio.h> #include<conio.h> void main() { int a,b,r; char op; printf("\n\n\t Ingrese el caracter: "); scanf("%c",&op); printf("\n\n\t Ingrese el primer valor: "); scanf("%d",&a); printf("\n\n\t Ingrese el segundo valor: "); scanf("%d",&b); if(op=='+') r=a+b; else if(op=='-') r=a-b; else if(op=='*') r=a*b; else if(op=='/') r=a/b; else if(op=='%') r=a%b; else printf("Error"); if(op=='+'||op=='-'||op=='*'||op=='/'||op=='%') printf("\n\n\t La respuesta es: %d",r); getch(); }

PROGRAMA #5 Hacer el mismo programa usando la instruccin switch. Leer un carcter y dos nmeros enteros. Si el carcter ledo es un operador aritmtico calcular la operacin correspondiente, si es cualquier otro mostrar error. #include<stdio.h> #include<conio.h> void main() { int n1,n2,r; char op; printf("\n\n\t Ingrese el caracter: "); scanf("%c",&op); printf("\n\n\t Ingrese el primer valor: "); scanf("%d",&n1); printf("\n\n\t Ingrese el segundo valor: "); scanf("%d",&n2); switch(op)

{ case '+': r=n1+n2; break; case '-': r=n1-n2; break; case '*': r=n1*n2; break; case '/': r=n1/n2; break; case '%': r=n1%n2; break; default: printf("Error"); break; } printf("\n\n\t Su respuesta es: %d",r); getch();} PROGRAMA #6 Leer un nmero entero y visualizar su tabla de multiplicar. #include<stdio.h> #include<conio.h> void main() { int a=0,c=0,r=0; printf("\n\n\t Ingrese un nmero: "); scanf("%d",&a); while(c<12) { c++; r=a*c; printf("\n\n\t El resultado es: %d",r); } getch(); } PROGRAMA #7 Generar enteros de 3 en 3 comenzando por el 2 hasta el valor mximo menor que 30. Calcular la suma de los enteros generados que sean divisibles por 5*/ #include<stdio.h> #include<conio.h> void main() { int s=0,a=2; for(a=2;a<30;a+=3) { printf("%d",a); if(a%5==0) s+=a; } printf("\n\n\t La suma de #s divisibles para 5 es: %d",s); getch(); }

PROGRAMA #8 Promedio de una serie de nmeros que finaliza al introducir el 999. El 999 no debe ser tenido en cuenta para la media. #include<stdio.h> #include<conio.h> void main() { int s=0,a=0,d=0,m=0; do { printf("Ingrese un nmero: "); scanf("%d",&a); if(a!=999) { s+=a; d++;} }while(a!=999); m=s/d; printf("\n\n\t La media es: %d",m); getch(); } PROGRAMA #9 Presentar los nmeros perfectos del 1 al 1000. Un nmero es perfecto cuando es igual a la suma de sus divisores excepto el mismo. #include<stdio.h> #include<conio.h> void main ( ) { int c=2, d=1, a=0; clrscr ( ); for (c=2;c<=1000;c++) {for (d=1;c>d;d++) {f (c%d==0) a+=c; } if (c==a) printf ("\n Numeros perfectos: %d",c); d=1; a=0; }getch ( ); }

PROGRAMA # 10 Leer un nmero entero positivo y averiguar si es perfecto. Un nmero es perfecto cuando es igual a la suma de sus divisores excepto el mismo. #include<stdio.h> #include<conio.h> void main() { int a=0,b=0,d; printf("\n\n\t Ingrese un numero: "); scanf("%d",&d); do { b++; if((d%b)==0) a=a+b; }while(b!=(d-1)); if(d==a) { printf("\n\n\t El numero es perfecto: "); } else printf("\n\n\t El numero no es perfecto: "); getch(); }

PROGRAMA #11 Leer dos nmeros enteros a y b mayores o iguales que cero y calcular su producto mediante sumas. #include<stdio.h> #include<conio.h> #include<math.h> void main() { int a=0,b=0,d=0,m=0; clrscr(); printf("\n\n\t Ingrese un numero: "); scanf("%d",&a); printf("\n\n\t Ingrese un numero: "); scanf("%d",&b); if(a>=0 && b>=0) { while(d<b) { m=m+a; d++; } printf("\n\n\tLa multiplicacin es igual:%d",m); } else printf("\n\n\t Los nmeros son incorrectos"); getch(); }

PROGRAMA #12 Leer un numero entero y averiguar si es o no mltiplo de 9. Un nmero es mltiplo de 9 si la suma de sus cifras es 9 o mltiplo de 9. EJ.: 99 es mltiplo pues 9+9=18, que a su vez 1+8=9 #include<stdio.h> #include<conio.h> #include<math.h> void main() { int a=0; clrscr(); printf("\n\n\t Ingrese un numero: "); scanf("%d",&a); if(a>9) if(a%9==0) { printf("\n\n\t El numero %d es multiplo de 9",a); } if(9>=a) if(9%a==0) { printf("\n\n\t El numero %d es mltiplo de 9",a); } else printf("\n\n\t No es mltiplo de 9"); getch(); }

PROGRAMA #13 Generar los N primeros trminos de la serie fibonacci. El valor de N (entero y positivo) deber ser ledo por teclado. En esta serie los dos primeros nmeros son 1, y el resto se obtiene sumando los dos anteriores: 1,1,2,3,5,8,13,21,... #include<stdio.h> #include<conio.h> void main() { int a=0,b=1,c=0,n=0,cont=1; clrscr(); printf("\n\n\t Ingrese un numero: "); scanf("%d",&n); while(cont<n) { a=b; b=c; c=a+b; printf("%d",c); cont++; } getch(); }

PROGRAMA #14 Presentar en la funcin main ( ) el siguiente men de opciones: 1.-Tabla de multiplicar (leer en main ( ) un nmero y en una funcin mostrar su tabla de multiplicar) 2.-Producto por sumas (en main ( ) leer dos nmeros enteros mayores que 0 y en una funcin calcular su producto mediante sumas sucesivas) 3.-Mostrar nmeros comprendidos (leer dos nmeros enteros cualesquiera y en funcin mostrar los nmeros comprendidos entre ambos, no se incluyen) #include<stdio.h> #include<conio.h> void tablamultiplicar(int c); void productosumas(int a,int b); void numeroscomprendidos(int x, int y); void main() { int z,f,g,w,j,op; clrscr(); do { gotoxy(18,2);printf("Opcion 1: tabla de multiplicar"); gotoxy(18,4);printf("Opcion 2: producto por suma"); gotoxy(18,6);printf("Opcion 3: mostrar nmeros comprendidos"); gotoxy(25,8);printf("Ingrese su opcion:"); scanf("%d",&op); switch(op) { case 1: printf("\n Ingrese un nmero:"); scanf("%d",&z); tablamultiplicar(z); getch();break; case 2: printf("\n Ingrese un nmero:"); scanf("%d",&f); printf("\n Ingrese un nmero:"); scanf("%d",&g); productosumas(f,g); getch();break; case 3: printf("\n Ingrese un nmero:"); scanf("%d",&w); printf("\n Ingrese un nmero:"); scanf("%d",&j); numeroscomprendidos(w,j); getch();break; } }while((op!=1)&&(op!=2)&&(op!=3)); getch(); } void tablamultiplicar(int c) { int e,n; for(e=1;e<13;e++) { n=c*e; printf("\n\n\t %d*%d=%d",c,e,n); } } void productosumas(int a,int b) { int m=0,d=0; if((a>=0)&&(b>=0)) { while(d<b)

{ m=m+a; d++;} } printf("\n\n\t La multiplicacin es igual a: %d",m); } void numeroscomprendidos(int x, int y) { int v=0; while(v<y) { v==x; v++; if((v!=x)&&(v!=y)) printf("\n\n\t Los nmeros comprendidos son: %d",v); } }

PROGRAMA #15 Leer por teclado un numero entero N. Escribir los nmeros primos comprendidos entre 1 y N. Disear una funcin que permita averiguar si un numero es o no primo. #include<stdio.h> #include<conio.h> int primo(int x); void main() { int n=0,p=0,c=0; printf("\n\n\t Ingrese un nmero: "); scanf("%d",&n); for(c=1;c<n;c++) { p=primo(c); if(p==1) printf("\n\n\t %d es primo",c); } getch(); } int primo(int x) { int o=0,p=0,b=0; while(o<x) { o++; if(x%o==0) p++; } if(p<=2) b=1; return(b); }

PROGRAMA #16 Leer una fecha en formato da, mes, ao, averiguar si es correcta e indicar el da siguiente. #include<stdio.h> #include<conio.h> int veri_fecha (int, int, int); void dia_sig (int, int, int); void main () { int d, m, a, c; clrscr(); gotoxy(10,4); printf(Ingrese fecha: \n); do {gotoxy(17,6); printf( ); gotoxy(10,6); printf(dia: ); gotoxy(17,6); scanf(%d,&d); } while(d<1 || d>31); do { gotoxy(17,7); printf( );gotoxy(10,7); printf(mes:); gotoxy(17,7); scanf(%d,&m); } while (m<1 || m>12); do {gotoxy(17,8); printf( ); gotoxy(10,8); printf(ao:); gotoxy(17,8); scanf(%d,&a); } while (a<1); c= veri_fecha(d,m,a); if(c==1) { gotoxy(10,10); printf(fecha correcta); dia_sig(d,m,a); gotoxy(10,12); printf(dia siguiente:); } else { gotoxy(10,10); printf(fecha incorrecta); } getch(); } int veri_fecha(int d, int m, int a) { if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 |m==12) if(d<=31) return (1); else return (0); else if (m==2) if((a%4==0) && (a%100!=0) || (a%400==0)) if(d<=29) return(1); else return(0); else if(d<=28) return(1);

else if(d<=30)

else return(0);

return(1); else return(0);

} void dia_sig(int d, int m, int a) { if(m==1 || m==3|| m==5 || m==7 || m==8 || m==10 || m==12) { if(d==31) { if(m==12) {d=1; m=1; a++; gotoxy(10,13);printf(%d - %d -%d,d,m,a); } else { d=1; m++; gotoxy(10,13); printf(%d - %d -%d,d,m,a); } } else { d++; gotoxy(10,13); printf(%d - %d -%d,d,m,a); } } else { if(m==2) { if((a%4==0)&&(a%100!=0)||(a%400==0)) { if(d==29) {d==1; m++; gotoxy(10,13); printf(%d - %d -%d,d,m,a); } else { d++; gotoxy(10,13); printf(%d - %d -%d,d,m,a); } } else { if(d==28) { d=1; m++; gotoxy(10,13); printf(%d - %d -%d,d,m,a); } else { d++;

10

gotoxy(10,13); printf(%d - %d -%d,d,m,a); } }

} else { if(d==30) { d++; m++; gotoxy(10,13); printf(%d - %d -%d,d,m,a); } else { d++; gotoxy(10,13); printf(%d - %d -%d,d,m,a); } } }

11

PROGRAMA #17 Implementar un programa que sea capaz de calcular el resultado de aplicarla formula siguiente (n i)=n!/(i!*(n-i)!). Para ello se dispone de dos funciones, una de ellas lee un numero por teclado que debe ser mayor e igual que cero teniendo en cuenta adems que n tiene que ser necesariamente mayor que i la otra funcin calcular el factorial de un nmero. #include<stdio.h> #include<conio.h> int lee_numero(); float factorial(int); void main() { int n,i; clrscr(); i= lee_numero(); do { n=lee_numero(); } while(n<i); printf("Resultdo:%.2f",factorial(n)/((factorial(i))*(factorial(n-i)))); getch(); } int lee_numero() { int num; do { printf("Ingrese un numero:"); scanf("%d",&num); } while(num<=0); return num; } float factorial(int num) { int fact=1,i=1; for (i=1;i<=num;i++) fact=fact*i; return fact; }

12

PROGRAMA #18 Ingresar un nmero por teclado que vaya del 1 al 31 y presentar el da correspondiente si el primer da del mes cay lunes. #include<stdio.h> #include<conio.h> void main ( ) { int d, r=0; clrscr ( ); printf ("\n ingrese un nmero: "); scanf ("%d",&d); if ((d>0)&&(d<32)) r=d%7; switch (r) { case 1: printf ("\n lunes"); break; case 2: printf ("\n martes"); break; case 3: printf ("\n mircoles"); break; case 4: printf ("\n jueves"); break; case 5: printf ("\n viernes"); case 6: printf ("\n sabado"); break; default: printf ("\n domingo"); } getch ( ); }

13

PROGRAMA #19 Ingresar un nmero por teclado que vaya del 1 al 31 y presentar el da correspondiente si el primer da del mes cay lunes #include<stdio.h> #include<conio.h> void main ( ) { int x, n; clrscr ( ); do { printf ("\n ingrese un nmero del da: "); scanf ("%d",&n); } x=n%7; switch (x) { case 1: printf ("\n lunes"); break; case 2: printf ("\n martes"); break; case 3: printf ("\n mircoles"); break; case 4: printf ("\n jueves"); break; case 5: printf ("\n viernes"); break; case 6: printf ("\n sabado"); break; default: printf ("\n domingo"); break; } getch ( ); } PROGRAMA #20 Ingresar un nmero por teclado y mostrar los nmeros de la serie fibonaci de 1 hasta n siempre y cuando los nmeros sean impares //Fila #1 #include<stdio.h> #include<conio.h> void main ( ) { int c=0, i=0, a=0, b=1; clrscr ( ); while (i<5) { c=a+b; if ((c%2!=0)&&(c%3==0)) { printf ("\n %d",c); i++; } a=b; a=c; } getch ( ); }

14

PROGRAMA #21 Ingresar un nmero n y presentar los nmeros perfectos de 1 hasta n. Un nmero es perfecto cuando es igual a la suma de sus divisores excepto el mismo. //Fila #2 #include<stdio.h> #include<conio.h> void main ( ) { int c, i, s, n; clrscr ( ); printf ("Ingrese un nmero:"); scanf ("%d",& n); for (i=1;i<=n;i++) { s=0; for (c=1;c<i;c++) { if (i%c==0) s+=c; } if (s==i); printf ("\n %d",i); } getch ( ); } PROGRAMA #22 Ingresar un nmero por teclado y mostrar los nmeros primos desde 1 hasta el nmero ingresado. //Fila #3 #include<stdio.h> #include<conio.h> void main ( ) { int n, d, c, j, r=0; clrscr ( ); printf ("ingrese un numero"); do {scanf ("%d",&n); } while (n<=0); for (c=1;c<=n;c++) { for (j=1;j<=c;j++) { r=c%j; if (r==0) d++; } if (d<=2) printf ("\n el numero %d es primo",c); d=0; } getch ( ); }

15

PROGRAMA #23 Ingresar un nmero n y mostrar el factorial de 1 hasta n es decir de cada nmero hasta el nmero ingresado. //Fila #4 #include <stdio.h> #include <conio.h> void main ( ) { int n, i, f=1; clrscr ( ); printf ("ingrese un numero"); scanf ("%d",&n); for (i=1;i<=n;i++) { f=f*i; printf ("\n el factorial de %d! es %d",i,f); } getch ( ); } PROGRAMA #24 Presentar cuantas veces se repitieron cada numero de un dado normal con una funcin aleatoria. Donde se debe lanzar el dado 1000 veces #include <stdio.h> #include <conio.h> #include <stdlib.h> void main() { int uno=0, dos=0, tres=0, cuatro=0, cinco=0, seis=0, cara; clrscr(); for(int i=1;i<=1000;i++) { cara=random(6)+1; switch (cara) { case 1: uno++; break; case 2: dos++; break; case 3: tres++; break; case 4: cuatro++; break; case 5: cinco++; break; case 6: seis++; break; } } printf("\n*****LANZAMIENTOS*****"); printf("\n cara 1: %d", uno); printf("\n cara 2: %d", dos); printf("\n cara 3: %d", tres); printf("\n cara 4: %d", cuatro); printf("\n cara 5: %d", cinco); printf("\n cara 6: %d", seis); getch(); }

16

PROGRAMA #25 Explicacin de funciones; funciones que no reciben parmetros (retornan valor y no retornan valor), funciones que reciben parmetros (retornan valor y no retornan valor). Programa de la suma de dos nmeros. #include<stdio.h> #include<conio.h> void suma( ); int suma1( ); void suma2(int ,int ); int suma3(int ,int ); int a=3,b=5; void main() { int x,y,r; suma(); r=suma1(); printf("\n suma1: %d",r); x=4; y=9; suma2(x,y); r=suma3(x,y); printf("\n suma3: %d",r); getch(); } void suma() { printf("\n suma: %d",a+b); } suma1() { return a+b; } void suma2(int a, int b) { printf("\n suma2: %d",a+b); } int suma3(int n1, int n2) { return n1+n2; }

17

PROGRAMA #26 Programa de la funcin de un nmero global. /* Declaracin de funciones. */ #include <stdio.h> void funcion(void); /* prototipo */ int num=5; /* variable global */ void main() /* Escribe dos nmeros */ { int num=10; /* variable local */ printf("%d\n",num); funcion(); /* llamada */ getch(); } void funcion(void) { printf("%d\n",num); } PROGRAMA #27 La factorial de un nmero con una funcin recursiva #include<stdio.h> #include<conio.h> #include<stdlib.h> int factorial(int ); void main() { int n,fac; clrscr(); printf("ingrese un numero"); scanf("%d",&n); fac=factorial(n); printf("el factorial de %d es %d",n,fac); getch(); } int factorial(int num) { if(num==1) return(1); else return(num*factorial(num-1)); getch(); }

18

PROGRAMA #2 Funcin recursiva de la potencia de un nmero. #include<stdio.h> #include<conio.h> #include<stdlib.h> int potencia(int , int ); void main() { int base, pot, res; clrscr(); printf("ingrese un numero para la base:"); scanf("%d",&base); printf("ingrese un numero para el exponente:"); scanf("%d",&pot); res=potencia(base, pot); printf("La respuesta es: %d ",res); getch(); } int potencia (int base,int pot) { if(pot==1) return(base); else return(base*potencia(base, pot-1)); } PROGRAMA #29 Leer un nmero entero y convertirlo de decimal a binario #include<stdio.h> #include<conio.h> #include<math.h> long binario(int,int); void main() { int num; clrscr(); printf("Ingrese numero:"); scanf("%d",&num); printf("El binario de %d es %ld",num,binario(num,0)); getch(); } long binario(int n, int pot) { int residuo,divisor; if(n<2) return n*pow10(pot); else { residuo=n%2; divisor=n/2; return ((residuo*pow10(pot))+binario(divisor,pot+1)); } }

19

PROGRAMA #30 Ingresar un numero y muestre el numero de la serie fibonacci que este en esa posicin del numero ingresado. Ej.: ingreso un nmero por ej. El 6; la serie fibonacci es: 0, 1, 1, 2, 3, 4, 5, 8 el numero que va a mostrar es 8 porque 0= (0), 1= (1), 2= (1), 3= (2), 4= (3), 5= (5), 6= (8). #include<stdio.h> #include<conio.h> #include<math.h> int fibonacci( int ); void main() { int n; clrscr(); printf("Ingrese un nmero:"); scanf("%d",&n); printf("El fibonacci de %d es %d",n ,fibonacci(n)); getch(); } int fibonacci(int num) { if ((num==0)||(num==1)) return num; else return (fibonacci(num-1)+fibonacci(num-2)); } Trabajo en Grupo con Funcin Recursiva. PROGRAMA #31 Breve Descripcin: Programa que realiza el producto de dos nmeros por medio de sumas utilizando una funcin recursiva. #include<stdio.h> #include<conio.h> int multi_x_sumas(int a, int b); void main() { clrscr(); int x,y; printf("Ingrese los nmeros que desea sean multiplicados \n"); scanf("%d %d",&x,&y); printf("%d * %d = %d",x,y,multi_x_sumas(x,y)); getch(); } int multi_x_sumas(int a,int b) { if(b==1) return a; else return(a+multi_x_sumas(a,b-1)); getch(); }

20

PROGRAMA #32 Programa que calcula la divisin por medio de resta utilizando una funcin recursiva. #include <stdio.h> #include <conio.h> int division(int x, int y); void main() { clrscr(); int n,r,div; do {

printf("Ingrese el dividendo: "); scanf("%d",&n); } while(n<0);

do { printf("Ingrese el divisor: "); scanf("%d",&div); } while(div<=0); r=division(n,div); printf("El resultado de la divison es: %d", r); getch(); } int division(int x, int y) {int c=0,res; if(x<y) return 1; else { x=x-y; c++; res=division(x,y); return (1+res); } }

21

PROGRAMA #33 Ingresar un numero y muestre el numero de la serie fibonacci que este en esa posicin del numero ingresado. Ej.: ingreso un nmero por ej. El 6; la serie fibonacci es: 0, 1, 1, 2, 3, 4, 5, 8 el numero que va a mostrar es 8 porque 0= (0), 1= (1), 2= (1), 3= (2), 4= (3), 5= (5), 6= (8). #include<stdio.h> #include<conio.h> #include<math.h> int fibonacci( int ); void main() { int n; clrscr(); printf("Ingrese un nmero:"); scanf("%d",&n); printf("El fibonacci de %d es %d",n ,fibonacci(n)); getch(); } int fibonacci(int num) { if ((num==0)||(num==1)) return num; else return (fibonacci(num-1)+fibonacci(num-2)); } PROGRAMA #34 Programa que asigna un carcter nulo cuando se termina de escribir la cadena. /* Vector de tipo char. */ #include <stdio.h> #include<conio.h> #include<string.h> void main() /* Rellenamos un vector char */ { char cadena[20]; int i; for (i=0;i<19 && cadena[i-1]!=13;i++) cadena[i]=getche( ); if (i==19) cadena[i]='\0'; else cadena[i-1]='\0'; printf("\n%s",cadena); getch(); }

22

PROGRAMA #35 Programa que enva un arreglo a una funcin. /* Envo de un array a una funcin. */ #include <stdio.h> void visualizar(int []); /* prototipo */ main() /* rellenamos y visualizamos */ { int array[25],i; for (i=0;i<25;i++) { printf("Elemento n %d",i+1); scanf("%d",&array[i]); } visualizar(&array[0]); } void visualizar(int array[]) /* desarrollo */ { int i; for (i=0;i<25;i++) printf("%d",array[i]); }

PROGRAMA #36 Ingresar una cadena e indicar si es un palndromo o no. Palndromo es el que se lee igual de izquierda a derecha y de derecha a izquierda. Ej: dabale a la zorra el abad #include<stdio.h> #include<conio.h> #include<string.h> #include<ctype.h> char cadena[80]; int palndromo(void); void quitar_blancos(void); void main() {clrscr(); printf("ingrese una cadena:"); gets(cadena); quitar_blancos(); if(palndromo()) printf("la cadena es un palndromo"); else printf("la cadena no es un palndromo"); getch(); } void quitar_blancos() { int c,i; char a[80]; for(i=0;i<strlen(cadena);i++)

23

{ if(!isspace(cadena[i])) { a[c]=cadena[i]; c++; } a[c]='\0'; strcpy(cadena,a);

} }

int palndromo() { char a[80]; strcpy(a,cadena); strrev(a);//sirve para darle vuelta a una cadena if(strcmp(cadena,a)) return 1; else return 0; } PROGRAMA #37 Leer una cadena y cambiar las maysculas por minscula, mayscula por minscula y dgitos por puntos. #include<stdio.h> #include<conio.h> #include<string.h> #include<ctype.h> void modificar(void); char cad[30]; void main() { clrscr(); printf("ingrese una cadena de caracteres:"); gets(cad); modificar(); puts(cad); getch(); } void modificar() { int i; for(i=0;cad[i]!='\0';i++) { if(isupper(cad[i])) cad[i]=tolower(cad[i]); else if(islower(cad[i])) cad[i]=toupper(cad[i]); else if(isdigit(cad[i])) cad[i]='.'; } }

24

PROGRAMA #38 Ordenar por puntaje una tabla de posiciones de equipos. Ingresando cuantos partidos ganados, empatados, perdidos, goles a favor. El puntaje se debe calcular con la formula: Puntaje = (PG*3) + PE, si los puntajes son iguales se debe verificar con los goles a favor para ordenar. #include<stdio.h> #include<conio.h> #include<string.h> //6 equipos char equipos[6][15]; int puntaje[6][5]; // pg pe pp gf puntaje int i,j; void ingreso(); void ordena_tabla(); void presenta_matriz(); void main() { clrscr(); ingreso(); presenta_matriz(); ordena_tabla(); presenta_matriz(); } void ingreso() { int jugados; for(i=0;i<6;i++) { printf("Ingrese nombre de equipo %d:",i+1); scanf("%s", equipos[i]); do{ printf("\n Ingrese partidos ganados:"); scanf("%d", &puntaje[i][0]); printf("\n Ingrese partidos empatados:"); scanf("%d", &puntaje[i][1]); printf("\n Ingrese partidos perdidos:"); scanf("%d", &puntaje[i][2]); jugados=puntaje[i][0]+puntaje[i][1]+puntaje[i][2]; //debe sumar 10 }while(jugados!=10); printf("Ingrese goles a favor:"); scanf("%d", &puntaje[i][3]); puntaje[i][4]=(puntaje[i][0]*3)+puntaje[i][1]; } } void presenta_matriz() { clrscr(); printf("EQUIPOS PG PE PP for(i=0;i<6;i++) { printf("\n %s", equipos[i]); for(j=0;j<5;j++) printf("%d\t",puntaje[i][j]);

GF

PUNTAJE");

25

} getch();

void ordena_tabla() { int aux,k; char auxi[15]; for(k=1;k<=5;k++) for(i=0;i<5;i++) { if((puntaje[i][4]<puntaje[i+1][4])||(puntaje[i][4]==puntaje[i+1][4]) (puntaje[i][3]<puntaje[i+1][3])) { //intercambio de equipos strcpy(auxi,equipos[i]); strcpy(equipos[i],equipos[i+1]); strcpy(equipos[i+1],auxi); for(j=0;j<5;j++) { aux=puntaje[i][j]; puntaje[i][j]=puntaje[i+1][j]; puntaje[i+1][j]=aux; } } } }

&&

PROGRAMA #39 Programa que ingresa un arreglo y desarrolla 10 funciones con respecto al arreglo ingresado. #include<stdio.h> #include<conio.h> #include<process.h> void ingreso(); void suma(); void promedio(); void mayor(); void menor(); void repetir(); void pares(); void impar(); void ascendente(); void descendente(); void menu(); int num[6]; void main() { void menu(); getch(); }

26

void menu() { clrscr(); int op; gotoxy(38,2); printf("MENU"); printf("\n1. Llenar el arreglo"); printf("\n2. Sumar el arreglo"); printf("\n3. Promedio"); printf("\n4. Nmero mayor"); printf("\n5. Nmero menor"); printf("\n6. Nmero m s repetido"); printf("\n7. Cuantos pares e impares"); printf("\n8. Ordenar ascendentemente"); printf("\n9. Ordenar descendentemente"); printf("\n10. Presentar arreglo"); printf("\n11. Salir"); printf("\n\n Ingrese la opcin que desea realizar"); do { gotoxy(1,16); scanf("%d",&op); }while(op<1||op>11); switch(op) { case 1: {ingreso(); break; } case 2: {suma(); break; } case 3: {promedio(); break; } case 4: {mayor(); break; } case 5: {menor(); break; } case 6: {repetir(); break; } case 7: {pares(); break; } case 8: {impar(); break; } case 9: {ascendente(); break; } case 10: {descendente(); break; } case 11: exit(op); } } void ingreso() { clrscr(); for(int i=0;i<6;i++) { printf("Ingrese elemento numero %d",i+1); scanf("%d",&num[i]); getch(); menu(); } void suma() { int s=0; for(int i=0;i<=5;i++) s=s+num[i]; printf("La suma del arreglo es %d",s); getch(); menu(); } void promedio() {

27

int s=0; float r=0; for(int i=0;i<6;i++) s=s+num[i]; i=i+1; r=s/i; printf("El promedio del arreglo es %f",r); getch(); menu(); } void mayor() { int mayor=0; for(int i=0;i<6;i++) { if(num[i]>mayor) mayor=num[i]; } printf("El mayor del arreglo es %d",mayor); getch(); menu(); } void menor() { int menor=300; for(int i=0;i<6;i++) { if(num[i]<menor) menor=num[i]; } printf("El menor del arreglo es %d",menor); getch(); menu(); } void repetir() { int j=0,d=0,c=0,v=0,n=0; for(int i=0;i<6;i++) { for(j=0;j<6;j++) if(num[i]==num[j]) c++; if(c>d) v=c; n=num[j]; c=0; } printf("El numero %d se repite %d veces",n,v); getch(); menu();

28

PROGRAMA #40 Programa que ingresa una matriz y la ordena en forma descendente y ascendente. #include<stdio.h> #include<conio.h> void main() { int num[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},i,j,k,aux; for(i=0;i<3;i++) { for(j=0;j<4;j++) scanf("%d",&num[i][j+1]); printf("%d \t",num[i][j+1]); printf("\n"); } if(num[i][j]<num[i][j+1]) { aux=num[i][j]; num[i][j]=num[i][j+1]; num[i][j+1]=aux; } for(i=0;i<3;i++) for(k=1;k<4;k++) for(j=0;j<3;j++) if(num[i][j]<num[i][j+1]) { aux=num[i][j]; num[i][j]=num[i][j+1]; num[i][j+1]=aux; } for(j=0;j<4;j++) for(k=1;k<3;k++) for(i=0;i<2;i++) if(num[i][j]<num[i+1][j]) { aux=num[i][j]; num[i][j]=num[i+1][j]; num[i+1][j]=aux; } getch(); }

29

/*Trabajo grupal sobre tabla de posiciones PROGRAMA #41 Programa que muestra tabla de posiciones de equipos de ftbol.*/ #include <stdio.h> #include <conio.h> #include <string.h> void main() { clrscr(); int a=0,sum=0,i,c,aux2[6][5],punt[6][5],j,b; char aux[6][20],eq[6][20]; printf("Ingrese nombre de equipos con sus puntajes:\n"); getch(); for(a=0;a<6;a++) { clrscr(); printf("\n Ingrese equipo %d:",a+1); scanf("%s",&eq[a]); do { sum=0; for(i=0;i<4;i++) { printf("\n Ingrese %d puntuacin:",i+1); scanf("%d",&punt[a][i]); if(i<3) sum=sum+punt[a][i]; } }while(sum!=10); punt[a][i]=(punt[a][0]*3)+punt[a][2]; } clrscr(); for(i=0;i<5;i++) { for(a=0;a<5;a++) if(punt[a][4]<punt[a+1][4]) { strcpy(aux[a],eq[a]); strcpy(eq[a],eq[a+1]); strcpy(eq[a+1],aux[a]); for(j=4;j>=0;j--) { aux2[a][j]=punt[a][j]; punt[a][j]=punt[a+1][j]; punt[a+1][j]=aux2[a][j]; } } else if(punt[a][4]==punt[a+1][4]) { if(punt[a][3]<punt[a+1][3]) { strcpy(aux[a],eq[a]); strcpy(eq[a],eq[a+1]); strcpy(eq[a+1],aux[a]); for(j=3;j>=0;j--)

30

{ aux2[a][j]=punt[a][j]; punt[a][j]=punt[a+1][j]; punt[a+1][j]=aux2[a][j]; } } } } b=5; gotoxy(7,5); printf("Equipos"); gotoxy(20,5); printf("Pg"); gotoxy(25,5); printf("Pp"); gotoxy(30,5); printf("Pe"); gotoxy(35,5); printf("Gf"); gotoxy(39,5); printf("Punts"); for(a=0;a<6;a++) { b+=2; gotoxy(7,b); puts(eq[a]); c=15; for(i=0;i<5;i++) { c+=5; gotoxy(c,b); printf("%d\t",punt[a][i]); } printf("\n"); } getch(); } PROGRAMA #42 . Programa que enva argumentos a l a funcin main. /* Argumentos de la main. */ #include <stdio.h> void main(int argc,char *argv[]) /* argumentos */ { printf("\nCurso de Programacin en C - Copyright (c) 1997-2001, Sergio Pacho\n"); printf("Programa de ejemplo.\n\n"); if (argc<2) { printf("Teclee: funcion6 su_nombre"); exit(1); /* fin */ } printf("Hola %s",argv[1]); }

31

PROGRAMA #43 Programa que pasa parmetros a una funcin. /* Paso de parmetros. */ #include <stdio.h> int suma(int,int); /* prototipo */ void main() /* Realiza una suma */ { int a=10,b=25,t; t=suma(a,b); /* guardamos el valor */ printf("%d=%d",suma(a,b),t); suma(a,b); /* el valor se pierde */ } getch(); int suma(int a,int b) { return (a+b); } PROGRAMA #44 . Programa que pasa parmetros por referencia. /* Paso por referencia. */ #include <stdio.h> void intercambio(int *,int *); void main() /* Intercambio de valores */ { int a=1,b=2; printf("a=%d y b=%d",a,b); intercambio(&a,&b); /* llamada */ printf("a=%d y b=%d",a,b); } void intercambio (int *x,int *y) { int aux; aux=*x; *x=*y; *y=aux; printf("a=%d y b=%d",*x,*y); }

32

PROGRAMA #45 Programa que pasa parmetros a una funcin por valor. /* Paso por valor. */ #include <stdio.h> void intercambio(int,int); void main() /* Intercambio de valores */ { int a=1,b=2; printf("a=%d y b=%d",a,b); intercambio(a,b); /* llamada */ printf("a=%d y b=%d",a,b); }getch(); void intercambio (int x,int y) { int aux; aux=x; x=y; y=aux; printf("a=%d y b=%d",x,y); }

PROGRAMA #46 Programa que ingresa nombre, apellido, edad y puesto de un empleado y lo presenta por pantalla. /* Paso de una estructura por valor. */ #include <stdio.h> #include<conio.h> #include<string.h> struct trabajador { char nombre[20]; char apellidos[40]; int edad; char puesto[10]; }; void visualizar(struct trabajador); void main() /* Rellenar y visualizar */ { struct trabajador fijo; printf("Nombre: "); scanf("%s",fijo.nombre); printf("\nApellidos: "); scanf("%s",fijo.apellidos); printf("\nEdad: "); scanf("%d",&fijo.edad); printf("\nPuesto: "); scanf("%s",fijo.puesto); visualizar(fijo); } void visualizar(struct trabajador datos) { printf("Nombre: %s",datos.nombre); printf("\nApellidos: %s",datos.apellidos); printf("\nEdad: %d",datos.edad); printf("\nPuesto: %s",datos.puesto);

33

} PROGRAMA #47 Realizar un programa con estructura agenda que tenga 4 funciones, ingresar, buscar, visualizar y eliminar. #include<stdio.h> #include<conio.h> #include<string.h> struct agenda { char apellido[30]; char nombre[30]; char fono[25]; char email[30]; }; int indice=0; struct agenda amigos[50]; void ingresar (); void buscar(); void visualizar(); void eliminar(); void main() { int opc; clrscr(); do { printf("**Agenda**"); printf("\n1. Ingresar"); printf("\n2. Buscar"); printf("\n3. Visualizar"); printf("\n4. Eliminar"); printf("\n5. salir"); printf("\nIngrese la opcion:"); scanf("%d",&opc); switch(opc) { case 1: ingresar();break; case 2: buscar();break; case 3: visualizar();break; case 4: eliminar();break; } } while(opc!=5); getch(); } void ingresar() { if(indice<50) { printf("Apellido:");scanf("%s",amigos[indice].apellido); printf("Nombre:");scanf("%s",amigos[indice].nombre); printf("Telefono:");scanf("%s",amigos[indice].fono); printf("E-Mail:");scanf("%s",amigos[indice].email); indice++; } else printf("Memoria Llena");

34

getch(); } void buscar() { char cadena[20];int esta=0; printf("\nApellido:");scanf("%s",cadena);//apellido buscar for(int i=0;i<indice;i++) { if(strcmpi(amigos[i].apellido,cadena)==0) { printf("\nNombre:%s",amigos[i].nombre); printf("\nTelefono:%s",amigos[i].fono); printf("\nE-mail:%s",amigos[i].email); esta=1; } } if(esta==0) printf("Amigo Buscado No Existe"); getch();

} void visualizar() { if(indice>0) { for(int i=0;i<indice;i++) { printf("\nNombre:%s",amigos[i].nombre); printf("\nApellido:%s",amigos[i].apellido); printf("\nTelefono:%s",amigos[i].fono); printf("\nE-mail:%s",amigos[i].email); } } else printf("agenda vacia"); getch(); } void eliminar() { char cad1[20],cad2[20]; int esta=0; printf("\nApellido:");scanf("%s",cad1); printf("\nNombre:");scanf("%s",cad2); for(int i=0;i<indice;i++) { if(strcmp(cad1,amigos[i].apellido)==0&& strcmp(cad2,amigos[i].nombre)==0) { strcpy(amigos[i].apellido,""); strcpy(amigos[i].nombre,""); strcpy(amigos[i].fono,""); strcpy(amigos[i].email,""); esta=1; } } if(esta==0) printf("Amigo A Eliminar No Existe"); getc h(); }

35

También podría gustarte