Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - h0oke

#661
Los he descargado. Recomendado al 100%
#662
Ejercicios / Re: Ejercicios con arrays
5 Junio 2009, 20:18 PM
Cita de: Eliptico en  5 Junio 2009, 06:01 AM

y recursiva:

int mcdEuclides(int a,int b)
{
   int aux;

   if(a<0)
       a*=-1;
   if(b<0)
       b*=-1;
   if(a<b)
   {
       aux=a;
       a=b;
       b=aux;
   }

   if(b==0)
       return a;

   return mcdEuclides(b,a%b);
}



;) Muchas gracias Eliptico.
#663
Scripting / Re: Funcion isprime() [Python]
5 Junio 2009, 04:20 AM
Al parecer leyendo algo de código, el mio quedaría algo asi:

Código (python) [Seleccionar]
def EsPrimo(x):
     e=FALSE
     PD=2
     while PD<=x//2 and  x%PD!=0:
          PD=PD+1
     if PD>x//2 and x!=1:
          e=TRUE
     return e
#664
Scripting / Re: Funcion isprime() [Python]
5 Junio 2009, 04:01 AM
Mmm

aver te dejo esta función para que la compares, es c++ pero puedes adaptarla ya que no se python...

bool EsPrimo(int x)
{
     int PD=2;
     while((PD <= X/2)&&(X%PD!= 0)//*
     {
           PD++;
     }
     if((PD > X/2)&&(X!=1)){return 1;}//*
}


*X/2 tiene que ser división ENTERA.
#665
Ejercicios / Re: Ejercicios con arrays
5 Junio 2009, 01:30 AM
Ejemplo: Se posee la lista LIB, conteniendo M números de documento
correspondientes a alumnos libres en una materia un determinado año. Se desea
ingresar N documentos de alumnos que cursarán la misma materia al siguiente año, creando la lista ACT, previa eliminación de ese elemento en LIB si se trata de un alumno libre el año anterior. Mostrar la lista ACT y la lista LIB si es que se redujo.


Código (cpp) [Seleccionar]
#include <iostream>

int ACT[100];
int LIB[10]={1,2,3,10,9,8,7,4,5,6};//Llenamos nuestro vector con cualquier doc
int i,j,k,l,N,MAX;
bool f_ELIM;

using namespace std;



int main()
{
    int MAX=10;
int k=0;
f_ELIM=0;
cout<<"Ingrese N:"<<endl;
cin>>N;
for(i=1;i<=N;i++)
{
cout<<"Ingrese documentos:"<<endl;
cin>>ACT[i];
j=1;
while(j<=MAX)
{
if(ACT[i]==LIB[j])
{
for(l=1;l<=MAX-1;l++)
{
LIB[l]=LIB[l+1];
}
MAX=MAX-1;
f_ELIM=1;
j=MAX++;
}
else
{
j++;
}
}
}
cout<<"Lista ACT"<<endl;
for(i=1;i<=N;i++)
{
cout<<ACT[i]<<",";
}
cout<<"Lista LIB"<<endl;
if(f_ELIM=1)
{
for(i=1;i<=MAX;i++)
{
cout<<LIB[i]<<",";
}
}
else
{
cout<<"None"<<endl;
}
system ("PAUSE");
return 0;
}

#666
Ejercicios / Re: Ejercicios con arrays
5 Junio 2009, 01:26 AM
Algoritmo de Euclides para buscar el MCD entre dos números enteros.

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

int mcd(int ,int );

int a;
int b;

int main()
{
    cout<< "Introduce primer numero" << endl;
    cin>>a;
    cout<<"Introduce segundo numero"<<endl;
    cin>>b;
    cout<<"MCD de "<<a<<" y "<<b<<" es: "<<mcd(a,b)<<endl;
    system("PAUSE");
    return 0;
}

int mcd(int a, int b)
{
   int r[1000]; //Reservamos 1000 espacios para el Array que va a guardar los restos sucesivos
   for(int i = 0; i < 1000; i++) //Inicializamos los valores a 0
   {
      r[i]=0;
   }
   int i = 1;
   r[0] = a; //Damos al resto r[0] el valor de a
   r[1] = b; //Damos al resto r[1] el valor de b
   while(r[i] != 0) //Vamos calculando los restos hasta llegar al mcd
   {
      r[i+1] = r[i-1] % r[i];
      i++;
   }
   int mcd = r[i-1]; //Damos el valor d r[i-1] al mcd
   return mcd; //Se retorna el mcd
}
#667
Ejercicios / Re: Ejercicios con arrays
5 Junio 2009, 01:20 AM
Pues la verdad que si lo veo mas sencillo. Muchas gracias ghastlyX. Sinceramente por el momento yo estoy trabajando con lo más sencillo posible, pero por supuesto tus códigos son mucho más eficientes.

Un saludo! Dentro de un rato estaré subiendo otros  ;)
#668
Ejercicios / Re: Ejercicios con arrays
5 Junio 2009, 00:39 AM
Una resolución del ejercicio anterior por un forero fue esta:

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>

