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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Temas
Páginas: [1]
1  Programación / Java / Problema con decimales (convergencia a un punto) en: 12 Abril 2009, 18:54 pm
He desarrollado un programilla que me tendría que resolver el problema de localización por el método del centro de gravedad. Más info aquí, diapositivas 28,29,30.
Ese método que menciono es iterativo; esto es, para cada iteración el valor obtenido se va acercando al valor óptimo. El problema que tengo es que tengo que hacer muchas iteraciones con mi algoritmo. El profesor dijo que luego de algo más de 20 iteraciones ya se podrá intuir cuál es el valor, pero mi programa requiere hacer muchas(muchísimas) iteraciones para poder converger. En otras palabras, converge, pero lo hace muy lentamente. Si hago los cálculos manualmente, coinciden los valores de la primera y segunda iteración, así que el algoritmo debe estar bien hecho. El problema es el número de iteraciones, ¿creen que pasa por el tipo de variable que uso (double)?
Código:
import java.io.*;
import java.math.*;
public class modet2{

double rutina(double x,double y,double w,double a,double b)
{
double g=w/Math.sqrt(Math.pow(x-a,2)+Math.pow(y-b,2));
return g;
}
public static void main(String args[])throws IOException{

modet2 waa = new modet2();
double A[][] = {{0,0,5,12},{0,10,0,6},{0.25,0.25,0.25,0.25}};
int i,k;
double p,q,w,numx=0,numy=0,den=0,x=4.25,y=5;


for(k=0;k<100000;k++){ //La variable 'k' determina el número de iteraciones
for(i=0;i<4;i++){
numx=A[0][i]*waa.rutina(x,y,A[2][i],A[0][i],A[1][i])+numx;
numy=A[1][i]*waa.rutina(x,y,A[2][i],A[0][i],A[1][i])+numy;
den=waa.rutina(x,y,A[2][i],A[0][i],A[1][i])+den;
}
x=numx/den;
y=numy/den;
System.out.println("IteraciOn\t X \t\t Y");
System.out.println((k+1)+"\t"+x+"\t"+y);
System.out.println();
}

}

}
Muchas gracias por su tiempo.
2  Programación / Ejercicios / Generar matrices en 'espiral' en: 25 Octubre 2008, 03:56 am
Hola comunidad elhacker.net!
Necesito ayuda tratando de generar la siguiente sucesion de matrices:




Osea, ingresar un entero (el orden de la matriz), y que el programa devuelva la matriz 'espiral' de dicho orden.
¿Alguna idea para generar dicha matriz?
Programo en Java, con el JCreator.
Gracias por su tiempo, salu2 ! 
3  Programación / Java / Programa que compila, pero error en consola en: 29 Mayo 2008, 18:08 pm
Necesito ayuda...
Recién empiezo en esto del Java. Estoy usando en JCreator como compilador.
Hice este programa que se supone deberá hacer: pregunta la cantidad de alumnos (n), luego pregunta las notas de los (n) alumnos, las promedia y muestra el resultado.
Código:
import javax.swing.*;
public class notas2
{
    public static void main( String [] args )
    {

    String m,x,y,z;
    int n,i,r,P,S;
   
m=JOptionPane.showInputDialog("Ingrese numero de alumnos:");
n=Integer.parseInt(m);
final int N=n;
int V[] = new int[N];
i=1;
while (i<=n){
x=JOptionPane.showInputDialog("Ingrese nota del alumno "+i);
    V[i]=Integer.parseInt(x);
    i++;
    }
S=0;
for (int l=1;l<=n-1;l++){
System.out.println(V[l]);
S=S+V[l];
}
P=S/n;
JOptionPane.showMessageDialog(null, "El promedio del aula es"+P );
    }
    }
No me sale error al compilar, en consola empieza bien, pero cuando deber{ía salir el resultado (Promedio de notas) me sale esta pantalla:

Alguna luz por favor  :-(
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines