JCeb's Blog

Programación, investigación, proyectos, vida y mas…

Posts Tagged ‘C++

If corto en python

with 3 comments

Seguramente si programaron en C utilizaron el if corto, ¿cual es ese?, bueno es esto:

saludo = lang=='es' ? 'HOLA' : 'HI'

Lo anterior es equivalente a:

saludo = ''
if(lang=='es'){
    saludo = 'HOLA'
}
else{
    saludo = 'HI'
}

Bueno en python existe un if corto igualmente, solo que un poquito diferente:

saludo = 'HOLA' if lang=='es' else 'HI'

Lo anterior equivale a:

saludo = ''
if lang=='es':
    saludo = 'HOLA'
else:
    saludo = 'HI'

Written by JCeb

6 junio, 2011 at 11:35 pm

Publicado en Uncategorized

Tagged with , , , ,

Matriz en espiral con C++

with one comment

Hola, publico está entrada con un ejercicio de programación que alguna vez me salió en un concurso de programación, en el que por cierto no me fue muy bien, bueno aquí les dejo mi clase en C++ para que les sea util, hasta la proxima entrada.

espiral1

#include
using namespace std;
class Espiral{
private:
int rastro;
int cPasos;
int nPasos;
int longitud;
int posicion[2];
int pasosH, pasosV;
int nFilas, nColumnas;
int matriz[999][999];
int direccion;
const static int ESTE=0;
const static int SUR=1;
const static int OESTE=2;
const static int NORTE=3;
public:
Espiral();
void setMatriz();
int getLongitud();
void makeEspiral();
void pedirDatos();
void movEste();
void movSur();
void movOeste();
void movNorte();
void cambiarDireccion(int nuevaDireccion);
void imprimir(int x);
void imprimirMatriz();
};
Espiral::Espiral(){
rastro=0;
posicion[0]=0;
posicion[1]=-1;
pasosH=0;
pasosV=0;
nFilas=0;
nColumnas=0;
direccion=0;
}
void Espiral::pedirDatos(){
cout<>nFilas;
cout<<"Numero de columnas:"<>nColumnas;
return;
}
void Espiral::setMatriz(){
matriz[nFilas][nColumnas];
for(int i=0;i<nFilas;i++){
for(int j=0;j<nColumnas;j++){
matriz[i][j]=0;
}
}
return;
}
int Espiral::getLongitud(){
return (longitud=nFilas*nColumnas);
}
void Espiral::makeEspiral(){
pasosH=nColumnas;
pasosV=nFilas-1;
cout<<"nMatriz de:"<<nFilas<<"X"<<nColumnas<<", ";
cout<<getLongitud()<<" elementosn"<<endl;
while(rastro < getLongitud()){
switch(direccion){
case ESTE:
movEste();
cambiarDireccion(SUR);
break;
case SUR:
movSur();
cambiarDireccion(OESTE);
break;
case OESTE:
movOeste();
cambiarDireccion(NORTE);
break;
case NORTE:
movNorte();
cambiarDireccion(ESTE);
break;
}
}
return;
}
void Espiral::movEste(){
cPasos=0;
nPasos=pasosH;
for(cPasos;cPasos<nPasos;cPasos++){
posicion[1]++;
matriz[posicion[0]][posicion[1]]=rastro;
rastro++;
}
pasosH–;
return;
}
void Espiral::movSur(){
cPasos=0;
nPasos=pasosV;
for(cPasos;cPasos<nPasos;cPasos++){
posicion[0]++;
matriz[posicion[0]][posicion[1]]=rastro;
rastro++;
}
pasosV–;
return;
}
void Espiral::movOeste(){
cPasos=0;
nPasos=pasosH;
for(cPasos;cPasos<nPasos;cPasos++){
posicion[1]–;
matriz[posicion[0]][posicion[1]]=rastro;
rastro++;
}
pasosH–;
return;
}
void Espiral::movNorte(){
cPasos=0;
nPasos=pasosV;
for(cPasos;cPasos<nPasos;cPasos++){
posicion[0]–;
matriz[posicion[0]][posicion[1]]=rastro;
rastro++;
}
pasosV–;
return;
}
void Espiral::cambiarDireccion(int nuevoCurso){
direccion=nuevoCurso;
}
void Espiral::imprimir(int x){
if(x<10)
cout<<" 00"<<x;
else if(x<100)
cout<<" 0"<<x;
else
cout<<" "<<x;
}
void Espiral::imprimirMatriz(){
for(int i=0;i<nFilas;i++){
for(int j=0;j<nColumnas;j++){
imprimir(matriz[i][j]);
}
cout<<endl;
}
}
int main(){
Espiral e;
e.pedirDatos();
e.setMatriz();
e.makeEspiral();
e.imprimirMatriz();
return 0;
}

Written by JCeb

15 enero, 2009 at 3:08 pm

Introducción a POO con C++

with 4 comments

Hola amigos, bueno hoy publico esta entrada con algo interesante para quienes estan aprendiendo al igual que yo, bueno sucede que hace tiempo que empiezo a aprender qt y lo dejo, bueno, ahora que tuve tiempo estuvie jugando un poco y despues de checar pyqt4 tomé mi libro “C++ para ingeniería y ciencias” y estuve leyendo sobre c++ que no lo domine muy bien es el tiempo que me tocó aprenderlo, me decidi leer el capitulo de programación orientada a objetos que tiene ese libro y vaya, al fin entiendo como funciona c++ en POO, así que he decidido ponerles aquí un ejemplo con explicación sin rollos, espero y les sirva:

Bueno primero que nada crearemos dos archivos, uno llamado clase.cpp y otro llamado imp.cpp, comenzaremos haciendo el clase.cpp que tendrá todas las variables y los metodos que necesitaremos, el contenido del archivo es el siguiente:

#include <iostream>
#include <string>
using namespace std;
class Clase{
private://Aquí se declaran las variables y metodos que querramos sean //privados, es decir que solo se lean por metodos al alcance de las variables. Lee el resto de esta entrada »

Written by JCeb

13 enero, 2009 at 9:14 pm