Anim-Arte  


Retroceder   Anim-Arte > Aficiones Relacionadas > Informática y Tecnología

Informática y Tecnología A los amantes ... y no tan amantes de las computadoras, gadgets y la tecnología. Un foro para preguntar, aprender, informarse y salir de dudas.

Respuesta
 
LinkBack (3) Herramientas Buscar en Tema Calificación: Calificación de Tema: 3 votos, 4.33 de promedio. Desplegado
Antiguo 11-abr-2008, 20:20   3 enlaces a este mensaje. Click para ver. #46 (permalink)
Yue
飛燕
 
Avatar de Yue
 
Ingreso: febrero-2008
Ubicación: Iizuka, Fukuoka
Mensajes: 935
Yue se volverá popular prontoYue se volverá popular prontoYue se volverá popular prontoYue se volverá popular prontoYue se volverá popular prontoYue se volverá popular prontoYue se volverá popular pronto
Enviar un mensaje por MSN a Yue
Predeterminado

DSL o Puppy Linux son muy buenos para esa clase de equipos
__________________
Yue esta offline  
¡Digg este Mensaje!Agregar Mensaje a del.icio.usMarcar Mensaje en Technorati¡Furl este Mensaje!
Responder Citando
Antiguo 11-abr-2008, 20:23   #47 (permalink)
lalilulelo
 
Avatar de Michael
 
Ingreso: febrero-2008
Ubicación: Federal District of the United Mexican States
Mensajes: 487
Entradas de Blog: 159
Michael ni fu ni fa
Enviar un mensaje por MSN a Michael
Predeterminado

Cita:
Iniciado por Yue Ver Mensaje
Vamos comenzando con algunas practicas. Esta la traduje a espan~ol de uno de los ejercicios de TopCoder. No se vale pseudocodigo. Debe ser a fuerzas en un lenguaje de programacion. Mi solucion la pongo en la noche, ya que llegue a la casa (alla deje el codigo en Java).

---

La complejidad de un programa se mide de acuerdo al promedio del tamaño de las palabras que contenga la descripción del problema:

Si el promedio es menor a 3, la complejidad es 250.
Si el promedio es 4 o 5, la complejidad es 500.
Si el promedio es mayor o igual a 6, la complejidad es 1000.

Conceptos:
Token:Un conjunto de caracteres que tienen espacios al principio y al final, o bien el principio de la cadena o el final.
Palabra: Un Token que contiene solo letras, y puede terminar con un punto (.). Debe tener al menos una letra.
Tamaño de la palabra: El número de letras en una palabra. El punto NO es una letra.
Promedio del tamaño de las palabras: La suma de los tamaños de las palabras en la descripción del problema dividida entre el número de palabras en la misma descripción. División entera. Si el número de palabras es cero, el promedio también es cero.

Éstas son palabras: "Hola", "hola.", "Me llamo Manuel", "Soy ingenerio en sistemas.".

Éstas no son palabras: "Mtro. Manuel Medina", "Hola.." "jaja4", "No se que pon3er".

Lo que hay que hacer:
Implementar una función que reciba un String como parámetro (la descripción del problema) y devuelva un entero (la complejidad del programa, es decir 250, 500 ó 1000). El parámetro es una cadena de hasta 50 caracteres que incluyen letras, números, espacios o puntos.

Ejemplos:
Si el parámetro es: "Ésta es la descripción del programa", el promedio del tamaño de las palabras es 30/6 = 5, por lo que la función debe regresar 500
Si el parámetro es: "345hola.", no hay ninguna palabra, por lo que el promedio es 0 y la función devuelve 250.
Si el parámetro es: "Implementa una clase B4 que contenga un método.", el promedio es 37/7 = 5, por lo que la función regresa 500.



Autómata!

Procesando... Tardaré de 1 a 2 semanas Soy Programador Novato
__________________
____
This space for Rent
Michael esta offline  
¡Digg este Mensaje!Agregar Mensaje a del.icio.usMarcar Mensaje en Technorati¡Furl este Mensaje!
Responder Citando
Antiguo 11-abr-2008, 20:30   #48 (permalink)
Yue
飛燕
 
Avatar de Yue
 
Ingreso: febrero-2008
Ubicación: Iizuka, Fukuoka
Mensajes: 935
Yue se volverá popular prontoYue se volverá popular prontoYue se volverá popular prontoYue se volverá popular prontoYue se volverá popular prontoYue se volverá popular prontoYue se volverá popular pronto
Enviar un mensaje por MSN a Yue
Predeterminado

Cita:
Iniciado por Michael Ver Mensaje
Autómata!

Procesando... Tardaré de 1 a 2 semanas Soy Programador Novato
No necesitas llegar a tanto Si se resuelve con un automata, pero seria hacer mucho trabajo. Tu avientatelo y pon tu codigo. Es el chiste

Ya tiene rato esto aqui, asi que de una vez pongo mi codigo. Lo hice en Java. A la clase le puse "HowEasy" porque asi te lo pedia el problema original:

Código PHP:
public class HowEasy {

    public 
int pointVal(String param0) {

        
String words [] = param0.split("\\s");

        
String word "";

        
int i,jtotalsum 0totalwords 0average 0thisword 0;

        
char c 0;

        

        for (
0words.lengthi++) {

            
word words[i];

            

            if (
word.indexOf(".") == -|| (word.indexOf(".") == word.length() -&& word.length() != 1)) {

                
totalwords++;

                
thisword 0;

                for (
0word.length(); j++) {

                    
word.charAt(j);

                    if (
>= '0' && <= '9') {

                        
thisword 0;

                        
totalwords--;

                        break;

                    }

                    else if (
!= '.') {

                        
thisword++;

                    }

            

                }

                

                
totalsum += thisword;

                

            }

            

        }

        

        if (
totalwords != 0) {

            
average totalsum/totalwords;

        }

        

            if (
average <= 3)

                
average 250;

            else if (
average == || average == 5)

                
average 500;

            else

                
average 1000;

        

        return 
average;

    } 
// method




__________________
Yue esta offline  
¡Digg este Mensaje!Agregar Mensaje a del.icio.usMarcar Mensaje en Technorati¡Furl este Mensaje!
Responder Citando
Antiguo 11-abr-2008, 20:40   #49 (permalink)
Reedelicious!!!
 
Avatar de Joel Dash Reed
 
Ingreso: febrero-2008
Ubicación: En el polo norte...
Mensajes: 232
Entradas de Blog: 43
Joel Dash Reed ni fu ni fa
Enviar un mensaje por Skype™ a Joel Dash Reed
Predeterminado

Pues, el Puppy lo descarto, porque la PC viejita no tiene 128, apenas llega como a los 50 MB. Si mucho usaré el DSL. ¿Algún otro que soporte al menos 32 MB en RAM? Siempre ha sido mi dolor de cabeza, la RAM... >.<

Ciao.
__________________

Joel Dash Reed esta en línea ahora  
¡Digg este Mensaje!Agregar Mensaje a del.icio.usMarcar Mensaje en Technorati¡Furl este Mensaje!
Responder Citando
Antiguo 10-nov-2008, 19:36   #50 (permalink)
[Hellsing Inst.]
 
Avatar de darkfalco
 
Ingreso: febrero-2008
Ubicación: Chiwas...
Mensajes: 426
darkfalco es hora de que intente mejorar
Enviar un mensaje por MSN a darkfalco
Predeterminado

bueno, yo requiero de mucha ayuda, jajá...
necesito crear un sudoku, ok...
entonces tengo que hacerlo resuelto primero y es en C++, esto es lo que llevo hasta el momento, no sé si alguien me pueda ayudar...
el único error que le veo al código por el momento, es que al crear la segunda linea, a veces (o casi siempre) se cicla con el último o los últimos 3 números, porque no cumplen con las "normas"... entonces solo hay que validar eso... pero llevo pensando todo el fin de semana como crear el algoritmo y ya me cansé, hasta ahí le deje... a ver si alguien me puede ayudar un poco con eso, aquí les dejo el código para ver si alguien puede ponerle un contador a la función de "seccion" y que vuelva a crear la linea...
gracias de antemano :P...

Spoiler: mostrar
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#define MAX 9
void iniciar();
void sudoku(void);
void imprimir(void);
int columna(int,int,int);
int fila(int,int,int);
int seccion(int,int,int);
int sud[MAX][MAX];
void main (void)
{
clrscr();
randomize();
iniciar();
sudoku();
imprimir();

printf("hola sudoku...");
getch();
}


void sudoku(void)
{
int x;
for(int i=0;i<MAX;i++)
{
//crear linea "volver a crear si se "traba" en determinado momento"
for(int j=0;j<MAX;j++)
{
x=(rand()%9)+1;
sud[i][j]=x;
x=columna(i,j,x);
if(x==10)
{j--;}
else
{
x=fila(i,j,x);
if(x==10)
{j--;}
else
{
x=seccion(i,j,x);
if(x==10)
{j--;}
}
}
}
}
}


int columna(int k,int l,int y)
{
int f=y;
for(int n=0;n<MAX;n++)
{
if((k-n)!=k)
{
if((k-n)<0)
{n=10;}
else
{
if(sud[k][l]==sud[k-n][l])
{f=10;}
}
}
}
return f;
}


int fila(int k,int l,int y)
{
int f=y;
for(int n=0;n<MAX;n++)
{
if((l-n)!=l)
{
if((l-n)<0)
{n=10;}
else
{
if(sud[k][l]==sud[k][l-n])
{f=10;}
}
}
}
return f;
}


int seccion(int k,int l,int y)
{
int f=y;
//seccion 1
if(k<=2&&l<=2)
{
for(int m=0;m<=2;m++)
{
for(int n=0;n<=2;n++)
{
if(m!=k&&n!=l)
{
if(n<0)
{n=10;}
else
{
if(sud[k][l]==sud[m][n])
{f=10;}
}
}
}
}
}
//seccion 2
if(k<=2&&l>2&&l<6)
{
for(int m=0;m<=2;m++)
{
for(int n=3;n<=5;n++)
{
if(m!=k&&n!=l)
{
if(n<3)
{n=10;}
else
{
if(sud[k][l]==sud[m][n])
{f=10;}
}
}
}
}
}

//seccion 3
if(k<=2&&l>5&&l<9)
{
for(int m=0;m<=2;m++)
{
for(int n=6;n<=8;n++)
{
if(m!=k&&n!=l)
{
if(n<6)
{n=10;}
else
{
if(sud[k][l]==sud[m][n])
{f=10;}
}
}
}
}
}

//seccion 4
if(k<=5&&k>2&&l<3)
{
for(int m=3;m<=5;m++)
{
for(int n=0;n<=2;n++)
{
if(m!=k&&n!=l)
{
if(n<0)
{n=10;}
else
{
if(sud[k][l]==sud[m][n])
{f=10;}
}
}
}
}
}
//seccion 7
if(k<=8&&k>5&&l<3)
{
for(int m=5;m<=8;m++)
{
for(int n=0;n<=2;n++)
{
if(m!=k&&n!=l)
{
if(n<0)
{n=10;}
else
{
if(sud[k][l]==sud[m][n])
{f=10;}
}
}
}
}
}
//seccion 5
if(k<=5&&k>2&&l<=5&&l>2)
{
for(int m=3;m<=5;m++)
{
for(int n=3;n<=5;n++)
{
if(m!=k&&n!=l)
{
if(n<3)
{n=10;}
else
{
if(sud[k][l]==sud[m][n])
{f=10;}
}
}
}
}
}

//seccion 6
if(k<=5&&k>2&&l<=8&&l>5)
{
for(int m=3;m<=5;m++)
{
for(int n=5;n<=8;n++)
{
if(m!=k&&n!=l)
{
if(n<5)
{n=10;}
else
{
if(sud[k][l]==sud[m][n])
{f=10;}
}
}
}
}
}
//seccion 8
if(k<=8&&k>5&&l<=5&&l>2)
{
for(int m=5;m<=8;m++)
{
for(int n=3;n<=5;n++)
{
if(m!=k&&n!=l)
{
if(n<3)
{n=10;}
else
{
if(sud[k][l]==sud[m][n])
{f=10;}
}
}
}
}
}

//seccion 9
if(k<=8&&k>5&&l<=8&&l>5)
{
for(int m=5;m<=8;m++)
{
for(int n=5;n<=8;n++)
{
if(m!=k&&n!=l)
{
if(n<5)
{n=10;}
else
{
if(sud[k][l]==sud[m][n])
{f=10;}
}
}
}
}
}


return f;
}


void iniciar(void)
{
for(int i=0;i<MAX;i++)
{
for(int j=0;j<MAX;j++)
{
sud[i][j]=0;
}
}
}


void imprimir(void)
{
for(int i=0;i<MAX;i++)
{
for(int j=0;j<MAX;j++)
{
printf("%d ", sud[i][j]);
}
printf("\n");
}
printf("\n");
}

__________________

"imagen de angel kof 2002"
darkfalco esta offline  
¡Digg este Mensaje!Agregar Mensaje a del.icio.usMarcar Mensaje en Technorati¡Furl este Mensaje!
Responder Citando
Antiguo 13-nov-2008, 16:11   #51 (permalink)
[Hellsing Inst.]
 
Avatar de darkfalco
 
Ingreso: febrero-2008
Ubicación: Chiwas...
Mensajes: 426
darkfalco es hora de que intente mejorar
Enviar un mensaje por MSN a darkfalco
Predeterminado

En vista de la gran ayuda aquí está el código ¬¬...

Código:
/*
Sudoku generator
darkfalco@gmail.com
Mexico
Thursday, Novmeber 13, 2008...
Note:
Some things are in spanish, if need translate them to understand the code, dont mind in mail me...
*/
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#define MAX 9
//rain.cpp
void iniciar(void);
int sudoku[MAX][MAX];
void crear_sudoku(void);
void imprimir(void);
void fila(int);
void columna(int);
void seccion(int,int);
void borrar(void);
 
void main (void)
{
clrscr();
randomize();
iniciar();
crear_sudoku();
imprimir();
 
 
 
getch();
}
 
void iniciar(void)
{
 int i=0,j=0;
 for(i=0;i<MAX;i++)
  {
   for(j=0;j<MAX;j++)
    {
     sudoku[i][j]=0;
    }
  }
}
 
void crear_sudoku(void)
{
 int i=0,j=0,x=0,z=0;
 for(i=0;i<MAX;i++)
  {
   for(j=0;j<MAX;j++)
    {
     x=(rand()%9);
     if(sudoku[j][x]==0)
      {
      sudoku[j][x]=i+1;
      fila(j);
      columna(x);
      seccion(j,x);
      }
     else
     {j--;
      z++;}
     if(z>1100)
     {iniciar();
      i=-1;
      z=0;
      j=0;
     break;}
    }
   borrar();
  }
}
 
void fila(int k)
{
 int i=0;
 for(i=0;i<MAX;i++)
  {
   if(sudoku[k][i]==0)
   sudoku[k][i]=10;
  }
}
void columna(int k)
{
 int i=0;
 for(i=0;i<MAX;i++)
  {
   if(sudoku[i][k]==0)
   sudoku[i][k]=10;
  }
}
 
void seccion(int a,int b)
{
int i=0,j=0;
//seccion 1
 if(a<3 && b<3)
  for(i=0;i<3;i++)
   {
    for(j=0;j<3;j++)
     {
      if(sudoku[i][j]==0)
       {sudoku[i][j]=10;}
     }
   }
//seccion 2
 if(a<3 && b>2 && b<6)
  for(i=0;i<3;i++)
   {
    for(j=3;j<6;j++)
     {
      if(sudoku[i][j]==0)
       {sudoku[i][j]=10;}
     }
   }
//seccion 3
 if(a<3 && b>5 && b<9)
  for(i=0;i<3;i++)
   {
    for(j=6;j<9;j++)
     {
      if(sudoku[i][j]==0)
       {sudoku[i][j]=10;}
     }
   }
//seccion 4
 if(a>2 && a<6 && b<3)
  for(i=3;i<6;i++)
   {
    for(j=0;j<3;j++)
     {
      if(sudoku[i][j]==0)
       {sudoku[i][j]=10;}
     }
   }
//seccion 5
 if(a>2 && a<6 && b>2 && b<6)
  for(i=3;i<6;i++)
   {
    for(j=3;j<6;j++)
     {
      if(sudoku[i][j]==0)
       {sudoku[i][j]=10;}
     }
   }
//seccion 6
 if(a>2 && a<6 && b>5 && b<9)
  for(i=3;i<6;i++)
   {
    for(j=6;j<9;j++)
     {
      if(sudoku[i][j]==0)
       {sudoku[i][j]=10;}
     }
   }
//seccion 7
 if(a>5 && a<9 && b<3)
  for(i=6;i<9;i++)
   {
    for(j=0;j<3;j++)
     {
      if(sudoku[i][j]==0)
       {sudoku[i][j]=10;}
     }
   }
//seccion 8
 if(a>5 && a<9 && b>2 && b<6)
  for(i=6;i<9;i++)
   {
    for(j=3;j<6;j++)
     {
      if(sudoku[i][j]==0)
       {sudoku[i][j]=10;}
     }
   }
//seccion 9
 if(a>5 && a<9 && b>5 && b<9)
  for(i=6;i<9;i++)
   {
    for(j=6;j<9;j++)
     {
      if(sudoku[i][j]==0)
       {sudoku[i][j]=10;}
     }
   }
}
 
void borrar(void)
{
int i=0,j=0;
for(i=0;i<MAX;i++)
  {
   for(j=0;j<MAX;j++)
    {
     if(sudoku[i][j]==10)
     {sudoku[i][j]=0;}
    }
  }
}
 
void imprimir(void)
{
printf("\n\n\n\n");
for(int i=0;i<MAX;i++)
  {
    {printf("\t");}
   for(int j=0;j<MAX;j++)
    {
     printf("%d  ", sudoku[i][j]);
     if(j==2||j==5)
      {printf("  ");}
    }
   printf("\n");
   if(i==2||i==5)
    {printf("\n\n");}
  }
}
No se crean :P... pero aquí está por si a alguien se le ofrece...
__________________

"imagen de angel kof 2002"
darkfalco esta offline  
¡Digg este Mensaje!Agregar Mensaje a del.icio.usMarcar Mensaje en Technorati¡Furl este Mensaje!
Responder Citando
Respuesta

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Código BB está On
caritas están On
[IMG] está On
Código HTML está Off
Trackbacks son On
Pingbacks son On
Refbacks son On

Ir a Foro

LinkBacks (?)
LinkBack a este Tema: http://www.anim-arte.com/comunidad/623-club-de-programacion-anim-arte-dudas.html
Escrito Por Para Tipo Fecha
Sudoku Programmers :: View topic - Need help programing sudoku on C++ Este Tema Refback 13-nov-2008 17:54
. Starting... . - Fotolog Este Tema Refback 13-nov-2008 16:34
Algoritmo para generar tableros de sudoku « ChamanGT Este Tema Refback 11-nov-2008 18:52


Intercambio Navideño Anim-Arte

La franja horaria es GMT -5. Ahora son las 15:50.



Anim-Arte.com © 2003 - 2008 Casi 5 años de Anim-Arte, gracias por tu visita

Anim-Arte usa vBulletin® Versión 3.8.0 Release Candidate 2
Derechos de Autor ©2000 - 2009, Jelsoft Enterprises Ltd.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26