int palíndromo() { 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 mayúsculas por minúscula, mayúscula por minúscula y dígitos 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]!='';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]='.'; } }
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 GF PUNTAJE"); for(i=0;i<6;i++) { printf("n %s", equipos[i]); for(j=0;j<5;j++) printf("%dt",puntaje[i][j]); } 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(); } 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. Número mayor"); printf("n5. Número menor"); printf("n6. Número 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("nn Ingrese la opción 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() { 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();
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(); }
PROGRAMA #41 Programa que muestra tabla de posiciones de equipos de fútbol.
#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 puntuación:",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–) { 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("%dt",punt[a][i]); } printf("n"); } getch();
}
PROGRAMA #42 . Programa que envía argumentos a l a función main.
/* Argumentos de la main. */ #include <stdio.h> void main(int argc,char *argv[]) /* argumentos */ { printf("nCurso de Programación en C – Copyright (c) 1997-2001, Sergio Pachon"); printf("Programa de ejemplo.nn"); if (argc<2) { printf("Teclee: funcion6 su_nombre"); exit(1); /* fin */ } printf("Hola %s",argv[1]); }
PROGRAMA #43 Programa que pasa parámetros a una función.
/* Paso de parámetros. */
#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 parámetros 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); }
PROGRAMA #45 Programa que pasa parámetros a una función 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);
}
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"); 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(); }
Autor:
Iván José Pablo Turmero Astros
Página anterior | Volver al principio del trabajo | Página siguiente |