Archive from abril, 2010
abr 12, 2010 - c++    Agregar Comentario

Cuadrado Mágico y Triangulo Pascal en C++

Anteriormente publique las funciones por separado, ahora el código completo de este proyecto (excluida la información personal del autor:D):

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

//Función para obtener el factorial que dividirá el resultado de la multiplicación del nivel actual
int factorial(int factor)
{
int factorizado=1;
for (int h=1; h<=factor; h++)
{
factorizado=factorizado*h;
}
return factorizado;
}
//Fin Función Factorial

//Función calcular el triangulo
void triangulo(){
int nivel,niveltotal,nactual,vactual,i,j, factoractual,salida;
clrscr();
cout<<”TRIANGULO DE PASCAL \n”;
cout<<”QUE NIVEL DESEA PARA EL TRIANGULO: “;
cin>>niveltotal;
for (nactual=1; nactual<=niveltotal; nactual++)
{
nivel=nactual;
cout<<” 1  “;
for (i=1; i<nivel; i++)
{
vactual=nivel;
for(j=1; j<i; j++)
{
vactual=vactual*(nivel-j);
}

Leer más »

abr 12, 2010 - c++    Agregar Comentario

Código Fuente Triangulo Pascal

Pues esta es la parte casi final del proyecto, el triangulo de pascal la solución está basada exactamente en el teorema del binomio y precisamente hace uso de la función factorial mencionada en un post anterior.

void triangulo(){
int nivel,niveltotal,nactual,vactual,i,j, factoractual,salida;
clrscr();
cout<<”TRIANGULO DE PASCAL \n”;
cout<<”QUE NIVEL DESEA PARA EL TRIANGULO: “;
cin>>niveltotal;
for (nactual=1; nactual<=niveltotal; nactual++)
{

Leer más »

abr 12, 2010 - c++    Agregar Comentario

Código Fuente Cuadro Mágico

Cómo seguramente lo imaginan, este es un típico trabajo de la U, aunque el requerimiento era hacerlo sin usar vectores bidimensionales (matrices) , seguramente usando http://es.wikipedia.org/wiki/Cuadrado_m%C3%A1gico esa lógica, aunque no lo crean hasta este momento encontré ese enlace puesto que antes hice la búsqueda como cuadro mágico y los resultados eran totalmente diferentes a buscar con “cuadrado mágico”, pero bueno, dejo la solución que funciona igual de bien, aunque en nuestro caso la idea era aplicar conceptos matemáticos, no tanto de búsqueda :D

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

//Función dibujar Cuadro o Cuadrado Mágico
void cuadro(){
clrscr();
int nivel, x,y;
int valores[100][100];
//Inicializando la matriz en NULL
for (x=0; x<=99; x++)
{
for (y=0; y<=99; y++)
{
valores[x][y]=NULL;
}
}

cout<<”*********DIBUJAR CUADRO**********\n”;
cout<<”QUE NIVEL DESEA PARA EL CUADRO: “;
cin>>nivel;
//Inicia el proceso de llenado
for (x=0; x<nivel; x++)
{
valores[x][0]=x+1;
}
for (y=1; y<nivel; y++)
{
valores[0][y]=y+1;
}
//Cálculos para valores dependientes del nivel
for (y=1; y<nivel; y++)
{
for (x=1; x<nivel; x++)
{
valores[x][y]=valores[x][y-1]+valores[x-1][y];
}
}

//Mostrando el contenido de la matriz
for (y=0; y<nivel; y++)
{
for (x=0; x<nivel; x++)
{
if(valores[x][y]>9){
cout<<valores[x][y]<<”     “;
}
else cout<<valores[x][y]<<”      “;
}
cout<<”\n”;
}
getch();
}
//Fin función dibujar cuadro

//Función principal main
void main()
{
cuadro();
}

abr 12, 2010 - c++    1 Comentario

Código Fuente Factorial en C++

Para algunos será una broma que yo publique esta función, pero creo que existe más de uno al que le interesará y podrá interpretar mejor el uso de funciones en programas más complejos.

Cómo todo programa en C, incluimos las librerías

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

/* Función para obtener el factorial, se define como INT ya que dicha función retornará un valor de ese tipo, así como se puede apreciar que se definió un parámetro del mismo tipo, que será el número que se quiera obtener el factorial y basados en el límite máximo de 32767 que tiene este tipo de variable, será el máximo que podrá manejar nuestra función. */

int factorial(int factor)
{
//Se declara e inicializa la variable que almacenará el valor del factorial, para evitar residuos de memoria que puedan alterar el resultado final, créanme, pasa muy frecuentemente y de hecho con este programa me sucedió por eso decidí inicializarlo.

int factorizado=1;
for (int h=1; h<=factor; h++)
{
factorizado=factorizado*h;
}
return factorizado;
}
//Fin Función Factorial

//Main principal
void main()
{
int numero,resultado;
clrscr();
cout<<”NUMERO A CALCULAR EL FACTORIAL”;
cin>>numero;
resultado=factorial(numero);
cout<<”El factorial de “<<<” es: “<
getch();
}

Compilado con Borland C++ 5.02