Visual Basic - Hallar el mayor valor de un arreglo y las veces que este se repite.

Life is soft - evento anual de software empresarial
 
Vista:

Hallar el mayor valor de un arreglo y las veces que este se repite.

Publicado por Cristian (2 intervenciones) el 04/05/2020 08:18:53
Hola, el algoritmo se debe resolver en VBA, realice el proceso y hasta el momento ya obtengo en numero mayor de un arreglo pero no me funciona el contador, entonces amablemente solicito si me podrían colaborar por favor para verificar en qué me equivoqué, a continuación adjunto lo realizado.

1
2
3
4
5
6
7
8
9
10
11
12
13
maximo = 0
contador = 0
 
For i = 2 To N
    If maximo < Hoja3.Cells(i, 1) Then
        maximo = Hoja3.Cells(i, 1)
          Hoja3.Cells(5, 3) = maximo
          End If
    If Hoja3.Cells(i, 1) = maximo Then
        contador = contador + 1
        Hoja3.Cells(5, 4) = contador
      End If
Next

Agradezco cualquier comentario.
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
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Hallar el mayor valor de un arreglo y las veces que este se repite.

Publicado por Antoni Masana (558 intervenciones) el 04/05/2020 15:02:03
Aqui esta la correción:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Maximo = 0
contador = 0
 
For i = 2 To N
    If Hoja3.Cells(i, 1) > Maximo Then
        Maximo = Hoja3.Cells(i, 1)
        Contador = 0
    End If
 
    If Hoja3.Cells(i, 1) = Maximo Then
        Contador = Contador + 1
        Hoja3.Cells(5, 3) = Maximo
        Hoja3.Cells(5, 4) = Contador
    End If
Next

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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Hallar el mayor valor de un arreglo y las veces que este se repite.

Publicado por Andres Leonardo (1798 intervenciones) el 04/05/2020 16:49:23
Hola ANthony,

Buenos dias,

Me parece que deberían se dos for separados ..puesto que si el valor máximo la primera vez es 3 por ejemplo el ciclo contara las veces que se repite el 3 y luego cambia a 4 las veces que se repitió 3 ya se contaron pero no las que se repitió 4 por lo que habría que con el valor máximo hacer otro for y ver cuantas veces se repite...este nuevo valor

La otra es asignar a variables los valores de las formulas mediante vba .. aunque estos deberes son para practicar ciclos el que solicita no indica lo que necesita.

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
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Hallar el mayor valor de un arreglo y las veces que este se repite.

Publicado por Antoni Masana (558 intervenciones) el 04/05/2020 18:08:38
Hola Andres,

Cuando encuentra un numero mayor que el anterior pone el contador a cero.

Veamos un ejemplo
3
3
3
4
4

1
2
3
4
5
6
7
8
9
10
Celda 2 : 1º IF : pone maximo a 3 y contador a 0 - 2º IF - pone contador a 1
Celda 3 : 1º IF : No cumple                      - 2º IF - pone contador a 2
Celda 4 : 1º IF : No cumple                      - 2º IF - pone contador a 3
Celda 5 : 1º IF : pone maximo a 4 y contador a 0 - 2º IF - pone contador a 1
Celda 6 : 1º IF : No cumple                      - 2º IF - pone contador a 2
 
Respuesta:
 
Maximo..... 4
Se repite.. 2 veces

Se puede hacer de otra forma, SI y seguro que de muchas más, pero siguiendo el código de Cristian lo ha corregido.
Y si, es un ejercicio de clase y se lo he corregido porque ha hecho el esfuerzo de hacerlo, mal pero lo ha hecho.

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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Hallar el mayor valor de un arreglo y las veces que este se repite.

Publicado por Andres Leonardo (1798 intervenciones) el 04/05/2020 20:50:13
Excelente es por que cuando lo detecte la primera vez es por que sera mayor

excelnte Maestro!!! Lo voy a chekar!

Gracias
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

Hallar el mayor valor de un arreglo y las veces que este se repite.

Publicado por Cristian (2 intervenciones) el 04/05/2020 21:34:40
Muchas gracias Antoni, voy a revisar el código y mirar en lo que me equivoqué. Te lo agradezco, feliz día.
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