jueves, octubre 29, 2009

Cosas

Hay cosas en la vida que uno necesita...


yo, necesito organizarme~ pero eso es siempre

=)

hard work, here I come!

lunes, octubre 19, 2009

Solucion de los meses

Otra solucioncita... mas elegante que las otras (apuesto)

#include <stdio.h>
void impresora(int mes);
int main(){
int nmes=1;
while(nmes!=0){
printf("Por favor, digite el numero del mes\n\tMes 0 para terminar.\n");
scanf("%d",&nmes);
impresora(nmes);
nmes==0?printf("\b\b\b\b\b\b\b\b\b\bGracias por usar el programa.\n"):printf("\n----------------\nIntente otro mes.\n");
}
system("PAUSE");
return 0;
}

void impresora(int mes){
char* nombremes[]={"Irving es el mejor programador de la universidad entera","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};
switch(mes){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("%s, 31 dias.",nombremes[mes]);
break;
case 4:
case 6:
case 9:
case 11:
printf("%s, 30 dias.",nombremes[mes]);
break;
case 2:
printf("%s, 28 dias (o 29, depende el anio).",nombremes[mes]);
}
return;
}

::Solucion programación::

Solucion completa y funcional del programa de los cuatro numeros que hay que comparar y decir si son iguales o diferentes.

El código fuente pudo ser presentado en este sitio gracias a:
http://formatmysourcecode.blogspot.com/
:-) Uselo cuando consideren!

/*
Programa para determinar estado de igualdad de cuatro numeros.
(C) 2009 Irving AJ Rivas Z
Este programa es software libre: puedes redistribuirlo y/o modificarlo
bajo los términos de la Licencia Pública General GNU como está publicada
por la Fundación de Código Libre, ya sea la versión 3 de la Licencia o
(a su opción) cualquier versión posterior.

Este programa se distribuye con la esperanza de que sea útil,
pero SIN GARANTIA ALGUNAS; sin siquiera la garantía MERCANTIL
implícita o de CONVENIENCIA PARA UN PROPOSITO PARTICULAR. Vea la Licencia
Pública General GNU para más detalles.

Debería haber recibido una copia de la Licencia Pública General junto con
este programa. Si no, vea <http://www.gnu.org/licenses/>.
*/
#include <stdio.h>;
#include <stdlib.h>;
typedef struct numeroygrupo Numeroygrupo;

struct numeroygrupo{
int numero;
int grupo;
char id;
};

void dado(Numeroygrupo a,Numeroygrupo b,Numeroygrupo c,Numeroygrupo d);

int main(){
Numeroygrupo a={0,1,'A'};
Numeroygrupo b={0,2,'B'};
Numeroygrupo c={0,3,'C'};
Numeroygrupo d={0,4,'D'};
int solucion;
printf("Este programa hace una distincion entre los numeros que ud digite.\n");
printf("Digite el primer numero (de ahora en adelante, A)\n");
scanf("%d",&a.numero);
printf("Digite el segundo numero (de ahora en adelante, B)\n");
scanf("%d",&b.numero);
printf("Digite el tercer numero (de ahora en adelante, C)\n");
scanf("%d",&c.numero);
printf("Digite el cuarto numero (de ahora en adelante, D)\n");
scanf("%d",&d.numero);
dado(a,b,c,d);
system("PAUSE");
return 0;
}

void dado(Numeroygrupo a,Numeroygrupo b,Numeroygrupo c,Numeroygrupo d){
int respuesta = 0;

if(a.numero == b.numero){
b.grupo = a.grupo;
}

if(a.numero == c.numero){
c.grupo = a.grupo;
}

if(a.numero == d.numero){
d.grupo = a.grupo;
}

if(b.numero == c.numero){
c.grupo = b.grupo;
}

if(b.numero == d.numero){
d.grupo = b.grupo;
}

if(c.numero == d.numero){
d.grupo = c.grupo;
}
Numeroygrupo Grupo[] = {a,b,c,d};
{//organiza por grupos metodo burbuja
Numeroygrupo Placeholder;
int i,w;
for(w=0;w<2;w++){
for(i=0;i<4;i++){
if(i<3){
if(Grupo[i+1].grupo<Grupo[i].grupo){
Placeholder = Grupo[i];
Grupo[i]=Grupo[i+1];
Grupo[i+1]=Placeholder;
}
}
}
}
}//fin de organizacion metodo burbuja
{//nuevo algoritmo de impresion
//igrupo itera por grupos, ielemento itera por elementos.
int igrupo=1,ielemento,novacio,masdeuno;
//habra un maximo de cuatro grupos.
for(;igrupo<=4;igrupo++){
novacio=0;
masdeuno=0;
printf("{");
for(ielemento=0;ielemento<4;ielemento++){
if(Grupo[ielemento].grupo==igrupo){
printf("%c,",Grupo[ielemento].id);
novacio=1;
masdeuno++;
}
}
if(novacio==1){
printf("\b}");//lo unico q staba n if original
(masdeuno==1)?printf(" es diferente.\n"):printf(" son iguales.\n");
}else printf("\b");
}
}//fin de nuevo algoritmo de impresion
}



Notas: si estas programando en Dev C++, para que este codigo funcione y sea legible, pegalo primero en wordpad, luego pasalo a dev-c++. Tendras que darle tabulacion tu misma.

Por otro lado, si estas bajo linux (con GUI), pegalo en el IDE (casi 100% seguro lo pega bien), o en el editor de texto de tu preferencia.

Si estas bajo linux (sin GUI), no creo que necesites esto, que haces aqui?

Cabildeo

Aquí dejo algunas citas sobre el cabildeo, para quien le interese.

http://es.wikipedia.org/wiki/Cabildeo
http://en.wikipedia.org/wiki/Lobbying

Ideas de cómo implementar algo similar?

Hablando política.

Tras observar por un tiempo las actividades de los Hacktivistas europeos y leer la definición en wikipedia en inglés, odiando la primera oración (y la cita), pero encantado con la segunda, he llegado a la conclusión de que a este país debe llegar algo de la cultura de nuestros hermanos europeos y estadounidenses.
Desobediencia civil organizada, huelgas con sentido, dispersión de información.

Necesitamos software libre, necesitamos política nueva, activistas. Necesitamos a un grupo de personas que tengan una cosa en común: la conciencia de que las cosas en este país andan mal, y de que hay que mejorarlas. En cuanto a cómo mejorarlas, no importa ahora mismo. Lo más importante es juntar a las personas que saben que hay que hacer algo. Luego de ahí, la organización se dará "por ósmosis", como diría el infame Hipólito Mejía. En realidad no sería por ósmosis, pero sería posible.

Las organizaciones existen, cierto. Hay docenas de fundaciones y organizaciones dedicadas a eso... todas regidas por personas con más de 35 años (si alguien conoce alguna que no, por favor, proporcióneme un alivio). El problema no es de discriminación o infravaloracion de las personas mayores de cierta edad. La razón por la que eso está mal es porque la generación joven de hoy no tiene medios o conocimiento o mecanismos para patalear y echar berrinches, y el país lo necesita.

El país necesita jóvenes de carga ligera, que no tienen compromisos con la vida, para hacer lo intrépido y traer el cambio que necesitamos.

En fin: hay que juntarse. Hasta ahora estoy casi seguro que rvidal se sumaría, pero hace falta más gente, hace falta leer periódicos y estar al tanto de los sucesos, discutir qué sucede, por qué sucede y qué hacer.

Hace falta quitarle la audiencia a programas de radio que llenan de basura las mentes de aquellos que les siguen como ovejas. Hace falta, en fin, que en vez de ovejas seamos todos lobos, y que aunque sigamos al líder, no estemos indefensos ante su merced.

jueves, octubre 15, 2009

Tarea Programacion :: Solucion 1


/*
Programa que verifica la relacion comparativa de cuatro valores, señalando cuales son iguales.
*/
int dado(int a,int b,int c,int d);

int main(){
int nu1,nu2,nu3,nu4;
Printf("Digite A\n");
scanf("%d",&nu1);
Printf("Digite B\n");
scanf("%d",&nu2);
Printf("Digite C\n");
scanf("%d",&nu3);
Printf("Digite D\n");
scanf("%d",&nu4);
switch(dado(nu1,nu2,nu3,nu4)){
case 3:printf("A y B son iguales.");break;
case 5:printf("A y C son iguales.");break;
case 9:printf("A y D son iguales.");break;
case 6:printf("B y C son iguales.");break;
case 7:printf("A, B y C son iguales.");break;
case 10:printf("B y D son iguales.");break;
case 11:printf("A, B y D son iguales.");break;
case 14:printf("B, C y D son iguales.");break;
case 15:printf("Todos son iguales.");break;
default:printf("Todos son diferentes");
}
return 0;
}

int dado(int a,b,c,d){
int devuelve=0;
/*1,2,4,8*/
if((a==b)(a==c))(a==d){
devuelve++;
}
if((a==b)(b==c))(b==d){
devuelve+=2;
}
if((c==b)(b==a))(c==d){
devuelve+=4;
}
if((d==b)(d==c))(a==d){
devuelve+=8;
}
return devuelve;
}

domingo, octubre 04, 2009