You are on page 1of 39

Bienvenido(a),Visita

nte. Por
favor Ingresaro Regis
trarse 
¿Perdiste tuemail de
activación?.
          6 Junio 2011, 21:41  

Buscador:
Buscar!

  Foro de elhacker.net
 Programación
 Programación General 0 Usuarios y 9 Visitantes están
 Ejercicios viendo este tema.
 Ejercicios resueltos C++
[programacion estructurada]

Páginas: [1]2 

Tema: Ejercicios resueltos C++ [programacion estructurada]


Autor (Leído 291727 veces)

Darvein Ejercicios resueltos C++ [programacion estructurada]


« en: 26 Febrero 2008, 18:40 »
Desconectado

Mensajes: 181 >> ARITMETICA <<


Mostrar los multiplos de 3 comprendidos entre los
numeros 1 y 20
Código:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int main ()
{
    clrscr();
    for (int i=1;i<=20;i++)
=)     {
cout<<i;
if (i%3==0) cout<<" Es multiplo de 3" <<endl;
else cout<<" No es multiplo de 3"<<endl;
    }
    getch();
    return 0;
}

Hallar A+B-C+100
Código:
#include <stdio.h>
#include <conio.h.>
int main ()
{
     int A, B, C;
     printf("Inserte valor para A: "); scanf("%d",&A);
     printf("Inserte valor para B: "); scanf("%d",&B);
     printf("Inserte valor para C: "); scanf("%d",&C);
     printf("\n%d + %d - %d + 100 = %d",A, B, C,
(A+B+C-100));
     getch();
}

Obtener (a-b)(a+b)
Código:
#include <stdio.h>
#include <conio.h>
int main ()
{
    int a, b;
    printf("Inserte valor a: "); scanf("%d",&a);
    printf("Inserte valor b: "); scanf("%d",&b);
    printf("(%d-%d) (%d+%d) = %d",a, b, a, b,((a-
b)*(a+b)));
    getch();
}

Leer un numero de 3 digitos y sumarlos


Código:
#include <stdio.h>
#include <conio.h>
int main ()
{
    int numero, sum_dig=0;
    printf("Inserte un numero de 3 digitos: ");
scanf("%d",&numero);
    if (numero>=100)
    {
       int num=numero; //salvamos en num, la variable
numero
       while (numero!=0)
       {
         sum_dig=sum_dig+(numero%10); //para sacar el
ultimo digito de numero
         numero=numero/10; //elimina el ultimo digito
de numero
       }
       printf("La suma de los digitos de %d es :
%d",num, sum_dig);
    }
    else
    printf("\a ERROR: El digito no tiene 3 digitos");
    getch();
}

Dado un numero verificar:


    - Que tenga dos digitos
    - Verificar si sus digitos son pares
    - Promediar sus digitos 
Código:
#include <stdio.h>
#include <conio.h>
int main ()
{
 int numero;
 printf("Inserte num. de dos digitos pares: ");
 scanf("%d",&numero);
 int aux=numero;
 if(numero<100 && numero>9)
 {
  int d1=numero%10;
  numero=numero/10;
  int d2=numero%10;
  if(d1%2==0 & d2%2==0)
   printf("El promedio d los digitos de %d es: %d",aux,
(d1+d2)/2);
 }
 else
  printf("\aERROR: el numero no tiene dos digitos");
 getch();
}

Dado un numero verificar si es positivo, negativo o nulo


Código:
#include <stdio.h>
#include <conio.h>
int main ()
{
 int numero;
 printf("Inserte un numero: ");
 scanf("%d",&numero);
 if(numero==0)
  printf("El numero %d es NULO",numero);
 else
 {
  if(numero<0)
    printf("El numero %d es NEGATIVO",numero);
  else
    printf("El numero %d es POSITIVO",numero);
 }
 getch();
}

Dados seis numeros enteros determinar, el menor de ellos


Código:
#include<stdio.h>
#include<conio.h>
int main()
{
 int a, b, c, d, e, f;
 printf("Inserte num.1: "); scanf("%d",&a);
 printf("Inserte num.2: "); scanf("%d",&b);
 printf("Inserte num.3: "); scanf("%d",&c);
 printf("Inserte num.4: "); scanf("%d",&d);
 printf("Inserte num.5: "); scanf("%d",&e);
 printf("Inserte num.6: "); scanf("%d",&f);
 int menor=a;
 if(b<menor) menor=b;
 if(c<menor) menor=c;
 if(d<menor) menor=d;
 if(e<menor) menor=e;
 if(f<menor) menor=f;
 printf("El menor de %d,%d,%d,%d,%d,%d ",a,b,c,d,e,f);
 printf("\nEs %d",menor);
 getch();
}

 En línea

[www.darvein.net]

Darvein Re: Ejercicios resueltos C++ [programacion


estructurada]
Desconectado « Respuesta #1 en:26 Febrero 2008, 18:41 »

Mensajes: 181
>> SERIES <<
hallar la sumatoria de:   2! + 4! + 6! + 8! + ...
Código:
#include <stdio.h>
#include <conio.h>
int facto (int x)
{
     int f=1;
     for (int i=1;i<=x;i++)
     {f=f*i;}
=)      return (f);
}

