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 - edgano

#1
Java / error codigo matriz
2 Diciembre 2008, 00:31 AM
hola de nuevo gente.
despues de la ayuda que me disteis en este foro, logre hacer el ejercicio, pero a partir de un numero de columnas me "peta" el codigo... me gustaria saber donde me he equivocado y que esta mal.
p.d. no lo e podido solucionar porke haze poko que programo

gracias de antemano


CODIGO
import java.io.*;

public class Prac2 {
   public static void main(String[] args) throws Exception {
      
      // Declaracion para utilizar el teclado
      InputStreamReader entrada = new InputStreamReader(System.in);
      BufferedReader teclat = new BufferedReader(entrada);
      
      // Definicion de variables
      int N,i,Max,aux,h,num;
      int [][]PWM;
      char val;
      val='º';
      i=0;
      num=0;
      
      // Pedir tamaño matriz
      System.out.println("Introdueix el tamany de la finestra");
      N= Integer.parseInt(teclat.readLine());
      PWM=new int [4][N];
      
      // Introducir datos en matriz
      System.out.println("Introdueix els valors i finalitza amb *");
      
         //Encontrar valor final
      while ((val!='*')){
         val=(char)teclat.read();
      
            // Asignar valor al lugar correspondiente                                                                                          
         switch(val){
            case 'A':
                    PWM[0]=PWM[0]+1;
                    break;
            case 'C':
                    PWM[1]=PWM[1]+1;
                    break;
                 case 'G':
                    PWM[2]=PWM[2]+1;
                    break;
                 case 'T':
                    PWM[3]=PWM[3]+1;
                 break;      
         }
         i++;

            //Mirar que no se supere el valor de secuencia y si se supera inicializar i
         if (i>=N){
            i=0;
         }   
      }
            // Mostrar la matriz por pantalla
      for(i=0; i<PWM.length; i++){
         for(h=0;h<PWM.length;h++)
            System.out.print(" "+PWM[h]);
         System.out.println ( );   
      }

            //Buscar valor maximo
      for(i=0;i<N;i++){
            Max=0;
            aux=0;
            for(h=0;h<N;h++){
                if(PWM[h]>Max){
                    Max=PWM[h];
                    aux=h;
                }
           
            }   
               //Mostrar valor maximo
            if (num==0){
               System.out.print("El prototipus resultant es: ");
               num++;
           }       
            switch(aux){
            case 0:System.out.print("A ");break;
            case 1:System.out.print("C ");break;
                 case 2:System.out.print("G ");break;
                 case 3:System.out.print("T ");break;      
         }
       }
   }
}
       
   
ESTE CODIGO TE PIDE EL TAMAÑO DE UNA SECUENCIA Y TE HAZE INTRODUIR DIFERENTES LETRRAS(A,C,G,T,) ENTONCES TE DICE EL MAXIMO DE CADA POSICION. PERO NO SE PORQUE CUANDO LA MATRIZ ES 5 O SUPERIOR PETA...(INDEXOUTOFBOUNDS)
#2
hola a tod@s!
soy nuevo por aqui y despues de leerme varias paginas de temas no he encontrado nada para solucionar mi problemilla....
esoy empezando en esto del java, y tengo k entregar un ejercicio donde:

necesito encontrar el valor maximo de CADA COLUMNA, dandome el usuario el nº de columnas. y siendo el nº de filas constante en 4.
supongo que cada valor maximo seria una variable diferente, no? eske al final necesitaria mostrar los valores maximos.

gracias de antemano!

p.d. si me lo pudierais solucionar antes del viernes por la noxe os lo agredeceria muxo

gracias de nuevo