elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Problema al buscar menor en un array y puntuar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al buscar menor en un array y puntuar  (Leído 1,606 veces)
raleva

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Problema al buscar menor en un array y puntuar
« en: 3 Febrero 2016, 11:09 am »

Pues veréis en este codigo que os paso ahora me da el problema que no suma bien las puntuaciones ya que no vacia el vector cada vez que empieza de nuevo.

En cada jornada, el golfista con menor número de golpes obtiene 3 puntos, el segundo con menor
número de golpes obtiene 2 puntos y el tercero con menor número de golpes obtiene 1 punto
(pueden existir varios golfistas con el mismo número de golpes, por lo que hay varios que pueden
obtener 3 puntos, varios que pueden obtener 2 puntos y varios que pueden obtener 1 punto).
Para calcular el número de puntos se usa la función calculaPuntosDeJornada(int [] punt_golf),
que guarda en el vector los puntos que obtiene cada golfista.




Yo he echo lo siguiente
Código:
public class golfistas {

final static int N = 5;// golfistas
final static int M = 4;// jornadas
// public static int golfistas_jornadas[][] = new int[N][M];
public static int[][] golfistas_jornadas = { { 10, 12, 10, 14 }, { 11, 9, 13, 14 }, { 12, 11, 10, 14 },
{ 10, 13, 10, 10 }, { 10, 15, 12, 12 } };

public static void main(String[] args) {
int[] punt_golf = new int[N];
// rellenaMatriz();
muestraResultados();
calculaPuntosDeJornada(punt_golf);

}

private static void calculaPuntosDeJornada(int[] punt_golf) {
int primero = 99, segundo = 99, tercero = 99;
int golpes[] = { primero, segundo, tercero };


// i=golfista
// j=jornada
int j = 0,  cont,  k ;
while (j < M) {
int v_final[] = new int[5];
//for (int i = 0; i < golfistas_jornadas.length; i++) {
int num=0, x=0, z = 0;
int v_aux[] = new int[5];

for (int p = 0; p <5; p++) {
cont = 0;
num = golfistas_jornadas[p][j];
v_aux[x] = num;
x++;
for (k = 0; k < 5; k++)
if (v_aux[k] == num)
cont++;

if (cont == 1) {
v_final[z] = num;
z++;
}
}
System.out.println("Vector final eliminando repetidos\n" + Arrays.toString(v_final));

int i2=0, temp=0, j2=0;

for (i2 = 1; i2 < v_final.length; i2++) {
temp = v_final[i2];
j2 = i2 - 1;
while ((j2 >= 0) && (v_final[j2] > temp)) {
v_final[j2 + 1] = v_final[j2];
j2--;
}
v_final[j2 + 1] = temp;
}
System.out.println("Vector final ordenado\n" + Arrays.toString(v_final));  
 
 //}
for (int i = 0; i < v_final.length; i++) {
if (v_final[i] < golpes[0] && v_final[i]>0) {
 golpes[0]=v_final[i];
 }
 
if (v_final[i] < golpes[1] && v_final[i]>0 && v_final[i]>golpes[0]) {
 golpes[1]=v_final[i];
 }
if (v_final[i] < golpes[2] && v_final[i]>0 && v_final[i]>golpes[1]) {
 golpes[2]=v_final[i];
 }

}
System.out.println("Vector golpes\n" + Arrays.toString(golpes));

for (int i = 0; i < golfistas_jornadas.length; i++) {
if (golfistas_jornadas[i][j]==golpes[0]){
punt_golf[i]+=3;
}
if (golfistas_jornadas[i][j]==golpes[1]){
punt_golf[i]+=2;
}
if (golfistas_jornadas[i][j]==golpes[2]){
punt_golf[i]+=1;
}
System.out.println("Vector puntos parciales\n" + Arrays.toString(punt_golf));
}
j++;

}

System.out.println("Vector puntos totales\n" + Arrays.toString(punt_golf));
}


A ver si me podéis echar una mano porque llevo varios día ya para solucionar esto y no hay manera.


« Última modificación: 4 Febrero 2016, 17:47 pm por raleva » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Tablas, Buscar el campo que sea menor a todos
Programación Visual Basic
{_The_Alwar_} 6 2,470 Último mensaje 26 Julio 2005, 19:30 pm
por el_chente23
Buscar links y meter en un array!
PHP
A2Corp 3 3,761 Último mensaje 11 Mayo 2010, 06:03 am
por A2Corp
Buscar en un array
Programación Visual Basic
kay19 1 1,728 Último mensaje 18 Mayo 2010, 02:17 am
por Psyke1
[Src-PoC] Buscar en un Array Ordenado
Programación Visual Basic
BlackZeroX 1 2,240 Último mensaje 31 Diciembre 2010, 00:34 am
por Psyke1
Devolver el menor de un array
Programación C/C++
chicainge 2 2,715 Último mensaje 10 Agosto 2014, 15:30 pm
por leosansan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines