• Jueves 13 de Marzo de 2025, 18:52

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - shephiroth

Páginas: 1 [2]
26
C/C++ / Re: Numeros Primos.
« en: Miércoles 21 de Enero de 2004, 12:50 »
2000000....vamos a ver, habla de enteros, por eso hice la funcion con int. Si le pongo float problema solucionado. Solo tienes que cambiar la declaracion de la cursiva de
int primoRecursivo(int num)
a
float primoRecursivo(float num)
porque si te diste cuenta primo no lo inicielice ni a int ni a double ni a float.

De todos modos si creeis que recursiva es demasiado, aqui os pongo la funcion sin recursividad:

float primoNoRecursivo(float num)
{
bool primo=true;
bool division;
float y;
for (num++;primo;num++)
{
division=true;
for (y=2;y*y<=num && division;y++)
     if (num%y==0) division=false;
if (division) primo=false;
}
return num;
}

Vaya, casi mas pequeña que la recursiva.
Creeis vosotros que "alguien que empieza" entiende mejor esto que la recursiva?? Sinceramente, yo creo que este codigo es más rebuscado y menos claro. Mas preciso, más rápido, mas "economico" debido a no ser recursiva y todo lo que querais, pero weno.

En esta si puse float, no me vayan a salir con las mismas (y si me sales con las mismas con el tope de float, hazlo con un vector de numeros (cada posicion un solo digito) a ver si asi te gusta mas, que ahi no tienes limite pq el vector lo puedes hacer cuan largo quieras).

27
C/C++ / Re: Numeros Primos.
« en: Lunes 19 de Enero de 2004, 21:32 »
buenas. Peazo codigos grandes que poneis. Aqui te pongo una funcion recursiva pequeñita que devuelve el proximo numero primo. Es decir, tu le pasas un numero (sobreentiende que es primo) y te muestra el siguiente.

int primoRecursivo(int num)
{
num++;
bool primo=true;
for (y=2;y*y<=num && primo;y++)
     if (num%y==0) primo=false;
if (primo)
     return num;
else
     return primoRecursivo(num);
}

Si ahora, lo que quieres es mostrar x numeros primos con un simple bucle

primo=1;
for (z=0;z<x;z++)
{
primo=primoRecursivo(primo);
printf("Numero primo numero "+(z+1)+"es "+primo+"\n");
}

como veis este codigo es mucho mas reducido. Eso si, hay q entender recursivas xDD

EDITADO: la primera condicional de la recursiva tiene q ser <=, sino los numeros cuadrados (4,9,16,25...) los daría como primos xDD

28
C/C++ / Un Tema Peliagudo (visual C++ .net)
« en: Lunes 19 de Enero de 2004, 15:25 »
Buenas. Estoy con un trabajo personal y me gustarían me orientasen que camino he de tratar para conectar dos programas por medio de sockets. Nunca los he usado y me gustaría me dieran un poco de su tiempo. Librerias necesarias, primeros pasos, algunos ejemplos, paginas donde traten el tema (a poder ser en español), etc...cualquier cosilla por pequeña que sea me será de ayuda


GRACIAS.

29
Retos / Re: Division Sílabica
« en: Lunes 19 de Enero de 2004, 09:09 »
Buenas. Soy nuevo y recien comenzaré con este reto. El de los gatos tambien me ha impactado, y me pondré con él despues puesto que ya esta cerrado y este aun esta abierto.

Y para empezar aportaré mi granito de arena sobre dos cuestiones que se han empleado:

1) Convertir todo a minusculas: El trabajo te pide que al final visualices la palabra separada tal como la escribieron, pero internamente puedes transformar la cadena recibida a minusculas, trabajar con ella, y a la hora de la separación usar la primera.

2) El tema de Subl...para saber si hay que separar estas has de ir a las siguientes consonantes. Me explico "sublingual", para saber si hay que separarla te tienes que ir a las siguientes consotantes, en este caso "ng" y ver como las separas. En ese caso tienes que cortar las silabas, es decir, quedaría "Sublin-gual". Ahora nos fijamos como queda lo que seríala segunda silaba. Si termina en consonante la "bl" se separa, mientras que si termina en vocal permanecerán unidas. Demomento todas las q he probado siguiendo el mecanismo explicado funciona. Eso si, comprobado de cabeza, que aun no empecé a programarlo xDD

SALUDOS.

EDITADO:
Corrijo, si termina en vocal devil "e-i" no se rompe, si termina en vocal fuerte se rompe.

Páginas: 1 [2]