Oppure

Loading
19/05/09 17:07
brigaglia
ecco il mio problema che devo risolvere in visual basic ma non ho capito come fare...

devo dare in input una frase e in output mi deve dare quante "a" sono contenute nella frase data in input...

grazie degli aiuti!!
aaa
19/05/09 17:17
GrG
puoi usare instr...

ecco una piccola funzione che ho appena scritto (dovrebbe funzionare):
Private Function Conta(ByVal frase As String)
Dim i As Integer, contatore As Integer
i = 1
Do
i = InStr(i, frase, "a")
If i > 0 Then
contatore = contatore + 1
i = i + 1
Else
i = 1
End If
DoEvents
Loop Until i = 1
Conta = contatore
End Function
aaa
19/05/09 17:23
brigaglia
Postato originariamente da GrG:

puoi usare instr...

ecco una piccola funzione che ho appena scritto (dovrebbe funzionare):
Private Function Conta(ByVal frase As String)
Dim i As Integer, contatore As Integer
i = 1
Do
i = InStr(i, frase, "a")
If i > 0 Then
contatore = contatore + 1
i = i + 1
Else
i = 1
End If
DoEvents           <-----------------  che signfiica?
Loop Until i = 1
Conta = contatore
End Function
aaa
19/05/09 17:26
antometal
oppure puoi usare la funzione count(array) che restituisce i numeri di elementi di un vettore, e split(stringa,separatore)che faccio un esempio che è meglio

str="provaprova"
str_arr=split(str,"o")


a questo punto hai:
str_arr(0) che contiene: pr
str_arr(1) che contiene: vapr
str_arr(2) che contiene: va

quindi per contare le 'a' in una stringa puoi usare questo codice

num_a=count(split(str,"a"))-1
Ultima modifica effettuata da antometal 19/05/09 17:29
aaa
19/05/09 17:28
brigaglia
Postato originariamente da antometal:

oppure puoi usare la funzione count(array) che restituisce i numeri di elementi di un vettore, e split(stringa,separatore)che faccio un esempio che è meglio

str="provaprova"
str_arr=split(str,"o")


a questo punto hai:
str_arr(0) che contiene: pr
str_arr(1) che contiene: vapr
str_arr(2) che contiene: va

quindi per contare le 'a' in una stringa puoi usare questo codice

num_a=count(split(str,"a"))[b]-1[/b]


chiedo scusa per il doppio post


ah grazie mille!!!:k:
aaa
19/05/09 17:37
brigaglia
Postato originariamente da GrG:

puoi usare instr...

ecco una piccola funzione che ho appena scritto (dovrebbe funzionare):
Private Function Conta(ByVal frase As String)
Dim i As Integer, contatore As Integer
i = 1
Do
i = InStr(i, frase, "a")
If i > 0 Then
contatore = contatore + 1
i = i + 1
Else
i = 1
End If
DoEvents
Loop Until i = 1
Conta = contatore
End Function


potresti dirmi cosa significa doEvents?
aaa
19/05/09 17:54
theprogrammer
Postato originariamente da antometal:

oppure puoi usare la funzione count(array) che restituisce i numeri di elementi di un vettore, e split(stringa,separatore)che faccio un esempio che è meglio


Mi sa che stai proponendo codice VB.NET ... count non esiste in VB6 ...

Comunque, consiglio questo semplice codice

s = "provaprova"
d = Len(s) - Len(Replace(s, "a", ""))

aaa
19/05/09 17:56
ruggy94
Postato originariamente da theprogrammer:
Comunque, consiglio questo semplice codice

s = "provaprova"
d = Len(s) - Len(Replace(s, "a", ""))


Veramente astuto :D bravo
Ultima modifica effettuata da ruggy94 19/05/09 17:56
aaa