Algoritmia - Algo. creo que sencillo

 
Vista:

Algo. creo que sencillo

Publicado por jose (4 intervenciones) el 01/08/2007 11:57:13
Hola a todos: trato de resolver el sgte. algoritmo pero no doy con una buena solucion. El problema es el sgte. Dado un vector (o array o tabla) como por ejemplo este:

2
2
2
3
4
4
5
5
2
2
2

debe contar cuantos secuencias de pares y de que tamaño son. En este caso, la salida seria:

3 (de los 3 primeros doses)
2 (de los 2 cuatros)
3 (de los 3 ultimos doses)

He realizado un algoritmo pero a veces me añade una secuencia al final que no existe. Tengo que implementarlo en PHP.

Muchas gracias por vuestro tiempo y atencion. Un saludo.
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

RE:Algo. creo que sencillo

Publicado por klaytor (22 intervenciones) el 02/08/2007 15:39:25
Hola jose.

Este código puede servirte, no es muy elegante pero funciona. Está hecho en C.

for (i=0; i<len; i++)
___{
______if ((vector[i] % 2) != 0)
______{
_________if (num != 0) printf("num %i aparece %i veces\n", num, cont);
_________num = 0;
_________cont = 0;
_________continue;
______}
______else
______{
_________if (num == 0)
_________{
____________num = vector[i];
____________cont++;
____________if (i==len) printf("num %i aparece %i veces\n", num, cont);
_________}
______else
_________{
____________if (vector[i] == num)
____________{
_______________cont++;
_______________if (i==len) printf("num %i aparece %i veces\n", num, cont);
____________}
_________else
____________{
_______________printf("num %i aparece %i veces\n", num, cont);
_______________num = 0;
_______________cont = 0;
____________}
_________}
______}
___}

*len = longitud_vector;
*Inicializo las variables a cero asique si el vector tiene ceros lo más seguro es que falle por lo demás a mi me funciona.

Si tienes alguna duda posteala.

Saludos.
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