Java - Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

   
Vista:

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por Ismael (14 intervenciones) el 24/02/2016 12:13:00
Hola muy buenas, estoy haciendo un pequeño "juego" en java que es de una simulación de 5 colas y llevo ya unos dias atascado en lo mismo y no consigo salir de aqui, haber si ustedes como buenos programadores que sois me podríais ayudar, tiene que ser hecho con cosas sencillas que hemos ido dando este curso,
Haber el problema que tengo es que con el codigo que yo les dejo ahora, estan bien los metodos Extraer_Tarea y Servir_Tarea, esos creo que no hay que tocarlos, si lo pruebas con la cola1 veréis que si que va asignando tareas en un periodo de tiempo cada vez que pulsamos enter tiene que asignar tareas al final de la cola DE LA COLA QUE TENGA MENOS LONGITUD EN ESE MOMENTO, ES DECIR PRIMERO ASIGNARÁ A LA PRIMERA, LUEGO A LA SEGUNDA.... Y A MEDIDA QUE VAYAN SALIENDO TAREAS LA ASIGNARÁ A LA QUE MENOS LONGITUD TENGA EN ESE MOMENTO Y AHÍ ES DONDE ESTOY ATASCADO, SOLAMENTE ME PODRIAIS ORIENTAR O DECIR MAS O MENOS POR DONDE TENGO QUE TIRAR PARA QUE ME LO AGREGUE A LA COLA CON MENOS LONGITUD, EL PROBLEMA DICE QUE HAY QUE HACER APARTE DE LOS METODOS QUE YA HE HECHO HAY QUE HACER UNO LLAMADO MedirCola --> devuelve numero de tareas en una cola en un momento dado
AsignarCola-->indica donde debe insertarse la tarea que se genera cada frec minutos

Los intenté hacer pero ha sido un desastre y quedaba peor de como estaba y ya no sabia que hacer...

A partir de este codigo

CLASE COLA.JAVA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package ejer_4;
 
public class Cola {
 
	private int longitud;
	private int listapersonas[] = new int[100];
 
	public Cola(){
		longitud=0;
	}
 
	public void Servir_Cola(){
 
			for(int i=0;i<longitud;i++){
 
				if(listapersonas[i]>0){ //si es mayor que 0, restale 1 minuto
					listapersonas[i]=listapersonas[i]-1;
 
				}
				if(listapersonas[i]<1){ //si es menor de 1, la suprimirá
					Extraer_Tarea(i);
 
				}
			}
	}
 
	public void Medir_Cola(int valor,Cola c1, Cola c2, Cola c3, Cola c4, Cola c5){
 
 
		//Devuelve el indice de la mas corta
		/*
		int menor=0;
		
		if(c1.longitud<c2.longitud && c1.longitud<c3.longitud && c1.longitud<c4.longitud && c1.longitud<c5.longitud) menor=c1.longitud; 
		else if(c2.longitud<c1.longitud && c2.longitud<c3.longitud && c2.longitud<c4.longitud && c2.longitud<c5.longitud) menor=c2.longitud; 
		else if(c3.longitud<c2.longitud && c3.longitud<c1.longitud && c3.longitud<c4.longitud && c3.longitud<c5.longitud) menor=c3.longitud; 
		else if(c4.longitud<c1.longitud && c4.longitud<c2.longitud && c4.longitud<c3.longitud && c4.longitud<c5.longitud) menor=c4.longitud; 
		else if(c5.longitud<c1.longitud && c5.longitud<c2.longitud && c5.longitud<c3.longitud && c5.longitud<c4.longitud) menor=c5.longitud; 

		
		if(menor==c1.longitud){
			x=1;
		}
		
		if(menor==c2.longitud){
			x=2;
		}
		if(menor==c3.longitud){
			x=3;
		}
		if(menor==c4.longitud){
			x=4;
		}
		if(menor==c5.longitud){
			x=5;
			
			ÉSTO LO HE PROBADO Y NO FUNCIONA ^^ ES QUE ESO NO SERÍA ASI ME HAN DICHO
		}*/
	}
 
	public void Asignar_Cola(){
 
		//La tarea debe insertarse en la cola numero x
 
	}
 
