elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 [7] 8
61  Programación / Ejercicios / Re: Retos C/C++ en: 27 Septiembre 2010, 02:37 am
Bueno.. aqui va uno un tanto sencillo.
Citar
Un número perfecto es un número natural que es igual a la suma de sus divisores propios positivos, sin incluirse él mismo. Dicho de otra forma, un número perfecto es aquel que es amigo de sí mismo.

Así, 6 es un número perfecto, porque sus divisores propios son 1, 2 y 3; y 6 = 1 + 2 + 3. Los siguientes números perfectos son 28, 496 y 8128.
fuente: Wikipedia.

Reto #21: Hacer un programa que imprima en pantalla todos los números perfectos hasta un número N dado como entrada.
62  Programación / Programación C/C++ / Re: Reloj en C en: 26 Septiembre 2010, 19:25 pm
¡Un momento señores! ;D, aclaremos un par de cosas.

Un IDE no es lo mismo que un compilador (aunque en algunos casos estos vengan integrados en un unico programa). El Dev-C++ es "malo" porque hace unos buenos años que no le dan mantenimiento.

A ver, por ejemplo:

  • Declaras main() en vez de int main(). En los compiladores antiguos no te dará error pero en los actuales, y buenos, sí. Recuerda que debe retornar un entero.
  • No sé porque incluyes la librería stdlib. No la necesitas.
  • Utilizas una función de la librería conio sin haber declarado dicha librería.
  • Tampoco sé porque no te da error en la función sleep().

El IDE (Dev-C++) no dice nada porque no fue configurado para hacerlo. Por eso es recomendable pasarle al compilador (gcc) la opcion -Wall la cual nos dara warnings cuando ocurran situaciones como las descritas en la cita.

Para activar esa opción desde el IDE seleccionamos la opción "Herramientas/Opciones del compilador" del menú. En la pestaña "Compilador", seleccionamos la casilla de verificación "Añadir los siguientes comandos al llamar al compilador" y agregamos "-Wall" en su cuadro de edición.

Saludos! :)
63  Foros Generales / Foro Libre / Re: A los programadores. ¿Qué lenguaje se te ha complicado aprender o entender? en: 25 Septiembre 2010, 20:25 pm
En mi caso me costo acostumbrarme a la forma de programación en C luego de haber aprendido a programar usando Pascal. Pienso que como los lenguajes más modernos (Java, C++, PHP, Perl, etc) basan su sintaxis en C seria mucho mejor aprender primero C.
64  Foros Generales / Foro Libre / Re: Lateral thinking................piensas lateralmente ??? en: 25 Septiembre 2010, 04:08 am
Bueno, se me ocurre que los los tres hombres son arqueologos. El primero recibe un brazo momificado para determinar su antiguedad, como no puede hacerlo (por no contar con el equipo adecuado) lo reenvia a un colega suyo. Este tambien no logra hacerlo asi que hace lo mismo y reenvia el brazo momificado a otro colega (el cual es una eminencia y dara la palabra final en el asunto). Este ultimo llega a la conclusion de que el brazo no es humano sino que pertenecio a un simio asi que lo lleva al bosque y lo entierra.

Seria eso pensar lateralmente??? :P
65  Programación / Programación C/C++ / Re: Ayuda con un programa en C++ (parece sencillo pero...) en: 24 Septiembre 2010, 23:03 pm
Bueno amigo, para resolver el ejercicio que te dieron debes fijarte en la relación que hay entre Dividendo, Divisor, Cociente y Residuo:

Dividendo = Cociente*Divisor + Resto (Aqui siempre Resto < Cociente)

Ahora bien, si el resto nos da negativo debemos "positivisarlo"... pero el nuevo resto tambien debe cumplir con la relación anterior:

Dividendo = (Cociente -1)*Divisor + (Divisor + Resto)

Luego tenemos lo siguiente

Nuevo cociente: Cociente -1
Nuevo resto:    Divisor + Resto

El resto es solo cosa de programarlo  ;)

Saludos  :)
66  Foros Generales / Foro Libre / Re: La paradoja de pinocho en: 23 Septiembre 2010, 05:42 am
 ;D ;D ;D ;D ;D ;D ;D ;D ;D
67  Foros Generales / Foro Libre / Re: La paradoja de pinocho en: 23 Septiembre 2010, 03:01 am
A ver, analicemos  :rolleyes::

Regla: La nariz de pinocho crece cuando dice mentiras.

"Mi nariz ahora crecera":

1. Suponiendo que sea cierto, la nariz no le crecerá. Lo cual hace la afirmación falsa, entonces si le crecera la nariz, con lo que estaria diciendo la verdad y la nariz no le crecera, ...

2. Suponiendo que sea falso, la nariz le crecera. Entonces dijo la verdad y no le creció la nariz, osea que mintio, y le crecerá la nariz, ...

Resultado: Pinocho termina hecho leña o consumido por una combustion espontanea.
68  Programación / Ejercicios / Re: Retos C/C++ en: 19 Septiembre 2010, 20:19 pm
Bueno parece que nadie se animo a resolver el reto por lo que aqui va la solución:

Código:
#include <stdio.h>
#include <stdlib.h>

#define anyo_ref  2010
#define diainicio Viernes

enum Dia{ Domingo, Lunes, Martes, Miercoles, Jueves, Viernes, Sabado };
const char *strdia[]={"Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" };

int esbisiesto(int anyo);

int main(void)
{
  int a, anyo, ai=anyo_ref, af, ndias=0, dia1enero;

  scanf("%d",&anyo);

  af = anyo-1;
  if(anyo < anyo_ref)
  {
    ai = anyo;
    af = anyo_ref-1;
  }
  for(a = ai; a <= af; a++)
    ndias += esbisiesto(a)?2:1;

  dia1enero = (diainicio + ((anyo >= anyo_ref)?1:-1) * ndias) %7;
  if(dia1enero < 0)
    dia1enero += 7;

  printf("%s\n",strdia[dia1enero]);
  return 0;
}

int esbisiesto(int anyo)
{
  return (anyo%4) == 0 && ((anyo%100) != 0 || (anyo%400) == 0);
}
69  Programación / Ejercicios / Re: Retos C/C++ en: 14 Septiembre 2010, 03:09 am
Solved  ::)

Código:

#include <stdio.h>
#include <string.h>

#define MAX_TAM_BASE 1000

#define max(a,b) (((a)>(b))?(a):(b))

int main(void)
{
  int N,i,j,maxmax=0,maximos[MAX_TAM_BASE];
 
  scanf("%d",&N);
  memset(maximos,0,sizeof(int)*MAX_TAM_BASE);
  for(i=0;i<N;i++)
  {
    int temp1=0,temp2,piedras;
    for(j=0;j<=i;j++)
    {
      temp2=maximos[j];
      scanf("%d",&piedras);
      maximos[j]=piedras+max(temp1,maximos[j]);
      temp1=temp2;
    }
  }

  for(j=0;j<N;j++)
  {
    if(maximos[j]>maxmax)
      maxmax=maximos[j];
  }
  printf("%d\n",maxmax);
  return 0;
}

Reto #20: Dado un año N (N>=1600), determinar qué día será (o fue) el primero de enero de ese año.

Por ejemplo para una entrada N = 2009, la respuesta seria 'Jueves'.
70  Programación / Ejercicios / Re: Retos C/C++ en: 13 Septiembre 2010, 19:32 pm
disculpame compañero pero me parece que no leiste bien el enunciado del problema :o:

Citar
Calcular el factorial de un número n, 0<=n<=100

El programa que pusiste sólo calcula bien hasta el factorial de 12.

Saludos.

PD: Si gustan pongo la solución y pasamos al reto planteado por Og  :)
Páginas: 1 2 3 4 5 6 [7] 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines