Salve a tutti, il mio primo messaggio sul forum!
Per la prima volta mi trovo un po' in difficoltà nella programmazione e mi rivolgo a voi, sperando che qualcuno riesca ad aiutarmi!
Allora... cominciamo :P
Il testo dell'esercizio recita così:
Non riesco a risolvere il quarto punto, da fare obbligatoriamente con la ricerca dicotomica o binaria. Questo come ho tentato di risolvere l'esercizio.Dati in input per ogni cliente di una azienda commerciale le seguenti istruzioni:
- Ragione sociale
- Partita IVA
- Fatturato annuo
Determinare:
- La Partita IVA dell'azienda con fatturato annuo più alto
- Elenco delle aziende con fatturato annuo < 100.000€
- Elenco delle aziende in ordine di fatturato
- Partita IVA e fatturato di una azienda la cui ragione sociale sia data in input (Ricerca dicotomica)
- Il fatturato medio
Qua, per comodità, potete leggere la versione indentata!Private Sub Command5_Click()
cerca = InputBox("Quale azienda cerchi?")
primo = 1
ultimo = quante
i = 0
trovato = False
Do
medio = CInt((primo + ultimo) / 2)
If (ragsociale(medio)) = cerca Then
MsgBox (iva(medio))
MsgBox (fatturato(medio))
trovato = True
Else
If (ragsociale(medio)) < cerca Then
primo = medio + 1
Else
ultimo = medio - 1
End If
End If
Loop Until (trovato = True Or primo >= ultimo)
End Sub
Ovviamente tutti gli array e variabili, nonostante la dichiarazione di queste ultime non sia obbligatoria, son dichiarati. Purtroppo il risultato in output varia: certi li risolve correttamente mentre in altri casi va in loop infinito e non manda, ovviamente, nulla in output.
Qualche consiglio? Grazie mille![]()