Conocer las veces que una cadena es parte de una matriz

Conocer las veces que una cadena es parte de una matriz

Postby nanoespinoza » Tue Jul 21, 2020 2:47 am

Estimados:

Tengo el siguiente problema y no le encuentro una solución adecuada con una función propia de FW o xHarbour (quizá una combinación entre AEval y AScan sea lo adecuado, pero no he podido dar con la sintaxis adecuada). Lo resumo: si tengo una matriz con varios elementos y quiero conocer la cantidad de veces que un valor especifico se encuentra contenido en la matriz.

Ejemplo_
aMatriz:={"XYZ", "ABC", "ABC", "DEF", "D12345", "ABC", "UVW"", "DEF"}

¿Como hago para conocer la cantidad de veces que la cadena "ABC" está repetida en aMatriz?

Saludos

Fernando Espinoza A.
nanoespinoza
 
Posts: 141
Joined: Thu Mar 16, 2017 4:08 pm
Location: Ecuador

Re: Conocer las veces que una cadena es parte de una matriz

Postby Antonio Linares » Tue Jul 21, 2020 4:03 am

Code: Select all  Expand view  RUN
function Main()

   local aMatriz := { "XYZ", "ABC", "ABC", "DEF", "D12345", "ABC", "UVW", "DEF" }
   local n := 0    
   
   AEval( aMatriz, { | c | If( c == "ABC", n++,) } )
   
   ? n
   
return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42127
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Conocer las veces que una cadena es parte de una matriz

Postby nanoespinoza » Tue Jul 21, 2020 4:38 am

Estimado Antonio

Perfecto, muchas gracias.

Saludos
nanoespinoza
 
Posts: 141
Joined: Thu Mar 16, 2017 4:08 pm
Location: Ecuador

Re: Conocer las veces que una cadena es parte de una matriz

Postby cnavarro » Tue Jul 21, 2020 11:26 am

Otra posibilidad

Code: Select all  Expand view  RUN

#include "Fivewin.ch"

function Main()

   local aMatriz := { "XYZ", "ABC", "ABC", "DEF", "D12345", "ABC", "UVW", "DEF" }
   local n := 0    
   ? n := NumAt( "ABC", FW_ArrayAsList( aMatriz, ";" ) )
   
return nil
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 71 guests