martes, 18 de junio de 2013

Ordena los valores de un arreglo en orden ascendente

// Este programa ordena los valores de un arreglo en orden ascendente
#include <iostream>

using std::cout;
using std::endl;

#include <iomanip>

using std::setw;

int main()
{
const int tamanoArreglo = 10;
int a[ tamanoArreglo ] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
int mantiene;

cout << "Elementos de datos en el orden original \n";

// despliega el arreglo original
for ( int i = 0; i < tamanoArreglo ; i++ )
cout << setw( 4 ) << a[i];

//ordenamiento burbuja
// ciclo para controlar el numero de pasadas
for ( int pasada = 0; pasada < tamanoArreglo - 1 ; pasada++ )

//ciclo para controlar el numero de comparaciones por pasada
for ( int j = 0; j < tamanoArreglo - 1 ; j++ )

//compara los elementos contiguos y los intercambia si
//el primer elemento es mayor que el segundo
if ( a[j] > a[ j + 1 ] )
{
mantiene = a[j];
a[j] = a[j+1];
a[j+1] = mantiene;
}

cout << "\nElementos de datos en orden ascendente\n";

//muestra el arreglo ordenado
for ( int k = 0; k < tamanoArreglo ; k++ )
cout << setw( 4 ) << a[k];

cout << endl;

system("PAUSE");
return 0;
}

Paso de arreglos y de elementos individuales de arreglos a funciones

// Paso de arreglos y de elementos individuales
// de arreglos a funciones.

#include <iostream>

using std::cout;
using std::endl;

#include <iomanip>

using std::setw;

void modificaArreglo(int [], int);
void modificaElemento( int );

int main()
{
const int tamanoArreglo = 5;
int a[ tamanoArreglo ] = { 0, 1, 2, 3, 4 }; //inicializa a

cout << "Efectos de pasar el arreglo completo por referencia: "
<< "\n\nLos valores del arreglo original son: \n";

// despliega el arreglo original
for( int i = 0 ; i < tamanoArreglo ; i++ )
cout << setw( 3 ) << a[i];

cout << endl;

// pasa el arreglo a hacia modificaArreglo por referencia
modificaArreglo( a, tamanoArreglo );

cout << "Los valores del arreglo modificado son: \n";

// despliega el arreglo modificado
for( int j = 0; j < tamanoArreglo ; j++ )
cout << setw( 3 ) << a[j];

// despliega el valor de a[3]

cout << "\n\n\n"
<< "Efectos de pasar un elemento del arreglo por valor:"
<< "\n\nEl valor de a[3] es " << a[3] << '\n';

// pasa el elemento a[3] del arreglo por valor
modificaElemento( a[3] );

// muestra el valor de a[3]

cout << "El valor de a[3] es " << a[3] << endl;

system("PAUSE");
return 0; // indica terminacion exitosa

}//fin de main

// en la funcion modificaArreglo, "b" apunta hacia
// el arreglo original "a" en memoria.

void modificaArreglo( int b[], int tamanoDelArreglo )
{
// multiplica cada elemento del arreglo por 2
for(int k = 0 ; k < tamanoDelArreglo ; k++ )
b[k] *= 2;
}// fin de la funcion modificaArreglo

// en la funcion modificaElemento, "e" es una copia local del
// elemento a[3] del arreglo que se pasa desde main

void modificaElemento( int e )
{
// multiplica parametros por 2
cout << "Valor en modificaElemento es "
<< ( e *= 2 ) << endl;
}// fin de la funcion modificaElemento

Programa que lee archivos y los muestra en la pantalla

// DAP: Un programa que lee archivos y los muestra
// en la pantalla.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
FILE *fp;
char car;

if(argc != 2)
{
printf("Has olvidado introducir el nombre del archivo. \n");
exit(1);
}

if((fp = fopen(argv[1], "r")) == NULL)
{
printf("No se puede abrir el archivo. \n");
exit(1);
}

car = getc(fp); // lee un caracter

while (car != EOF)
{
putchar(car); //lo muestra en pantalla
car = getc(fp);
}