int main ()
{
    int n, serie=2, suma=0;
    printf ("Inserte cantidad de terminos a generar:
"); scanf ("%d",&n);
    for (int i=1;i<=n;i++)
    { 
      printf ("%d! + ",serie); 
      suma=suma+(facto(serie));
      serie=serie+2;
    }
    printf ("   = %d",suma);
    getch();
}

Generar la serie: 1, 5, 3, 7, 5, 9, 7, ..., 23


Código:
#include <stdio.h>
#include <conio.h>

int main ()
{
    int serie=1;
    bool sw=true;
    do
    {
      printf("%d, ",serie);
      if (sw) serie+=4;
      else serie-=2;
      sw=!sw;
    } while (serie<=23);
    getch();
}

Generar 5,10,15,20,25,30,35....n
Código:
#include<stdio.h>
#include<conio.h>
int main ()
{
 int n, c=1, serie=5;
 printf("Cantidad de terminos: ");
 scanf("%d",&n);
 while(c<=n)
 {
  printf("%d,",serie);
  serie+=5; c++;
 }
 getch();
}

Si n=7 generar 7,6,5,4,3,2,1 


Código:
#include<stdio.h>
#include<conio.h>
int main ()
{
 int n, c=1;
 printf("Cantidad de terminos: ");
 scanf("%d",&n);
 int serie=n;
 while(c<=n)
 {
  printf("%d,",serie);
  serie--; c++;
 }
 getch();
}

 En línea

[www.darvein.net]

Darvein Re: Ejercicios resueltos C++ [programacion


estructurada]
Desconectado « Respuesta #2 en:26 Febrero 2008, 18:42 »

Mensajes: 181
>> VECTORES <<
/*Dado el vector T de tamao n. Si el tamao es par invertir
los elementos de la mitad de los elementos
Ejemplo:   v=[1][2][3][4][5][6]      v(invertido)=[3][2][1]
[6][5][4]
*/
Código:
#include<stdio.h>
#include<conio.h>

void llenar (int V [], int d)


{
 for (int i = 1 ; i <= d ; i++)
 {
  printf ("Inserte pos.[%d]: ",i);
=)   scanf("%d",&V[i]);
 }
}

void mostrar (int V [], int d)


{
 for (int i = 1 ; i <= d ; i++)
 {
  printf ("[%d]",V[i]);
 }
}

void invierte (int V [], int d)


{
 int aux1;
 int fin1 = d / 2;
 for (int i = 1 ; i <= (d / 2) / 2 ; i++)
 {
  aux1 = V [i];
  V [i] = V [fin1];
  V [fin1] = aux1;
  fin1--;
 }

 fin1 = d;
 for (int j = (d / 2) + 1 ; j <= (d / 2) + 1 ; j++)
 {
  aux1 = V [j];
  V [j] = V [fin1];
  V [fin1] = aux1;
  fin1--;
 }
}

