Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

¿mandar resultados a un arreglo, error al regresar resultado?

fer_mhack

Bovino Milenario
Desde
21 Oct 2007
Mensajes
1.036
Tengo el problema de que los contadores los quiero devolver en un arreglo pero, tengo el error de que no lo manda al arreglo, alguien que me ayude en mi error

Código:
import java.util.Scanner;
class utilerias2 {
    public static void main(String[] FAL) {
        Scanner leer = new Scanner(System.in);
        float mtraspuesta;
        int x1,y1;
        System.out.println("Ingresa el tamaño que tendra la matriz");
        x1 = leer.nextInt();
        System.out.println("Ingresa el tamaño que tendra la matriz");
        y1 = leer.nextInt();
        System.out.println("Llena la Matriz,puedes ingresa numeros con decimales :)");
        float matriztra[][] = new float[x1][y1];
        llenarD(matriztra);
        mtraspuesta=(traspuesta (matriztra,x1,y1));
        {
            System.out.println("La Matriz Transpuesta es: "+mtraspuesta);
        }
        
    }
public static void llenarD(float matriztra[][]) {
        Scanner leer = new Scanner(System.in);
        int r, c;
        for (r = 0; r < matriztra.length; r++) {
            for (c = 0; c < matriztra[r].length; c++) {

                matriztra[r][c] = leer.nextFloat();
            }
        }
    }
public static float traspuesta(float matriztra[][], int x1, int y1){
                     
                  float result[][]=new float[x1][y1];
   for(int i=0; i<y1; i++) {
    for(int j=0; j<x1; j++){
     result[j][i]=matriztra[i][j];
    }
                        }
                       return result;
}
}
 
Este ya funciona, asi como regresate un boolean para buscar el numero, para regresar el arreglo hay que ponerle el int[] y quitar el void, ya lo probe, si tienes alguna duda me avisas

Código:
import java.util.Scanner;
class utilerias2 {
       
    public static void main(String[] FAL) {
        Scanner leer = new Scanner(System.in);
        System.out.println("BUSCANDO X EN UN ARREGLO");
        int incognita,tamaño;
        System.out.println("Ingresa el Numero a comparar");
        incognita=leer.nextInt ();
        System.out.println("Ingresa el Tamaño de la Cadena");
        tamaño=leer.nextInt ();
        System.out.println("Llena la Cadena");
        int arr[] = new int[tamaño];
        llename(arr);
        if (encontrar(incognita,arr)) {
            System.out.println("¡¡Si encontramos tu Numero en el Arreglo!!");
        }
        else{
            System.out.println("Lo sentimos, tu Numero no esta aqui :(");
        }
    }

     public static int[] llename (int arr[]){
    Scanner leer=new Scanner (System.in);
    int p;    

    for (p=0;p<arr.length;p++){
            arr[p]=leer.nextInt();
        }
    return arr;
}

     public static boolean encontrar(int incognita,int arr[]) {
        for (int i = 0; i < arr.length; i++) {
            if (incognita == arr[i]) {
                return true;
            }
        }
        return false;
    }
}
 
gracias ya quedo, se agradece, saludos, ahora en este no puedo regresar los resultados para imprimir solo el arreglo

Código:
import java.util.Scanner;
class utilerias2 {
public static void main(String[] FAL) {
Scanner leer = new Scanner(System.in);
float mtraspuesta;
int x1,y1;
System.out.println("Ingresa el tamaño que tendra la matriz");
x1 = leer.nextInt();
System.out.println("Ingresa el tamaño que tendra la matriz");
y1 = leer.nextInt();
System.out.println("Llena la Matriz,puedes ingresa numeros con decimales :)");
float matriztra[][] = new float[x1][y1];
llenarD(matriztra);
mtraspuesta=(traspuesta (matriztra,x1,y1));
{
System.out.println("La Matriz Transpuesta es: "+mtraspuesta);
}
 
}
public static void llenarD(float matriztra[][]) {
Scanner leer = new Scanner(System.in);
int r, c;
for (r = 0; r < matriztra.length; r++) {
for (c = 0; c < matriztra[r].length; c++) {
 
matriztra[r][c] = leer.nextFloat();
}
}
}
public static float traspuesta(float matriztra[][], int x1, int y1){
 
float result[][]=new float[x1][y1];
for(int i=0; i<y1; i++) {
for(int j=0; j<x1; j++){
result[j][i]=matriztra[i][j];
}
}
return result;
}
}
 
Recuerda que para regresar algo, debes especificar correctamente el tipo, esto incluye si es un arreglo o no, en traspuesta le pusiste tipo float, pero debe ser tipo float[][], ya que no es lo mismo, te recomiendo que uses un IDE para que veas esa clase de errores a simple vista, yo uso Netbeans 6.8 para programar en java, javafx, jsp y servlets, es bastante bueno además de que te genera el código de varios diagramas UML, también puedes crear interfaces con drag and drop. En web puedes usar los frameworks, como java server faces, spring, etc.. te recomiendo que lo bajes, facilita la programación y te ayuda a darte cuenta de los errores.
 
ASi es el error segun yo es en esta funcion, Declaras un result[][] y solo regresas un float, deberia ser asi:

Código:
public static [B]float[][][/B] traspuesta(float matriztra[][], int x1, int y1){
                     
                  float result[][]=new float[x1][y1];
   for(int i=0; i<y1; i++) {
    for(int j=0; j<x1; j++){
     result[j][i]=matriztra[i][j];
    }
                        }
                       return result;
}
 
Volver
Arriba