fclose(fp);

system("PAUSE");
return 0;
}

Un programa que guarda texto en disco

// TAD: Un programa que guarda texto en disco.

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char *argv[])
{
FILE *fp;
char car;

if(argc != 2)
{
printf("Has olvidado introducir el nombre del archivo. \n");
exit(1);
}

if((fp = fopen(argv[1], "w")) == NULL)
{
printf("No se puede abrir el archivo. \n");
exit(1);
}

do
{
car = getchar();
putc(car, fp);
}while (car != 'f');

fclose(fp);

system("PAUSE");
return 0;
}//fin de main

lunes, 17 de junio de 2013

Leer un caracter del teclado y comprobar si es una letra

//Leer un caracter del teclado y comprobar si es una letra

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main()
{
char inicial;

printf("Cual es su primer caracter inicial ?:  ");
scanf("%c", &inicial);
if(!isalpha(inicial))
puts("Caracter no alfabético ");

puts("Terminado");
puts("\n");
system("PAUSE");
return 0;
}

Calculo de los numeros de Fibonacci

// Calculo de los numeros de Fibonacci

#include <stdio.h>
#include <stdlib.h>

long int fibonacci(void);

int main()
{
int n,i;
printf("\nCuantos numeros de fibonacci ?:  ");
scanf("%d", &n);
printf("\nSecuencia de fibonacci: 0,1");
for ( i = 2; i < n; i++ )
printf(", %ld", fibonacci());

printf("\n");
    system("PAUSE");
return 0;
}//fin main

long int fibonacci(void)
{
static int x = 0;
static int y = 1;
y = y + x;
x = y - x;
return y;
}

Funcion que devuelve mayor de dos enteros

// La funcion max devuelve el numero mayor de dos enteros

#include <stdio.h>
#include <stdlib.h>

int max(int x, int y)
{
if (x < y)
return y;
else
return x;
}//final de max

int main()
{
int m, n;

printf("Introduzca dos numeros enteros: ");
scanf("%d %d", &m,&n);
printf("Maximo de %d y %d es %d\n", m,n,max(m, n));



system("PAUSE");
return 0; //terminacion exitosa
}//fin de main

Suma de los 10 primeros numeros pares

// Suma de los 10 primeros numeros pares

#include <stdio.h>
#include <stdlib.h>

int main()
{
int suma = 0;
int n;
for(n = 1; n <= 10; n++)
suma += 2*n;

printf("La suma de los 10 primeros numeros pares: %d\n", suma);

system("PAUSE");
return 0; //terminacion exitosa
}//fin de main

Calculo de la media de seis numeros

// Calculo de la media de seis numeros

#include <stdio.h>
#include <stdlib.h>

int main()
{
const int TotalNum = 6;
int ContadorNum = 0;
float SumaNum = 0;
float media;
float numero;

printf("Introduzca %d numeros\n", TotalNum);

while(ContadorNum < TotalNum)
{

scanf("%f", &numero);
SumaNum += numero;
++ContadorNum;
}// fin de while

media = SumaNum/ContadorNum;
printf("Media: %.2f \n", media);

system("PAUSE");
return 0; //terminacion exitosa
}// fin de main

Calculo de calorias

/* El programa realiza un calculo de calorías */

#include <stdio.h>
#include <stdlib.h>

int main()
{
int num_de_elementos, cuenta, calorias_por_alimento, calorias_total;

printf(" Cuantos alimentos ha comido hoy ? ");
scanf("%d", &num_de_elementos);

calorias_total = 0;
cuenta = 1;

printf("Introducir el numero de calorias de cada uno de los ");
printf("%d", num_de_elementos,"alimentos tomados: \n");

while(cuenta++ <= num_de_elementos)
{
scanf("%d", &calorias_por_alimento);
calorias_total += calorias_por_alimento;
}//fin while

printf("Las calorias totales consumidas hoy son = ");
printf(" %d \n", calorias_total);

system("PAUSE");
return 0; //terminacion exitosa
}// fin de main