int main ()
{
 int V[20];
 int d;
 printf ("Inserte dimen. del vector: ");
scanf("%d",&d);
 llenar (V, d);
 printf ("\nVECTOR ORIGINAL: \n");
 mostrar (V, d);
 printf ("\n\nVECTOR LUEGO DE LA INVERSION: \n");
 invierte (V, d);
 mostrar (V, d);
 getch();
}

/*Dado un polinomio evualuarlo en el punto x (todo en un


vector)*/
Código:
#include <stdio.h>
#include <conio.h>

void llenar (int V[20], int d)


{
 for (int i = 1 ; i <= d ; i++)
 {
  printf ("Inserte pos.[%d]: ",i);
  scanf("%d",&V[i]);
 }
}

void mostrar (int V[20], int d)


{
 for (int i = 1 ; i <= d ; i++)
 {
  printf ("[%d]",V[i]);
 }
}

int potencia (int b, int e)


{
 int p = 1;
 for (int i = 1 ; i <= e ; i++)
 {
  p = p * b;
 }
 return (p);
}

void evalua (int V [], int d, int x)


{
 int s = 0;
 for (int i = 1 ; i <= d ; i += 2)
 {
  s = s + (V [i] * potencia (x, V [i + 1]));
 }
 printf("\n\nX es igual a: %d",s);
}

int main ()
{
 int V[20];
 int d, x;
 printf("Inserte dimen. del vector: ");
 scanf("%d",&d);
 printf ("Inserte valor de (x): ");
 scanf("%d",&x);
 llenar (V, d);
 printf("\nVECTOR: ");
 mostrar (V, d);
 evalua (V, d, x);
 getch();
}

 En línea

[www.darvein.net]

Darvein Re: Ejercicios resueltos C++ [programacion


estructurada]
Desconectado « Respuesta #3 en:26 Febrero 2008, 18:44 »

Mensajes: 181
>> MATRICES <<
Generar la matriz:
    [01][02][03][04]
    [08][07][06][05]
    [09][10][11][12]
Código:
#include<stdio.h>
#include<conio.h>
void llenar (int M[20][20], int f, int c)
{
     int k=1;
     for (int i=1;i<=f;i++)
     {
         if (i%2!=0)
         {
            for (int j=1;j<=c;j++)
            {
               M[i][j]=k; k++;
            }
         }
         else
         {
            for (int j=c;j>=1;j--)
            {
               M[i][j]=k; k++;
            }
         }
     }
}

void mostrar (int M[20][20], int f, int c)


{
  for (int i=1;i<=f;i++)
  {
    printf("\n");  
    for (int j=1;j<=c;j++)
    {
       printf("[%d] ",M[i][j]);
    }
  }
}

int main ()
{
    int f, c;
    int M[20][20];
    printf("Inserte filas de M: "); scanf("%d",&f);
    printf("Inserte cols. de M: "); scanf("%d",&c);
    llenar(M, f, c);
    mostrar(M, f, c);
    getch();
}

Generar la matriz:
    [01][02][03][04]
    [05][06][07][00]
    [08][09][00][00]
    [10][00][00][00]
Código:
#include <stdio.h>
#include <conio.h>
void llenar (int M[20][20], int d)
{
     int cont=1;
     for (int i=1;i<=d;i++)
     {
         for (int j=1;j<=d;j++)
         {
             if ((i+j)<=(d+1))
             {M[i][j]=cont; cont++;}
             else
             M[i][j]=0;
         }
     }
}

void mostrar (int M[20][20], int d)


{
     for (int i=1;i<=d;i++)
     {
         printf("\n");
         for (int j=1;j<=d;j++)
         {
            printf ("[%d] ",M[i][j]);
         }
     }
}

int main ()
{
    int d;
    int M[20][20];
    printf("Insert dimen: "); scanf("%d",&d);
    llenar(M, d);
    mostrar(M, d);
    getch();
}

Dadas dos matrices A y B intercambiar los minimos de A


con los maximos de B
Código:
#include <stdio.h>
#include <conio.h>

void llenar (int M[20][20], int f, int c)


{
 for (int i = 1 ; i <= f ; i++)
 {
  for (int j = 1 ; j <= c ; j++)
  {
   printf ("Inserte pos[%d][%d]: ",i,j);
   scanf("%d",&M[i][j]); 
  }
 }
}
  
void mostrar (int M[20][20], int f, int c)
.::Cuanto mas conocimiento adquieres, más te das cuenta del que
hay a tu alrededor::.

Sonex Re: Ejercicios resueltos C++ [programacion


estructurada]
« Respuesta #8 en:1 Marzo 2008, 15:04 »
Desconectado

Buenisimoo, muchas gracias   


Mensajes: 350

 En línea

Darvein Re: Ejercicios resueltos C++ [programacion


estructurada]
Desconectado « Respuesta #9 en:1 Marzo 2008, 20:42 »

Mensajes: 181 Citar


holas me podrias poner problemas de 
prosesos secuenciales 
if elfe 
while 
switch

Todo lo que mencionas estan en los ejercicos.


Aunque falta el switch, pero ya lo pondre 

=)
 En línea

[www.darvein.net]

Darvein Re: Ejercicios resueltos C++ [programacion


=)
 En línea

[www.darvein.net]

lifeguarda Re: Ejercicios resueltos C++ [programacion estructurada]


« Respuesta #11 en: 23 Septiembre 2008, 22:26 »
Desconect
ado Como me ha dado por aprender c++ y he visto estos ejercicios como
agradecimiento que mejor que compartir el curro que me he dao de
Mensajes: 5 meter estos ejercicios en un archivo con la solución de los ejercicios
detrás... que si no las miramos antes  

http://rapidshare.com/files/147809362/Ejercicios.zip.html

 En línea

star09 Re: Ejercicios resueltos C++ [programacion estructurada]


« Respuesta #12 en: 20 Mayo 2009, 00:45 »
Desconect
ado holas
queria preguntar como queda este programa  en c++ es sobre
Mensajes: 1 funciones por valor y es sobre sacar los numeros primos

 En línea

Myth.ck Re: Ejercicios resueltos C++ [programacion


estructurada]
« Respuesta #13 en: 20 Mayo 2009, 00:47 »
Desconectado

Cual? Dinos el problema y trataremos de solucionarlo  


Mensajes: 305

Algorithmics & C++  En línea


Studient
Un intelectual es un hombre que usa más palabras
de las necesarias para decir más cosas de las que
sabe.

camiloibarr ejercicos de c++


 En línea

Páginas: [1]2   

Ir a:                                                                                                                                         
===> Ejercicios
  

Tema destacado: ¿Cómo iniciarse en la Electrónica?

elotrolado lawebdegoku MundoDivx Hispabyte Truzone


Seguridad
ZonaPhotoshop Yashira.org Videojuegos indetectables.net
Colombia
Seguridad Juegos de Noticias
Indejuegos Internet móvil
Informática Mario Informatica
Seguridad Underground Biblioteca de
ADSL eNYe Sec
Wireless México Seguridad
InSecurity.Ro - Soluciones
ejemplos de El Lado del Mal
ISR Web

Todas las webs afiliadas están libres de publicidad engañosa.

http://foro.elhacker.net/ejercicios/ejercicios_resueltos_c_programacion_estructurada-
t201980.0.html#ixzz1OWikME1A

Cursos para compartir lo que sabes


7.130 cursos gratis
7.359.038 alumnos
   
Identifícate o Regístrate
 Cursos gratis
 Cursos con vídeo
 Certificados universitarios

Busca cursos gratis: 


Estás aquí: mailxmail > Cursos de Informática > Programación > Introducción al Lenguaje C > Ejercicios

Introducción al Lenguaje C
 

Autor: Fernando Guerrero 
Curso:

8,81/10 (467 opiniones) |68373 alumnos|Fecha publicación: 10/05/2004


compártelo 54

Capítulos del curso
 0. Presentación
 1. Introducción
 2. Elementos
 3. Tipos de datos
 4. Tipos de datos (II)
 5. Declaraciones
 6. Operadores
 7. Sentencias
 8. Funciones
 9. Arrays y Cadenas
 10. Punteros
 11. Entrada y Salida
 12. PreProcesador
 13. Librerías
 14. Ejercicios
 15. Ejercicios II

Descargar el curso en PDF


Síguenos en Facebook
Enlaces patrocinados
Revalidação de Diplomas
Decisões Judiciais de Revalidação Automática de Diplomas Estrangeiros
www.viegasdemacedo.com.br

SDL Delphi Components


HiTech components: 3D-plots, math, statistics, FFT, regression, meters
www.lohninger.com

Seminario PMP Bogota


Registered Education Provider acreditados por el PMI®
www.gomezpt.com/

¿No es el curso que buscabas? Aquí tienes más:


 como calcular el area de un circulo
 tipos de macros
 ejemplo de sentencia
 ejercicios con b y v

Capítulo 14:
 Ejercicios
Enlaces patrocinados Revalidação de Diplomas
Decisões Judiciais de Revalidação Automática de Diplomas Estrangeiros
www.viegasdemacedo.com.br

EJERCICIOS

1. Escriba un programa que imprima el mensaje "Primer programa".

/* Primer programa */
#include <stdio.h>
main()
{
printf("Primer programa\n");
}

2. Escriba un programa que lea y escriba un carácter.


/* Leer y escribir un caracter */
#include <stdio.h>
main ()
{
char car;
printf("Escriba un caracter: ");
car=getchar();
printf("\nEl caracter introducido es %c.\n",car);
}

3. Escriba un programa que imprima una lista de amigos guardados


en una agenda (tipo estructura).

/* Lista los campos de una agenda construida en el programa */


#include <stdio.h>
#define N 3
main()
{
struct agenda
{
char nombre[25];
char telefono[10];
int edad;
};
struct agenda
amigos[N]={{"Pepe","913472314",18},{"Juan","915547623",19},
{"Rosa","917456778",21}};
int i;
for (i=0; i<N; ++i)
{
printf("\nAmigo %s\t telefono %s\t edad %d",amigos[i].nombre,
amigos[i].telefono,amigos[i].edad);
}
printf("\n");
}
}

4. Escriba un programa para ver las longitudes y valores máximos y


mínimos en bytes de los tipos básicos de programación en C.

/* Muestra las longitudes en longitudes en bytes


y los valores maximos y minimos de los tipos basicos */
#include <stdio.h>
#include <limits.h>
#include <float.h>
main()
{
char a;
short int b;
int c;
long int d;
unsigned char e;
unsigned short int f;
unsigned int g;
unsigned long int h;
float i;
double j;
long double k;
printf ("Longitud de cada uno de los tipos basicos \n\n");
printf ("La longitud de char a= %d\n",sizeof(a));
printf ("La longitud de short int b= %d\n",sizeof(b));
printf ("La longitud de int c= %d\n",sizeof(c));
printf ("La longitud de long int d= %d\n",sizeof(d));
printf ("La longitud de unsigned char e= %d\n",sizeof(e));
printf ("La longitud de unsigned short int f= %d\n",sizeof(f));
printf ("La longitud de unsigned int g= %d\n",sizeof(g));
printf ("La longitud de unsigned long int h= %d\n",sizeof(h));
printf ("La longitud de float i= %d\n",sizeof(i));
printf ("La longitud de double j= %d\n",sizeof(j));
printf ("La longitud de long double k= %d\n",sizeof(k));
printf("\nValores minimos y maximos de cada uno de los tipos\n\n");
printf ("Minimo y maximo de char a= %d\t\t%d\n",CHAR_MIN,CHAR_MAX);
printf ("Minimo y maximo de short int b=%d\t\t%d\n",SHRT_MIN,SHRT_MAX);
printf ("Minimo y maximo de int c= %d\t\t%d\n",INT_MIN,INT_MAX);
printf ("Minimo y maximo de long int d=%d\t\t%d\n",LONG_MIN,LONG_MAX);
printf ("Maximo de unsigned char e= %d\n",UCHAR_MAX);
printf ("Maximo de unsigned short int f= %d\n",USHRT_MAX);
printf ("Maximo de unsigned int g= %d\n",UINT_MAX);
printf ("Maximo de unsigned long int h= %d\n",ULONG_MAX);
printf ("Minimo y maximo de float i= %d\t\t%d\n",FLT_MIN,FLT_MAX);
printf ("Minimo y maximo de double j= %d\t\t%d\n",DBL_MIN,DBL_MAX);
printf ("Minimo y maximo de long double k=%d\t\t%d\n",LDBL_MIN,LDBL_MAX);
}

5. Escriba un programa que te imprima un mensaje de presentación, te


pregunte como te llamas y te salude.
/* Saludo */
#include <stdio.h>
main()
{
char nombre[20];
printf("Hola, me llamo Ordenador, y tu?\n");
scanf("%s",&nombre[0]);
printf("Me alegro de conocerte %s\n",nombre);
}

6. Escriba el ejercicio de presentación (ejercicio número 5) y que te


salude con nombre y apellidos.

/* Saludo con Nombre y apellido (utilizacion de gets en lugar de scanf) */


#include <stdio.h>
void contestar (char []);
main()
{
char nombre[20];
printf("Hola, me llamo Iagoba, y tu?\n");
gets(nombre);
contestar(nombre);
}
void contestar(char *nombre)
{
printf("Me alegro de conocerte %s\n",nombre);
}

7. Escriba un programa que calcule el área de un triángulo rectángulo,


dada la altura y la base.

/* Area de un triangulo rectangulo */


#include <stdio.h>
main()
{
float altura, base;
double area;
printf("\nBase del triangulo = ");
scanf("%f",&base);
printf("\nAltura del triangulo = ");
scanf("%f",&altura);
area= 0.5 * (double) altura * base;
printf("\nArea = %g\n",area);
}

8.  Escriba un programa que halle el menor de dos números pedidos al


usuario.

/* Calculo del menor de dos numeros dados */


#include <stdio.h>
main()
{
int menor, numero1, numero2;
printf("\nEscriba el primer numero y pulso INTRO: ");
scanf("%d",&numero1);
printf("\nEscriba el segundo numero y pulso INTRO: ");
scanf("%d",&numero2);
if (numero1 < numero2) menor=numero1;
else menor=numero2;
/* la sentencia if-else es equivalente a: menor=numero1<numero2 ? numero1 :
numero2; */
printf("\nEl menor de %d y %d es %d\n",numero1, numero2, menor);
}

 Guindaste e Empilhadeira. Certificação e Recertificação Simuladores LSYm +


equipamento real
www.incatep.com.brEnlaces patrocinados

9. Escriba un programa que pida al usuario un carácter y un número


de repeticiones. Luego imprima el carácter el número de veces especificado.

/* Repetir un caracter un numero de veces */


main()
{
char ch;
int num_rep;
printf("\nEscriba el caracter a repetir: ");
scanf("%c",&ch);
printf("\nEscriba el numero de repeticiones: ");
scanf("%d",&num_rep);
while (num_rep>0)
{
printf("%c",ch);
--num_rep;
}
printf("\n");
}

10. Escriba un programa que imprima una tabla con las cuatro
primeras potencias de los números 1 a 10.

/* Imprime la tabla de las primera 4 potencias del 1 al 10 */


#include <stdio.h>
main()
{
int n;
puts(" numero\t exp2\t exp3\t exp4");
puts("------\t-----\t-----\t-----");
for (n=0; n<=10; ++n)
printf("%2d\t%5d\t%5d\t%5d\n",n,n*n,n*n*n,n*n*n*n);
}

11. Escriba un programa que calcule el factorial de un número.

/* Factorial de un numero */
#include <stdio.h>
main()
{
int i, numero, factorial=1;
printf("\nEscriba un numero entero para calcular su factorial: ");
scanf("%d",&numero);
for (i=numero; i>1; --i) factorial *= i;
printf("\n%d! = %d\n",numero,factorial);
}