	public void Insertar_Tarea(int x){ //LE PASO X SERÁN LOS MINUTOS AL AZAR DADOS POR EL MAIN, PARA ASIGNARLOS Y MINUTO SERA POR EL MINUTO QUE VA
		longitud++;
		listapersonas[longitud]=x;
 
	}
 
	public void Extraer_Tarea(int posicion){
 
		int cambio;
 
		for(int p=0;p<longitud;p++){
 
			if(listapersonas[p]==listapersonas[posicion]){ //SI COINCIDE CON LA POSICION PASADA POR EL PARAMETRO 
 
				longitud++; //COMO SI AGREGASEMOS UN 0 AL FINAL
				listapersonas[longitud]=listapersonas[p]; //PONLE AL 0 DEL FINAL LA POSICION A ELIMINAR
				listapersonas[p]=0;//LE PONE UN 0 YA QUE ESTÁ AL FINAL
				longitud--;//Y SUPRIME LA ÚLTIMA POSICION
 
			}
		}//CON EL FIN DE ÉTE BUCLE TENEMOS LA VARIABLE EN CUESTION ELIMINADA PERO QUEDA UN 0 
 
		listapersonas[posicion+1]=listapersonas[posicion+1]-1; //PARA QUE ÉSA POSICION LE RESTE UNO, SINO SALE SIN DESCONTAR EL MINUTO QUE LE CORRESPONDE
 
		for(int p=0;p<longitud;p++){ // PARA ELLO HACEMOS UN BUCLE QUE NOS DEJE EL 0 AL FINAL INTERCAMBIANDO POR LA POSICION SIGUIENTE Y ASI HASTA QUE EL 0 QUEDE AL FINAL
 
			if(listapersonas[p]==0){
				cambio=listapersonas[p];
				listapersonas[p]=listapersonas[p+1];
				listapersonas[p+1]=cambio;
 
			}
		}
 
		longitud--; //CON EL 0 YA EN EL FINAL HACIENDO UN LONGITUD-- ELIMINAMOS ESA ULTIMA POSICION, POR LO QUE YA HABRA ELIMINADO EL ELEMENTO EN CUESTIÓN
 
 
	}
 
	public void VisualizarCola(){
 
		for(int k=0;k<longitud;k++){ //mostrará *-20 *-30 *-12 por ejemplo
 
			System.out.print(" *" + -listapersonas[k]);
 
		}
	}
}


MAIN:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package ejer_4;
 
import java.util.*;
 
public class Uso_Cola {
 
	public static void main(String[] args) {
 
 
 
		Random rnd = new Random();
		Scanner teclado = new Scanner(System.in);
		int valor,x=5,y=10,z=15,frec=1;
 
		//CREAMOS NUESTROS 5 OBJETOS COLA, PARA TRABAJAR CON ELLOS
		Cola cola1 = new Cola();
		Cola cola2 = new Cola();
		Cola cola3 = new Cola();
		Cola cola4 = new Cola();
		Cola cola5 = new Cola();
 
		for(int i=1; i <= 300; i++){ //BUCLE QUE REPITE 300 VECES EL PROCESO
 
 
			valor=rnd.nextInt(100)+1; //GENERA NUMERO AL AZAR
 
			if(valor>=1 && valor<=60){ //SI ESTÁ ENTRE ESTE INTERVALO SERÁ DE DURACION X
 
				valor=x;
			}
			if(valor>=61 && valor<=85){//SI ESTÁ ENTRE ESTE INTERVALO SERÁ DE DURACION Y
 
				valor=y;
			}
			if(valor>=86 && valor<=100){//SI ESTÁ ENTRE ESTE INTERVALO SERÁ DE DURACION Z
 
				valor=z;
			}
 
			cola1.Insertar_Tarea(valor); //HE PUESTO PARA QUE FUNCIONE SOLO CON 1 COLA PARA QUE LO PROBEIS
 
			cola1.Servir_Cola(); //CADA MINUTO QUE PASA AY QUE DESCONTARLO DE LA TAREA
			cola2.Servir_Cola();
			cola3.Servir_Cola();
			cola4.Servir_Cola();
			cola5.Servir_Cola();
 
 
			System.out.println("COLA1:");
			cola1.VisualizarCola();
 
			System.out.println();
			System.out.println("COLA2:");
			cola2.VisualizarCola();
 
			System.out.println();
			System.out.println("COLA3:");
			cola3.VisualizarCola();
 
			System.out.println();
			System.out.println("COLA4:");
			cola4.VisualizarCola();
 
			System.out.println();
			System.out.println("COLA5:");
			cola5.VisualizarCola();
 
			teclado.nextLine();//cada vez que pulsemos enter se verá el estado de las colas, llamando a sus respectivos metodos
		}
	}
 
	}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por arck (145 intervenciones) el 24/02/2016 12:47:00
¿En la estructura de colas se te permite meter el atributo longitud?

Ando mirando a ver si se te puede ayudar un poquito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por Ismael (14 intervenciones) el 24/02/2016 12:51:42
El atributo longitud que utilizo mantiene el control de la cola al insertar o eliminar haciendo un longitud ++ o longitud-- y metiendole el dato , pero el problema está en que lo tiene que insertar en la que tenga menos longitud, igual hay que añadir otro atributo o alguna cosa mas para que compare con las diferentes colas, nose´como expresarlo, llego hasta ahí y ando perdido, si me hechas una mano te lo agradeceré encantado :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por Ismael (14 intervenciones) el 24/02/2016 13:02:41
Y si te refieres a poder usar en el main el atributo longitud quitandole el private, creo que no se puede
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por arck (145 intervenciones) el 24/02/2016 13:11:25
Por usar el atributo longitud en el main no hay problema generas getters y setters y ya esta.

La cosa es que no se si debería existir en la estructura.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por Ismael (14 intervenciones) el 24/02/2016 13:14:04
A mi me ha dicho que sí que se necesita porque asi muestra el tamaño de la cola en cada momento, si que se necesita porque lo pone en el enunciado, pero se te ocurre otra manera sin longitud? que raro porque lo dice el enunciado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por arck (145 intervenciones) el 24/02/2016 13:29:56
Segun lei en el enunciado no vas a tener que poner la longitud en cola o eso creo ya que si pones el atributo longitud la funcion medir cola no sirve para una mierda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por Ismael (14 intervenciones) el 24/02/2016 13:49:13
Ya me funciona bastante bien, no esperaba arreglarlo tan rapido muchas gracias por tu ayuda amigo arck, si no te importa me gustaría que me dieses tu correo y te explico mas o menos lo que pasaba y te paso enunciado completo y tal... Lo de servircolas creo que lo podré solucionarlo yo, ya se que es muy engorroso pero es con lo que sepamos y mas no llego, verás estoy empezando a aprender y me vendría bien de vez en cuando alguna ayudeta asi como la que me acabas de dar, la verdad muy agradecido he quedado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por arck (145 intervenciones) el 24/02/2016 14:02:39
comenta por aqui y te ayudaremos, pero nada de hacer ejercicios, si te estancas se te ayuda.

Jajajaja modifique el comentario anterior.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por arck (145 intervenciones) el 24/02/2016 14:00:42
toma esto funciona mas o menos, repasa la función Extraer_Tareas queno funciona del todo bien.

Uso_Cola:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package ejer_4;
 
import java.util.*;
 
public class Uso_Cola {
 
