Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Ejercicios de programación resueltos (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

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

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter