Código (java) [Seleccionar]
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][i]=PWM[0][i]+1;
break;
case 'C':
PWM[1][i]=PWM[1][i]+1;
break;
case 'G':
PWM[2][i]=PWM[2][i]+1;
break;
case 'T':
PWM[3][i]=PWM[3][i]+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[i].length;h++)
System.out.print(" "+PWM[i][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][i]>Max){
Max=PWM[h][i];
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;
}
}
}
}
lo siento, se me havia colado al copiarlo, creo que es correcto, ya que compila correctamente hasta el valor 4 de N...lo que no entiendo pk "peta" a partir de ese valor