	public static void main(String[] args) {
 
 
 
		Random rnd = new Random();
		Scanner teclado = new Scanner(System.in);
		int valor,x=5,y=10,z=15,frec=1;
 
		//CREAMOS NUESTROS 5 OBJETOS COLA, PARA TRABAJAR CON ELLOS
		Cola cola1 = new Cola();
		Cola cola2 = new Cola();
		Cola cola3 = new Cola();
		Cola cola4 = new Cola();
		Cola cola5 = new Cola();
 
		for(int i=1; i <= 300; i++){ //BUCLE QUE REPITE 300 VECES EL PROCESO
 
 
			valor=rnd.nextInt(100)+1; //GENERA NUMERO AL AZAR
 
			if( valor<=60){ //SI ESTÁ ENTRE ESTE INTERVALO SERÁ DE DURACION X
 
				valor=x;
			}
			if(valor>=61 && valor<=85){//SI ESTÁ ENTRE ESTE INTERVALO SERÁ DE DURACION Y
 
				valor=y;
			}
			if(valor>=86){//SI ESTÁ ENTRE ESTE INTERVALO SERÁ DE DURACION Z
 
				valor=z;
			}
 
			int numCola = Asignar_Cola(cola1,cola2, cola3, cola4, cola5);
 
			 switch(numCola) {
			 case 1:
			     cola1.Insertar_Tarea(valor);
			     break;
			 case 2:
				 cola2.Insertar_Tarea(valor);
			     break;
			 case 3:
				 cola3.Insertar_Tarea(valor);
			     break;
			 case 4:
				 cola4.Insertar_Tarea(valor);
			     break;
			 default:
				 cola5.Insertar_Tarea(valor);
			     break;
			 }
 
			cola1.Servir_Cola(); //CADA MINUTO QUE PASA AY QUE DESCONTARLO DE LA TAREA
			cola2.Servir_Cola();
			cola3.Servir_Cola();
			cola4.Servir_Cola();
			cola5.Servir_Cola();
 
 
			System.out.println("COLA1:");
			cola1.VisualizarCola();
 
			System.out.println();
			System.out.println("COLA2:");
			cola2.VisualizarCola();
 
			System.out.println();
			System.out.println("COLA3:");
			cola3.VisualizarCola();
 
			System.out.println();
			System.out.println("COLA4:");
			cola4.VisualizarCola();
 
			System.out.println();
			System.out.println("COLA5:");
			cola5.VisualizarCola();
 
			System.out.println("\n----------------------------\n");
 
			teclado.nextLine();//cada vez que pulsemos enter se verá el estado de las colas, llamando a sus respectivos metodos
		}
	}
 
	public static int Asignar_Cola(Cola cola1, Cola cola2, Cola cola3, Cola cola4, Cola cola5){
		int numCola = 1;
		int tamCola = cola1.getLongitud();
 
		if(cola2.getLongitud()<tamCola){
			numCola = 2;
			tamCola = cola2.getLongitud();
		}
 
		if(cola3.getLongitud()<tamCola){
			numCola = 3;
			tamCola = cola3.getLongitud();
		}
 
		if(cola4.getLongitud()<tamCola){
			numCola = 4;
			tamCola = cola4.getLongitud();
		}
 
		if(cola5.getLongitud()<tamCola){
			numCola = 5;
			tamCola = cola5.getLongitud();
		}
 
		return numCola;
	}
}

Cola:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package ejer_4;
 
public class Cola {
 
	private int longitud;
	private int listapersonas[] = new int[100];
 
	public Cola(){
		longitud=0;
	}
 
	public int getLongitud() {
		return longitud;
	}
 
	public void setLongitud(int longitud) {
		this.longitud = longitud;
	}
 
	public int[] getListapersonas() {
		return listapersonas;
	}
 
	public void setListapersonas(int[] listapersonas) {
		this.listapersonas = listapersonas;
	}
 
	public void Servir_Cola(){
 
		for(int i=0;i<longitud;i++){
 
			if(listapersonas[i]>0){ //si es mayor que 0, restale 1 minuto
				listapersonas[i]=listapersonas[i]-1;
			}
 
			if(listapersonas[i]<1){ //si es menor de 1, la suprimirá
				Extraer_Tarea(i);
			}
		}
	}
 
	public void Insertar_Tarea(int x){ //LE PASO X SERÁN LOS MINUTOS AL AZAR DADOS POR EL MAIN, PARA ASIGNARLOS Y MINUTO SERA POR EL MINUTO QUE VA
 
		listapersonas[longitud]=x;
		longitud++;
 
	}
 
	public void Extraer_Tarea(int posicion){
 
		int cambio;
 
		for(int p=0;p<longitud;p++){
 
			if(listapersonas[p]==listapersonas[posicion]){ //SI COINCIDE CON LA POSICION PASADA POR EL PARAMETRO 
 
				longitud++; //COMO SI AGREGASEMOS UN 0 AL FINAL
				listapersonas[longitud]=listapersonas[p]; //PONLE AL 0 DEL FINAL LA POSICION A ELIMINAR
				listapersonas[p]=0;//LE PONE UN 0 YA QUE ESTÁ AL FINAL
				longitud--;//Y SUPRIME LA ÚLTIMA POSICION
 
			}
		}//CON EL FIN DE ÉTE BUCLE TENEMOS LA VARIABLE EN CUESTION ELIMINADA PERO QUEDA UN 0 
 
		listapersonas[posicion+1]=listapersonas[posicion+1]-1; //PARA QUE ÉSA POSICION LE RESTE UNO, SINO SALE SIN DESCONTAR EL MINUTO QUE LE CORRESPONDE
 
		for(int p=0;p<longitud;p++){ // PARA ELLO HACEMOS UN BUCLE QUE NOS DEJE EL 0 AL FINAL INTERCAMBIANDO POR LA POSICION SIGUIENTE Y ASI HASTA QUE EL 0 QUEDE AL FINAL
 
			if(listapersonas[p]==0){
				cambio=listapersonas[p];
				listapersonas[p]=listapersonas[p+1];
				listapersonas[p+1]=cambio;
 
			}
		}
 
		longitud--; //CON EL 0 YA EN EL FINAL HACIENDO UN LONGITUD-- ELIMINAMOS ESA ULTIMA POSICION, POR LO QUE YA HABRA ELIMINADO EL ELEMENTO EN CUESTIÓN
 
 
	}
 
	public void VisualizarCola(){
 
		for(int k=0;k<longitud;k++){ //mostrará *-20 *-30 *-12 por ejemplo
 
			System.out.print(" *" + -listapersonas[k]);
 
		}
	}
}

No estoy de acuerdo con como tienes la estructura pero eso ya es cosa de analisis tuya.
Espero que te vaya bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por Ismael (14 intervenciones) el 24/02/2016 14:12:40
Me podrias mandar tu email para contactar contigo si tengo alguna duda? La verdad me arias un gran favor :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por Ismael (14 intervenciones) el 24/02/2016 14:14:24
Ahhh y otra cosa... Se puede eliminar un post entero?, ya una vez solucionado me interesaria borrar todo este post entero por si acaso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por arck (145 intervenciones) el 24/02/2016 14:22:03
jajajaja
no creo, seguro que algún compañero tuyo lo ve si buscan un poquito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por Ismael (14 intervenciones) el 25/02/2016 10:37:56
Hola arck pues he estado ya horas intentando hacer lo de que me extraiga correctamente, cuando van a salir dos tareas al mismo tiempo y se queda en 0, no lo consigo solucionar aber si me puedes orientar un poco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por arck (145 intervenciones) el 25/02/2016 11:13:34
Es mas simple de lo que parece.

Puedes repetir varias veces el bucle, cosa poco recomendable.
o puedes contar desde el principio.

tu lo que haces es recorres toda la lista y restas -1 a las tareas. OK

Después recorre todo organizando las tareas, dejándolas primero en la lista.
en caso de tener 2 ceros deberías mover la tercera tarea 2 posiciones en vez de una, yo llevaría el recuento de 0 encontrados entonces la inserción seria sobre la posición [i-ceros]

Y cuenta las que sean diferentes de 0.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por Ismael (14 intervenciones) el 25/02/2016 11:37:06
Pero el fallo está en ExtraerTarea no en ServirTareas, digo yo, he intentado como tu dices pero ahora en vez de salirme 0 hay uno que no me lo quita, nosé seguro que es una tonteria, pero mira que llevo ya horas intentandolo y no sale, no lo entiendo... Sino da igual que lo entregaré así, porque ya no hay mas maneras de que se me ocurra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una pequeña ayuda... No pido mucho... [ Juego de Colas ]

Publicado por arck (145 intervenciones) el 25/02/2016 12:03:20
Sigue los pasos que te he dicho.

tu lo que haces es recorres toda la lista y restas -1 a las tareas. OK Esto ya lo tienes hecho es el servir tarea.


Después recorre todo organizando las tareas, dejándolas primero en la lista.
en caso de tener 2 ceros deberías mover la tercera tarea 2 posiciones en vez de una, yo llevaría el recuento de 0 encontrados entonces la inserción seria sobre la posición [i-ceros]

Y cuenta las que sean diferentes de 0.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar