|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 4259
|
[Visual Basic 6] Programmazione - Vettori, numeri primi , numeri pari , ordinamento !
Ragazzi ho un problema da risolvere, sto creando un programma che deve generare n vettori (da input) i quali devono essere solo numeri non primi, una volta fatto ciò, stamparli e estrarre solo quelli pari ed ordinarli in maniera crescente !
mi date una mano cortesemente ? Riporto qui sotto il codice che sono riuscito a compilare: Private Sub Command1_Click() Cls 'dichiarazione variabili Dim x() As Integer Dim i As Integer Dim n As Integer Dim r As Integer Dim iflag As Integer Dim j As Integer n = InputBox("inserire numero elementi", "numero elementi") Do While n <= 0 MsgBox "n deve essere >0" n = InputBox("inserire numero elementi", "numero elementi") Loop ReDim x(n) 'genera vettore casuale For i = 1 To n Randomize x(i) = Int(Rnd * n) + 1 Next i 'numero primo For i = 1 To n iflag = 0 For j = 2 To x(i) - 1 r = x(i) Mod j If r = 0 Then iflag = 1 Next j If iflag = 1 Then Print i, x(i), "non primo" Else Print i, x(i) End If Next i End Sub In pratica il problema che riscontro è che non riesco a far stampare n vettori da input SOLO NON PRIMI, ma mi stampa anche i PRIMI ..... il problema ripeto è dire al programma, tramite comando DO WHILE di continuare a cercare (casualmente...solo numeri NON PRIMI) e stamparmeli finchè non si raggiunge n vettori (scelti da input in precedenza)....senza stamparmi anche i numeri primi !... Non ho ancora completato il tutto dato che ho bisogno di risolvere prima questo "STEP"
__________________
concluso positivamente con:sidro007-EBJ-blindzoom-cala_l_asso-Elionba82-carson-piottocentino-Marco83_an-capzero-nino.nino-Pyefruitjuice-spakkone-Drago-relativo-pippo1955-MauritZ-stefano_na-Marci-SchumyFast-Andreww!!!-Neapolitan89-DEXTHA-kernelex-umegh-AndreaFra-zamboqdb-Xenon [TMI] || CERCO : Nulla per il momento || VENDO: Nulla per il momento |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 4259
|
Il problema sostanzialmente e scrivere la parte di codice al posto del ciclo For i = 1 to n (prima del codice del generatore di numeri casuali) con un ciclo DO UNTIL !
__________________
concluso positivamente con:sidro007-EBJ-blindzoom-cala_l_asso-Elionba82-carson-piottocentino-Marco83_an-capzero-nino.nino-Pyefruitjuice-spakkone-Drago-relativo-pippo1955-MauritZ-stefano_na-Marci-SchumyFast-Andreww!!!-Neapolitan89-DEXTHA-kernelex-umegh-AndreaFra-zamboqdb-Xenon [TMI] || CERCO : Nulla per il momento || VENDO: Nulla per il momento |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2005
Messaggi: 44
|
'genera vettore casuale
Randomize timer For i = 1 To n x(i) = Int(Rnd * n) + 1 Next i For j = 1 To n r = x(j) Mod j if r=0 then Print j, x(j), "non primo" Else Print j, x(j) End If Next j Ultima modifica di Tesinevb : 06-02-2011 alle 18:03. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 4259
|
Quote:
Perchè ho provato a modificare secondo quanto mi hai scritto ma non funge assolutamente!
__________________
concluso positivamente con:sidro007-EBJ-blindzoom-cala_l_asso-Elionba82-carson-piottocentino-Marco83_an-capzero-nino.nino-Pyefruitjuice-spakkone-Drago-relativo-pippo1955-MauritZ-stefano_na-Marci-SchumyFast-Andreww!!!-Neapolitan89-DEXTHA-kernelex-umegh-AndreaFra-zamboqdb-Xenon [TMI] || CERCO : Nulla per il momento || VENDO: Nulla per il momento |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Dec 2005
Messaggi: 44
|
mi hai quotato mentre modificavo:
'genera vettore casuale Randomize timer For i = 1 To n x(i) = Int(Rnd * n) + 1 Next i For j = 1 To n'n è un solo vettore!!!!!!!!!!!!!!!!!!!!!! r = x(j) Mod j if r=0 then Print j, x(j), "non primo" Else Print j, x(j) End If Next j tu crei un solo vettoresevuoi creare + vettori devi usare una matrice bidimensionale x(y,z)...ecc ecc cmqècon unsolo ciclo che puoi stampare il vettore x(x) appunto un solo vettore di n elementi Ultima modifica di Tesinevb : 06-02-2011 alle 18:12. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 4259
|
Quote:
abbi pazienza forse son io che sono un po troppo principiante in materia mi potresti ricopiare ed incollare il codice completo esatto ?(prendi pure dal mio primo post) grazie mille!!
__________________
concluso positivamente con:sidro007-EBJ-blindzoom-cala_l_asso-Elionba82-carson-piottocentino-Marco83_an-capzero-nino.nino-Pyefruitjuice-spakkone-Drago-relativo-pippo1955-MauritZ-stefano_na-Marci-SchumyFast-Andreww!!!-Neapolitan89-DEXTHA-kernelex-umegh-AndreaFra-zamboqdb-Xenon [TMI] || CERCO : Nulla per il momento || VENDO: Nulla per il momento |
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Dec 2005
Messaggi: 44
|
non ho proprio voglia di farlo ti posso ripetere questo:
tu crei un solo vettore se vuoi creare + vettori devi usare una matrice bidimensionale x(y,z)...ecc ecc cmq è con un solo ciclo che devi stampare il tuo unico vettore x(x) precisamente, appunto, un solo vettore x di n elementi okay? |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 4259
|
Quote:
__________________
concluso positivamente con:sidro007-EBJ-blindzoom-cala_l_asso-Elionba82-carson-piottocentino-Marco83_an-capzero-nino.nino-Pyefruitjuice-spakkone-Drago-relativo-pippo1955-MauritZ-stefano_na-Marci-SchumyFast-Andreww!!!-Neapolitan89-DEXTHA-kernelex-umegh-AndreaFra-zamboqdb-Xenon [TMI] || CERCO : Nulla per il momento || VENDO: Nulla per il momento |
|
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Dec 2005
Messaggi: 44
|
Quote:
Randomize timer For i = 1 To n ' n= numero massimo di elementi x(i) = Int(Rnd * n) + 1' creazione di un vettore con k elementi esimo di n Next i For j = 1 To n' n = il numero massimo di elementi 'x(j) esempio n = 6 x(0), x(1), x(2), x(3)... x(6) 'x(j) unico vettore creato da rnd interi di max 6 elementi r = x(j) Mod j if r=0 then Print j, x(j), "non primo" Else Print j, x(j) End If Next j ecco il code da inserire ciao |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 4259
|
Quote:
__________________
concluso positivamente con:sidro007-EBJ-blindzoom-cala_l_asso-Elionba82-carson-piottocentino-Marco83_an-capzero-nino.nino-Pyefruitjuice-spakkone-Drago-relativo-pippo1955-MauritZ-stefano_na-Marci-SchumyFast-Andreww!!!-Neapolitan89-DEXTHA-kernelex-umegh-AndreaFra-zamboqdb-Xenon [TMI] || CERCO : Nulla per il momento || VENDO: Nulla per il momento |
|
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Dec 2005
Messaggi: 44
|
Quote:
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 4259
|
Riaggiorno questo 3d dato che sono riuscito a risolvere dopo vari grattacapi... il mio "problema" , se può essere utile a qualcuno..ben venga..!
Cadevo nel seguente errore: Non dichiaravo una variabile come "contatore" e quindi il programma mi riportava tutti i numeri senza far selezioni di ciò che mi interessava a me.. Riporto solo la parte "corretta" Quindi come dichiarazione variabili c'è da aggiungere Dim conta as integer conta=0 Bisognava cambiare il ciclo for con un ciclo do while quindi: Do while < conta ISTRUZIONE conta=conta+1 Print conta a(conta)= vettore istruzione Loop Tutto qui!
__________________
concluso positivamente con:sidro007-EBJ-blindzoom-cala_l_asso-Elionba82-carson-piottocentino-Marco83_an-capzero-nino.nino-Pyefruitjuice-spakkone-Drago-relativo-pippo1955-MauritZ-stefano_na-Marci-SchumyFast-Andreww!!!-Neapolitan89-DEXTHA-kernelex-umegh-AndreaFra-zamboqdb-Xenon [TMI] || CERCO : Nulla per il momento || VENDO: Nulla per il momento |
|
|
|
|
|
#13 | |
|
Member
Iscritto dal: Dec 2005
Messaggi: 44
|
Quote:
anche questo che hai scritto non funzionerà avrai un errore... l'istruzione corretta è: Do while conta < 10 '... allora funziona ------------- cmq per la cronaca funzionava anche prima se ti impegni capirai di + |
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 4259
|
Quote:
è dato da input precedentemente! Comunque per la cronaca in ogni caso il codice era corretto e non c'era nulla da modificare, mancava questa istruzione....(come "contatore") e come volevasi dimostrare non avevo tutti i torti nel dire ciò che dicevo...grazie comunque per l'interessamento!
__________________
concluso positivamente con:sidro007-EBJ-blindzoom-cala_l_asso-Elionba82-carson-piottocentino-Marco83_an-capzero-nino.nino-Pyefruitjuice-spakkone-Drago-relativo-pippo1955-MauritZ-stefano_na-Marci-SchumyFast-Andreww!!!-Neapolitan89-DEXTHA-kernelex-umegh-AndreaFra-zamboqdb-Xenon [TMI] || CERCO : Nulla per il momento || VENDO: Nulla per il momento |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:06.




