12. Escriba un programa que muestre una tabla de conversiones de


temperatura de grados Farenheit a grados Celsius, de 0ºF a 300ºF de 20 en
20ºF.

/* Sistema de temperaturas */
#include <stdio.h>
main()
{
int i;
float c;
for (i=0;i<=300;i+=20)
{
c=(5./9)*(i-32);
printf("%3d grados Farenheit equivalen a %4.4f grados Celsius\n",i,c);
}
}

13. Escriba un programa que muestre la tabla ASCII.

/* Tabla ASCII */
#include <stdio.h>
#define INI 33
#define FIL 15
#define COL 20
main()
{
int k, kk, i;
for (k=1; k<FIL; k++)
{
if (k==1) printf ("\t\t\t\t TABLA ASCII\n\n");
else printf("\n");
for (i=1; i<=COL; i++)
{
kk=INI+(k-1)*COL+i;
if (kk>255) break;
printf(" %c",kk);
}
printf("\n");
for (i=1; i<=COL; i++)
{
kk=INI+(k-1)*COL+i;
if (kk>255) return(1);
if (kk<100) printf(" %d",kk);
}
}
}

14. Escriba un programa que dándole el importe exacto de una


cantidad te indica el mínimo número de monedas que podrías tener. Las
monedas son de 1, 5, 10, 25, 50, 100, 200 y 500 pesetas.

/* Cambio optimo de monedas */


#include <stdio.h>
#define LIM 8
int monedas[LIM]= {500, 200, 100, 50, 25, 10, 5, 1};
main()
{
int num, cantidad, numonedas;
printf ("Introduzca el importe exacto: ");
scanf ("%d", &cantidad);
printf ("El cambio optimo es el siguiente: \n");
for (num=0; num<LIM; num++)
{
numonedas=cantidad/monedas[num];
if (numonedas != 0) printf ("%d de %d.\n", numonedas, monedas[num]);
cantidad= cantidad % monedas[num];
}
}

15. Escriba un programa que ordene un vector (de dimensión máxima


15) por el método de la burbuja.

/* Algoritmo de la burbuja (ordenacion de un vector) */


#include <stdio.h>
#define LIM 15
main ()
{
int i=0, j, tamanyo, aux;
int lista[LIM];printf("Longitud del vector a ordenar ");
scanf ("%d",&tamanyo);
if (tamanyo > LIM)
{
printf("El limite del vector se ha excedido");
printf(", por favor cambie el limite en el codigo\n");
return;
}
while (i<tamanyo)
{
i++;
printf("Numero %d: ",i);
scanf("%d",&lista[i-1]);
}
printf("\n El vector introducido es el siguiente:\n");
for (i=0; i<tamanyo; i++) printf("%d ",lista[i]);
for (i=0; i<tamanyo-1; i++)
{
for (j=i+1; j<tamanyo; j++)
{
if (lista[i] > lista[j])
{
aux=lista[i];
lista[i]=lista[j];
lista[j]=aux;
}
}
}
printf("\n El vector ordenado es el siguiente:\n");
for (i=0; i<tamanyo; i++) printf("%d ",lista[i]);
printf("\n");
}
scanf ("%d",&tamanyo);
if (tamanyo > LIM)
{
printf("El limite del vector se ha excedido");
printf(", por favor cambie el limite en el codigo\n");
return;
}
while (i<tamanyo)
{
i++;
printf("Numero %d: ",i);
scanf("%d",&lista[i-1]);
}
printf("\n El vector introducido es el siguiente:\n");
for (i=0; i<tamanyo; i++) printf("%d ",lista[i]);
for (i=0; i<tamanyo-1; i++)
{
for (j=i+1; j<tamanyo; j++)
{
if (lista[i] > lista[j])
{
aux=lista[i];
lista[i]=lista[j];
lista[j]=aux;
}
}
}
printf("\n El vector ordenado es el siguiente:\n");
for (i=0; i<tamanyo; i++) printf("%d ",lista[i]);
printf("\n");
}
printf("Longitud del vector a ordenar ");
scanf ("%d",&tamanyo);
if (tamanyo > LIM)
{
printf("El limite del vector se ha excedido");
printf(", por favor cambie el limite en el codigo\n");
return;
}
while (i<tamanyo)
{
i++;
printf("Numero %d: ",i);
scanf("%d",&lista[i-1]);
}
printf("\n El vector introducido es el siguiente:\n");
for (i=0; i<tamanyo; i++) printf("%d ",lista[i]);
for (i=0; i<tamanyo-1; i++)
{
for (j=i+1; j<tamanyo; j++)
{
if (lista[i] > lista[j])
{
aux=lista[i];
lista[i]=lista[j];
lista[j]=aux;
}
}
}
printf("\n El vector ordenado es el siguiente:\n");
for (i=0; i<tamanyo; i++) printf("%d ",lista[i]);
printf("\n");
}

16. Escriba un programa que compruebe la diferencia entre una


variable global, una variable local y un argumento de función.

/* Ejemplo de variable global, local y argumento de funcion */


#include <stdio.h>
int vglobal=100; /* Se ve en todo el fichero y debe ir con extern dentro de la
declaracion en las funciones */
void suma1(int x);
void suma2(int x);
main()
{
extern int vglobal;
int vlocal=200;
printf("\nLa variable vglobal en main vale = %d\n", vglobal);
printf("\nLa variable vlocal en main vale = %d\n", vlocal);
suma1(vlocal);
/* En salida no se ha modificado su valor pese a que en suma1 se hagan
operaciones con vlocal (argumento) */
printf("\nLa variable vglobal despues de suma1 vale = %d\n", vglobal);
printf("\nLa variable vlocal despues de suma1 vale = %d\n", vlocal);
suma2(vlocal);
printf("\nLa variable vglobal despues de suma2 vale = %d\n", vglobal);
printf("\nLa variable vlocal despues de suma2 vale = %d\n", vlocal);
}
void suma1(int x)
{
extern int vglobal;
++x;
++vglobal;
printf("\nLa variable vglobal dentro de suma1 vale = %d\n", vglobal);
printf("\nEl argumento (vlocal) dentro de suma1 vale = %d\n", x);
return;
}
void suma2(int x)
{
extern int vglobal;
++x;
++vglobal;
printf("\nLa variable vglobal dentro de suma2 vale = %d\n", vglobal);
printf("\nEl argumento (vlocal) dentro de suma2 vale = %d\n", x);
return;
}

 Seminario PMP Bogota Registered Education Provider acreditados por el PMI®


www.gomezpt.com/Enlaces patrocinados

Capítulo siguiente - Ejercicios II


Capítulo anterior - Librerías
Sobre el curso
Descargar el curso en pdf

Opina sobre este curso (467 opiniones)


Sigue el curso por e-mail
Programas con certificado universitario
Nuestras novedades en tu e-mail
Escribe tu e-mail:
Escribe aqu

Recibir
Al presionar "Recibir" estás dándote de alta y aceptas lascondiciones legales de mailxmail

Cursos similares a Introducción al Lenguaje C

 Vídeo
 Alumnos
 Valoración
 Cursos

Introducción al lenguaje HTML  385


¿Te interesa entrar al mundo de la programación web ? ¡Entonces este curso de...[14/04/11]

Crecimiento personal. El nuevo lenguaje  1.756  


Este taller de crecimiento personal y autoestima te invita a redescubrir el... [28/11/08]

Breve introducción a J.R.R Tolkien  219  


J.R.R Tolkien fue un filólogo y escritor de fantasía épica en lengua inglesa. Desde...[03/06/08]

Recibe nuestras novedades


El blog de mailxmail|¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Publicidad|Condiciones legales de mailxmail
· Intercambia idiomas y conoce gente
· Idiomas en el extranjero
· Profesores particulares
· Busca centros de formación

¿Aún no disfrutas de las ventajas 


de nuestra formación gratuita?
 Regístrate gratis »

You might also like