› Foros › PC › Software libre
OBJ = obj
SRC = src
INCLUDE = include
LIB = lib
BIN = bin
pascal: pascal.o libtriangulo.a
g++ -o $(BIN)/pascal $(OBJ)/pascal.o $(LIB)/libtriangulo.a
@echo Construido el ejecutable ...
pascal.o:pascal.cpp
g++ -c -o $(OBJ)/pascal.o $(SRC)/pascal.cpp
libtriangulo.a: triangulo.o
ar -rvs $(LIB)/libtriangulo.a $(OBJ)/triangulo.o
@echo Construida la libreria ...
triangulo.o: triangulo.cpp
g++ -c -o $(OBJ)/triangulo.o $(SRC)/triangulo.cpp -I$(INCLUDE)
@echo Construido fichero objeto triangulo.o ...
#include
#include "triangulo.h"
#include "graficos.h"
using namespace std;
using namespace graficos;
void unos(Triangulo &tri);
void rellenar(Triangulo &tri);
void espacios(const int n);
void dibujar(const Triangulo &tri);
int main(){
int num_filas,z,y,cont=0;
Triangulo tri;
filas *fil;
datos *dat;
bool band;
Inicializar(tri);
do{
cout<<"Introduzca el numero de filas que desea que contenga el triangulo de pascal:";
cin>>num_filas;
}while(num_filas<=0);
while(contNuevaFila(tri);
cont++;
}
rellenar(tri);
//dibujar(tri);
CrearVentana(800,600,"Ejemplo Dibujo");
}
void unos(Triangulo &tri){
for(int i=1;i<=NumeroFilas(tri);i++)
SetElemento(tri,i,1,1);
for(int i=1;i<=NumeroFilas(tri);i++)
SetElemento(tri,i,i,1);
}
void rellenar(Triangulo &tri){
int cont=2;
unos(tri);
for(int i=3;i<=NumeroFilas(tri);i++){
while(cont SetElemento(tri,i,cont,GetElemento(tri,i-1,cont-1)+GetElemento(tri,i-1,cont));
cont++;
}
cont=2;
}
}
void espacios(const int n){
for(int i=0;icout<<" ";
}
void dibujar(const Triangulo &tri){
int filas=1,columnas=1,aux=0,aux2=1;
bool band=true;
while(filas<=NumeroFilas(tri)){
espacios(NumeroFilas(tri)- NumeroColumnas(tri,filas));
while(columnas<=(NumeroColumnas(tri,filas)+aux) && filas<=NumeroFilas(tri)){
if(band==true){
cout<aux2++;
columnas++;
band=false;
}
else{
cout<<" ";
band=true;
columnas++;
}
}
aux2=1;
filas++;
band=true;
columnas=1;
aux++;
cout<}
}