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 |