Descargar

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