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ú

Temas - utz

#1
Hola a todos, generalmente programo e C/C++ pero ahora me ha tocado aprender JAVA, estoy en la parte de hilos (hebras, threads...) y me he topado con un detalle del cual no puedo encontrar info en google xDDDD

y es que quiero pasar una columna de una matriz a una funcion en otra clase...

algo asi como

respuesta = funcion(matriz[fila], matriz[columna]);

en C lo hacia con el punto

respuesta = funcion(matriz[fila], matriz.[columna]);

pero en JAVA no me esta funcionando :S

espero me puedan dar una ayuda, desde ya muchas gracias.


PD: las matrices son algo grandes como para estarlas rotando... tomaria mucho tiempo hacer que el pc haga esos cambios, por eso busco algo mas directo.

edit:
este es el codigo que trabajara con los vectores:

public class Multiplica extends Thread{
   int resultado,x[],y[],n;
   //contructor
   public Multiplica(int x[], int y[],int n){
       super("multiplica");
       this.x=x;
       this.y=y;
       this.n=n;
   }
   //realiza la operacion multiplicacion
   public void  run(){
       for(int i=0;i<n;i++){
           resultado+= x[i]*y[i];
       }
   }
   //retorna el resultado
   public int retorno(){
       return resultado;
   }
}


y este es el codigo que pasa los vectores:

for(int i=0;i<n;i++){
                       for(int j=0;j<n;j++){
                           Multiplica multiplica = new Multiplica(matriz1[i],matriz2rot[j],n);
                           multiplica.run();
                           multiplicada[i][j]=multiplica.retorno();

                           /*mas operaciones con otros hilos*/

                       }
                   }


la idea es no tener que rotar la matriz2 y pasar la columna directamente, para ahorrar un poco de menoria :D


saludos!!

EDIT: Fui a preguntarle a mis profesores y al parecer no se puede hacer lo que estoy buscando de esa forma tan directa :(
#2
hola, estaba leyendeo un string de tamaño 77 desde un fichero.txt, pero cuando voy a imprimir el string me imprime solo los 70 primeros caracteres correctamente, el resto solo "basura".

Alguien me podria decir porque pasa esto y como arreglarlo por favor?
o bien que solo me diga como arreglarlo y ya me imaginare por que sucede :D

pd: estoy leyendo este string de la forma mas simple, con un fscanf... sin utilizar memoria dinamica ni nada de eso.


desde ya muchas gracias por su ayuda.