miércoles, 15 de junio de 2011

Arreglos Bidimensionales

Sea el siguiente arreglo bidimensional:
int[ ][ ]  n = int [ 5 ][ 6 ];
 Características:
·         Todos los valores se inicializan con cero
·         Se crea 5 filas y  6 columnas
·         Todos los datos son enteros
Asumamos que tenemos un arreglo lleno con la siguiente data
int[ ][ ]  n = int [ 5 ][ 4 ];
           
n[0][0]=4        n[0][1]=5        n[0][2]=8        n[0][3]=9       
n[1][0]=7        n[1][1]=9        n[1][2]=4        n[1][3]=6       
n[2][0]=7        n[2][1]=2        n[2][2]=3        n[2][3]=8       
n[3][0]=8        n[3][1]=9        n[3][2]=11      n[3][3]=66     
n[4][0]=7        n[4][1]=6        n[4][2]=14      n[4][3]=12     

·         Encontrar la suma de cada fila
Se debe imprimir:
fila 0: 26             
fila 1: 26
fila 2: 20
fila 3: 94
fila 4: 39

void metodo(){
         for(int i=0; i< 5; i++){
                   suma = 0;
for(int j=0; j< 4; j++){
         suma = suma + n[i][j];
}
                   Imprimir(“fila” + i  +” = ” + suma);
}
}

·         Encontrar la suma de cada columna
Se debe imprimir:
columna 0: 33  
columna 1: 31

void metodo(){
            injt suma =0;
            for(int j=0; j< 4; j++){
                        suma = 0;
                        for(int i=0; i< 5; i++){
            suma = suma + n[i][j];
}
                        Imprimir(“columna” + j  +” = ” + suma);
}
}

·         Encontrar la suma de la diagonal principal
int[ ][ ]  n = int [4 ][ 4 ];

n[0][0]=4        n[0][1]=5        n[0][2]=8        n[0][3]=9       
n[1][0]=7        n[1][1]=9        n[1][2]=4        n[1][3]=6       
n[2][0]=7        n[2][1]=2        n[2][2]=3        n[2][3]=8       
n[3][0]=8        n[3][1]=9        n[3][2]=11      n[3][3]=66     
Version01
void metodo(){
            int suma =0;
            for(int i=0; i< 4; j++){
                        for(int j=0; j< 4; j++){
                                    if(i==j)
            suma = suma + n[i][j];
}
}
imprimir(“la suma es : ”  + suma);

}
Version02
void metodo(){
            int suma =0;
            for(int  K=0; K< 4; K++){
suma = suma + n[K][K];
}
imprimir(“la suma es : ”  + suma);

}
·         Encontrar la suma de los elementos por debajo de la diagonal principal
int[ ][ ]  n = int [4 ][ 4 ];

n[0][0]=4        n[0][1]=5        n[0][2]=8        n[0][3]=9       
n[1][0]=7        n[1][1]=9        n[1][2]=4        n[1][3]=6       
n[2][0]=7        n[2][1]=2        n[2][2]=3        n[2][3]=8       
n[3][0]=8        n[3][1]=9        n[3][2]=11      n[3][3]=66     
Version01
void metodo(){
            int suma =0;
            for(int i=0; i< 4; j++){
                        for(int j=0; j< 4; j++){
                                    if(i>j)
            suma = suma + n[i][j];
}
}
imprimir(“la suma es : ”  + suma);

}
·         Encontrar la suma de los elementos que forma la L
int[ ][ ]  n = int [4 ][ 4 ];

n[0][0]=4        n[0][1]=5        n[0][2]=8        n[0][3]=9       
n[1][0]=7        n[1][1]=9        n[1][2]=4        n[1][3]=6       
n[2][0]=7        n[2][1]=2        n[2][2]=3        n[2][3]=8       
n[3][0]=8        n[3][1]=9        n[3][2]=11      n[3][3]=66     
void metodo(){
            int suma =0;
            for(int j=0; j< 4; j++){
                        for(int i=0; i< 4; i++){
                                   if( j==0 || i==3)                     
            suma = suma + n[i][j];
}
}
imprimir(“la suma es : ”  + suma);

}


·         Encontrar la suma de los elementos que forma la O
int[ ][ ]  n = int [4 ][ 4 ];

n[0][0]=4        n[0][1]=5        n[0][2]=8        n[0][3]=9       
n[1][0]=7        n[1][1]=9        n[1][2]=4        n[1][3]=6       
n[2][0]=7        n[2][1]=2        n[2][2]=3        n[2][3]=8       
n[3][0]=8        n[3][1]=9        n[3][2]=11      n[3][3]=66     

void metodo(){
            int suma =0;
            for(int j=0; j< 4; j++){
                        for(int i=0; i< 4; i++){
                                   if( j==0 || j==3 || i==0 || i==3)                     
                       suma = suma + n[i][j];
}
}
imprimir(“la suma es : ”  + suma);

}

·         Encontrar el mayor de cada fila
int[ ][ ]  n = int [4 ][ 4 ];

n[0][0]=4        n[0][1]=5        n[0][2]=8        n[0][3]=9       
n[1][0]=7        n[1][1]=9        n[1][2]=4        n[1][3]=6       
n[2][0]=7        n[2][1]=2        n[2][2]=3        n[2][3]=8       
n[3][0]=8        n[3][1]=9        n[3][2]=11      n[3][3]=66     
                salida
                fila 0 : 9
                fila 1 : 9
                fila 2 : 8
                fila 3 : 66

void metodo(){
            int may =0;

            for(int i=0; i< 5; i++){
may  = 0;
for(int j=0; j< 4; j++){
            if(n[ i ][ j ] > may  )
                       may   = n[ i ][ j ];
}
                        Imprimir (“fila” + i + “ : ” + may   );
}
}

               


1 comentario:

  1. Muy bien, me haz sacado de un apuro.. otra pregunta ¿cómo encuentras el número menor? yo intento con:

    if ( arrd [i][j] < numayorv)
    {
    numenorv = arrd [i][j
    }

    ResponderEliminar