bool Valores[12][3];
unsigned char Secuencia[100];
int longitud_secuencia = 0;
int opcion = 1;

void meter_carta(const unsigned char valor)
{
    if(!Valores[valor][0])
    {
        Valores[valor][0] = true;
    }
    else if(!Valores[valor][1])
    {
        Valores[valor][1] = true;
    }
    else if(!Valores[valor][2])
    {
        Valores[valor][2] = true;
    }

    Secuencia[longitud_secuencia] = valor;
    longitud_secuencia++;
}

int buscar_equivalencias(const unsigned char valor)
{
    for(int i = 0; i <= 2; i++)
    {
        if(!Valores[valor][i])
        {
            return i;
        }
    }

    return 3;
}

int main()
{
    while(opcion)
    {
        std::cout << "Ingrese una carta: ";
        std::cin >> opcion;

        // Añadir la carta
        meter_carta(opcion);
        if(buscar_equivalencias(opcion) == 3) // Si hay 3 cartas iguales
        {
            std::cout << "Encontradas tres cartas iguales [" << int(opcion) << "]" << std::endl;
            std::cout << "La secuencia de cartas [" << longitud_secuencia << "] añadidas es la siguiente: " << std::endl;

            for(int it = 0; Secuencia[it]; it++)
            {
                std::cout << int(Secuencia[it]) << std::endl;

            }

            return 1;
        }
    }

    system("PAUSE");
    return 0;
}
#669
Ejercicios / Ejercicios con arrays
5 Junio 2009, 00:38 AM
Ejercicio: Se posee un mazo de cartas españolas sin comodines, de dicho mazo sacar 1 carta a la vez, hasta obtener 3 números iguales sin importar el palo, indicar la secuencia de cartas obtenidas y la cantidad de cartas ingresadas sobre el proceso.

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

int mi_mazo[100],secuencia[100];

int main()
{
bool e=0;
int i=0;
int j,k,AUX,n;
while(!e)
{
i++;
cout<<"Ingrese carta: "<<endl;
cin>>mi_mazo[i];
secuencia[i]=mi_mazo[i];
n=i;
for(j=2;j<=n;j++)
{
AUX=mi_mazo[j];
mi_mazo[0]=AUX;
k=j-1;
while(AUX<mi_mazo[k])
{
mi_mazo[k+1]=mi_mazo[k];
k--;
}
mi_mazo[k+1]=AUX;
}
for(j=1;j<=n;j++)
{
if((mi_mazo[j]==mi_mazo[j+1])&&(mi_mazo[j]==mi_mazo[j+2]))
{
e=1;
}
}
}
cout<<"Cantidad de cartas"<<endl;
cout<<"Secuencia"<<endl;
for(i=1;i<=n;i++)
{
   cout<<secuencia[i]<<",";
}
system("PAUSE");
return 1;
}



#670
Busca por el foro de "scripting". Los expertos te ayudaran un poco más. Mientras ve buscando que seguramente encontrarás. Hace poco postearon un script de propagación por red.

Salu2!