Jump to content

Ayuda con lógica de problemas con arreglos


Recommended Posts

Hola. Me dejaron un proyecto que es para este miércoles primero de diciembre O_o , pero desde hace dos semanas he estado haciendo los problemas aunque hay dos que no se me entra la lógica necesaria para crearlos. Voy a escribir los enunciados para ver si alguien me logra ayudarme para que se me entre en la cabeza la forma para hacerlos.

 

1. Determinar una matriz de 3 filas por 3 columnas en un cuadrado mágico. // Sé que debo hacer un arreglo multidimensional pero no entiendo bien lo que es un cuadrado mágico a pesar que lo he buscado en internet.

 

2. Se tiene un almacén de 7 sucursales, cada sucursal tiene 5 departamento; se desea un algoritmo que utilizando una matriz cargue las ventas por departamento y por sucursal. Calcule también la venta total de todas las sucursales. Imprima la matriz y los totales // Tenía pensado utilizar un Switch para que el usuario decidiera cuál sucursal cargar pero tampoco funciona como quiero.

 

Se agradece por adelantado toda la ayuda posible.

Link to comment
Share on other sites

Un cuadrado mágico es la disposición de una serie de números enteros en un cuadrado o matriz de forma tal que la suma de los números por columnas, filas y diagonales principales sea la misma, la constante mágica. Usualmente los números empleados para rellenar las casillas son consecutivos, de 1 a n², siendo n el número de columnas y filas del cuadrado mágico.

 

fuente http://es.wikipedia.org/wiki/Cuadrado_m%C3%A1gico

 

quiza con esta imagen te quede mas claro

Imagen IPB

 

 

 

con respecto a lo otro. aquí hice un código de ejemplo que muestra mas o menos como podrías hacerlo declarando una matriz de String y almacenando los valores donde corresponda

si quieres sumar los valores ingresados de un depto en especifico, tendrás que convertirlos en números para poder operar sobre ellos

 

public class Test {
    public Test() {
        int op;
        String[][] deptos = new String[][]{{"****", "dep1", "dep2", "dep3", "dep4", "dep5", "dep6", "dep7",},
            {"suc1", null, null, null, null, null, null, null},
            {"suc2", null, null, null, null, null, null, null},
            {"suc3", null, null, null, null, null, null, null},
            {"suc4", null, null, null, null, null, null, null},
            {"suc5", null, null, null, null, null, null, null}};
        //creas el menu
        //System.out.println("1 depto 1");
        //etc
        op = 1;
        switch (op) {
            case 1:
                for (int i = 1; i < 6; i++) {
                    System.out.println("ingrese las ventas de la sucursal numero " + i + " del depto numero " + op);
                    //lees los datos y los almacenas en la fila i columa op
                    deptos[i][op] = "50000";// valor ingresado por el usuario

                }
                break;
            case 2:
                break;

        }
        System.out.println("");
        //muestra el contenido de la matriz
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j < 8; j++) {

                System.out.print(" " + deptos[i][j]);
            }
            System.out.println("");
        }

    }

    public static void main(String arg[]) {
        new Test();
    }
}

 

el código esta creado en netbeans y compila

 

Saludos

Edited by bersek
Link to comment
Share on other sites

2. Se tiene un almacén de 7 sucursales, cada sucursal tiene 5 departamento; se desea un algoritmo que utilizando una matriz cargue las ventas por departamento y por sucursal. Calcule también la venta total de todas las sucursales. Imprima la matriz y los totales // Tenía pensado utilizar un Switch para que el usuario decidiera cuál sucursal cargar pero tampoco funciona como quiero.

 

sucursales = 7

departamentos = 5

ventas = a

 

int ventas[sucursales][departamentos][ventas]

 

por lo tanto el coso queda

 

int ventas[7][5][a]

 

//suma de ventas + mostrar matriz...

 

 

int a = 45; //numero de ventas, del departamento que mas vendio 

int ventas[7][5][a],suma=0,suma1=0;
for(int i=0;i<7;i++){
System.out.println("Sucursal"+(i+1)+":");
    for(int j=0;j<5;j++){
    System.out.println("\n--Departamento"+(j+1)+":");
        for(int k=0;k<a;k++){
        System.out.println("\n----Venta"+(j+1)+":"+ventas[i][j][k]);
        suma += ventas[i][j][k];
        suma1++;
        }
    }
}

System.out.print("\n\nSe han hecho "+suma1+" ventas, el monto de las ventas asiende a: "+suma);

Edited by cañangasñangas
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...