Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Aide les combinaisons de encore | |
| | Auteur | Message |
---|
EWERSON
Nombre de messages : 9 Age : 34 Localisation : Manaus Date d'inscription : 06/12/2010
| Sujet: Aide les combinaisons de encore Mer 25 Avr 2012 - 7:30 | |
| Version française: Bonjour à tous, Je voudrais aider à un programme de combinaisons numériques qui sont répétées. EXPLIQUER: Le programme effectue les opérations suivantes .... Você clica no botão "Open" e abre um arquivo contendo duas linhas de com alguns numeros.(isso tudo já está feito, mas é para melhor entendimento!). Après tous les numéros sont chargés dans leur respectif "Liste" (cela aussi est déjà codée et fonctionne bien!). Maintenant est le temps de faire les combinaisons possibles avec ces numéros ... (Voici le problème!). Vous cliquez sur les "combinaisons" et attendre ... J'ai créé un codage qui est en partie ce que je veux, mais les combinaisons sortent double (avec répétitions). Comment puis-je éviter cela? PS: Les numéros sont dans une fourchette de 1 à 25, mais seulement 15 douzaines sont présents dans chaque ligne du fichier. Voici un exemple de fichier avec les deux lignes numériques (ce qui devrait être sauvegardé dans un fichier *. Txt): - Code:
-
0AAA - 01 03 05 06 07 08 09 11 13 14 15 19 20 21 23 0BBB - 01 02 03 06 09 10 11 12 14 15 17 21 22 23 24
Voici mon fichier pour être évalués COMBINATOR.BAS (je sais que j'ai fait quelque chose de mal en elle ...): - Code:
-
LABEL ABRIR, ANALIZAR,COMBINAR
DIM I,L, J, N, X DIM Z, A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1
DIM A$, B$,C$,D$,E$,F$,G$,H$,I$,J$,K$,L$,M$,N$,O$,P$,T$
DIM S(25)
CAPTION 0,"COMBINATOR" WIDTH 0, SCREEN_X HEIGHT 0, SCREEN_Y
FOR I=1 TO 15 IF I=1 LIST I LEFT I, 20 TOP I, 20 WIDTH I, 40 HEIGHT I, 150 ELSE LIST I LEFT I,LEFT(I-1)+WIDTH(I-1)+10 TOP I,TOP(I-1) WIDTH I, 40 HEIGHT I, 150 END_IF NEXT I
LIST 16 TOP 16,TOP(16)+HEIGHT(16)+150 LEFT 16, 15 WIDTH 16,100 HEIGHT 16,250 MEMO 17 LEFT 17,LEFT(3) TOP 17,TOP(16) WIDTH 17,LEFT(15)+WIDTH(15)-LEFT(3) HEIGHT 17,250 BAR_VERTICAL 17 BUTTON 18 LEFT 18,LEFT(1) TOP 18, TOP(1)+HEIGHT(1)+40 WIDTH 18,100 CAPTION 18, "OPEN" ON_CLICK 18, ABRIR PROGRESS_BAR 19 LEFT 19, LEFT(1) TOP 19, TOP(1)+HEIGHT(1)+8 WIDTH 19,LEFT(15)+WIDTH(15)-LEFT(1) HEIGHT 19, 13 BUTTON 20 LEFT 20,LEFT(4) TOP 20, TOP(1)+HEIGHT(1)+40 WIDTH 20,100 CAPTION 20,"COMBINATION" ON_CLICK 20,COMBINAR DLIST 21
WIDTH 0, LEFT(15)+WIDTH(15)+25 HEIGHT 0, TOP(17)+HEIGHT(17)+60
END
ABRIR: FOR I=1 TO 17 CLEAR I NEXT I
CLEAR 21 : ' DLIST PRINT_TARGET_IS 17
OPEN_DIALOG 100 FILTER 100, "OPEN | *.TXT" A$ = FILE_NAME$(100)
IF A$ <> "_"
FILE_OPEN_READ 200, A$
WHILE FILE_EOF(200) <> 1 FILE_READLN 200, B$ IF LEN(TRIM$(B$)) = 51 P$=TRIM$(B$) ITEM_ADD 16, "VALOR: "+LEFT$(P$, 5) ITEM_ADD 21, RIGHT$(P$, 51) END_IF END_WHILE
SORT 21 SORT 16
FILE_CLOSE 200
END_IF DELETE 100 GOSUB ANALIZAR
RETURN
ANALIZAR: IF COUNT(21)=0 THEN RETURN J=0 MIN 19, 0 MAX 19, COUNT(21)
FOR I = 1 TO 44 STEP 3 J=J+1
FOR L=0 TO 25 S(L) = 0 NEXT L
FOR X = 1 TO COUNT(21) POSITION 19, X A$ = RIGHT$(ITEM_READ$(21,X), 44) Z = VAL(MID$(A$, I, 2)) SELECT Z CASE 1 S(1) = S(1)+1 CASE 2 S(2) = S(2)+1 CASE 3 S(3) = S(3)+1 CASE 4 S(4) = S(4)+1 CASE 5 S(5) =S(5) +1 CASE 6 S(6) = S(6)+1 CASE 7 S(7) = S(7)+1 CASE 8 S(8) = s(8)+1 CASE 9 S(9) = S(9)+1 CASE 10 S(10) = S(10)+1 CASE 11 S(11) = S(11)+1 CASE 12 S(12) = S(12)+1 CASE 13 S(13) = S(13)+1 CASE 14 S(14) = S(14)+1 CASE 15 S(15) = S(15)+1 CASE 16 S(16) = S(16)+1 CASE 17 S(17) = S(17)+1 CASE 18 S(18) = S(18)+1 CASE 19 S(19) = S(19)+1 CASE 20 S(20) = S(20)+1 CASE 21 S(21) = S(21)+1 CASE 22 S(22) = S(22)+1 CASE 23 S(23) = S(23)+1 CASE 24 S(24) = S(24)+1 CASE 25 S(25) = S(25)+1 END_SELECT
NEXT X FOR Z=1 TO 25 IF STR$(S(Z))<>"0" IF Z<10 ITEM_ADD J,"0"+STR$(Z) ELSE ITEM_ADD J,Z END_IF WAIT 10 END_IF NEXT Z
NEXT I POSITION 19, 0 RETURN
COMBINAR: N=0
PRINT_TARGET_IS 17
FOR A1=1 TO COUNT(1) A$=ITEM_READ$(1,A1)
FOR B1=1 TO COUNT(2) B$=ITEM_READ$(2,B1)
FOR C1=1 TO COUNT(3) C$=ITEM_READ$(3,C1)
FOR D1=1 TO COUNT(4) D$=ITEM_READ$(4,D1)
FOR E1=1 TO COUNT(5) E$=ITEM_READ$(5,E1)
FOR F1=1 TO COUNT(6) F$=ITEM_READ$(6,F1)
FOR G1=1 TO COUNT(7) G$=ITEM_READ$(7,G1)
FOR H1=1 TO COUNT(8) H$=ITEM_READ$(8,H1)
FOR I1=1 TO COUNT(9) I$=ITEM_READ$(9,I1)
FOR J1=1 TO COUNT(10) J$=ITEM_READ$(10,J1)
FOR K1=1 TO COUNT(11) K$=ITEM_READ$(11,K1)
FOR L1=1 TO COUNT(12) L$=ITEM_READ$(12,L1)
FOR M1=1 TO COUNT(13) M$=ITEM_READ$(13,M1)
FOR N1=1 TO COUNT(14) N$=ITEM_READ$(14,N1)
FOR O1=1 TO COUNT(15) O$=ITEM_READ$(15,N1)
' A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1 IF VAL(O$)>VAL(N$) AND VAL(N$)>VAL(M$) AND VAL(M$)>VAL(L$) AND VAL(L$)>VAL(K$) IF VAL(K$)>VAL(J$) AND VAL(J$)>VAL(I$) AND VAL(I$)>VAL(H$) AND VAL(H$)>VAL(G$) IF VAL(G$)>VAL(F$) AND VAL(F$)>VAL(E$) AND VAL(E$)>VAL(D$) AND VAL(D$)>VAL(C$) IF VAL(C$)>VAL(B$) AND VAL(B$)>VAL(A$)
N=N+1 IF N>0 AND N<10 THEN PRINT "000",N," - ",A$," ",B$," ",C$," ",D$, " ",E$," ",F$," ",G$ ," ",H$," ",I$, " ",J$," ",K$, " ",L$, " ",M$," ",N$," ",O$ IF N>9 AND N<100 THEN PRINT "00",N," - ",A$," ",B$," ",C$," ",D$, " ",E$," ",F$," ",G$ ," ",H$," ",I$, " ",J$," ",K$, " ",L$, " ",M$," ",N$," ",O$ IF N>99 AND N<1000 THEN PRINT "0",N," - ",A$," ",B$," ",C$," ",D$, " ",E$," ",F$," ",G$ ," ",H$," ",I$, " ",J$," ",K$, " ",L$, " ",M$," ",N$," ",O$ IF N>999 THEN PRINT N," - ",A$," ",B$," ",C$," ",D$, " ",E$," ",F$," ",G$ ," ",H$," ",I$, " ",J$," ",K$, " ",L$, " ",M$," ",N$," ",O$ END_IF END_IF END_IF END_IF
NEXT O1 NEXT N1 NEXT M1 NEXT L1 NEXT K1 NEXT J1 NEXT I1 NEXT H1 NEXT G1 NEXT F1 NEXT E1 NEXT D1 NEXT C1 NEXT B1 NEXT A1
print "=======================================" print "TOTAL DE COMBINAÇÕES: ",N
RETURN
Merci à tous ceux qui peuvent aider.... J'espère que j'ai été assez clair ... PS: Cette traduction a été faite par Google Translate alors si il ya des erreurs que vous connaissez déjà qui blâmer ... Je me sens si ce forum multilingue! ========================================================= Version en portugais du Brésil: Olá a todos, Gostaria de uma ajuda em um programas de combinações numericas que estão se repetindo. EXPLICANDO: O programa faz o seguinte.... Você clica no botão "OPEN" e abre um arquivo contendo duas linhas com alguns numeros.(isso tudo já está feito, mas é para melhor entendimento!). Depois todos os numeros são carregados para suas respectivas "List"(isso tambem já esta codificado e funciona bem!). Agora é a hora de fazer as combinações possiveis com esses numeros...(Aqui está o problema!). Você deve pressionar o botão "COMBINATION" e esperar as combinações possíveis.... Criei uma codificação que em parte faz o que quero, mas as combinações estão saindo duplicadas(com repetições). Como faço para que isso não ocorra? PS: Os numeros estão em uma faixa de 1 a 25, mas apenas 15 dezenas estão presentes em cada linha do arquivo. Aqui em baixo vai um exemplo do arquivo com as duas linhas numericas(isso deve ser salvo em um arquivo *.txt): 0AAA - 01 03 05 06 07 08 09 11 13 14 15 19 20 21 23 0BBB - 01 02 03 06 09 10 11 12 14 15 17 21 22 23 24 Aqui esta o meu arquivo COMBINATOR.BAS para ser avaliado(Sei que fiz alguma coisa errada nele...): O CÓDIGO JÁ ESTÁ POR AÍ..... Obrigado a todos os que puderem ajudar.... Espero ter sido bastante claro. PS: ESSA TRADUÇÃO FOI FEITA NO GOOGLE TRANSLATOR SE HOUVER QUALQUER ERRO VOCÊS SABEM A QUEM DEVEM CULPAR... ME SINTO TÃO POLIGLOTA NESTE FORUM! ========================================================= | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Aide les combinaisons de encore Ven 27 Avr 2012 - 2:06 | |
| Tu as oublié une modification de variable, en ligne 244. Vocé esquece de modifiar uma variavel em ligna 244. - Code:
-
LABEL ABRIR, ANALIZAR,COMBINAR
DIM I,L, J, N, X DIM Z, A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1
DIM A$, B$,C$,D$,E$,F$,G$,H$,I$,J$,K$,L$,M$,N$,O$,P$,T$
DIM S(25)
CAPTION 0,"COMBINATOR" WIDTH 0, SCREEN_X HEIGHT 0, SCREEN_Y
FOR I=1 TO 15 IF I=1 LIST I LEFT I, 20 TOP I, 20 WIDTH I, 40 HEIGHT I, 150 ELSE LIST I LEFT I,LEFT(I-1)+WIDTH(I-1)+10 TOP I,TOP(I-1) WIDTH I, 40 HEIGHT I, 150 END_IF NEXT I
LIST 16 TOP 16,TOP(16)+HEIGHT(16)+150 LEFT 16, 15 WIDTH 16,100 HEIGHT 16,250
MEMO 17 LEFT 17,LEFT(3) TOP 17,TOP(16) WIDTH 17,LEFT(15)+WIDTH(15)-LEFT(3) HEIGHT 17,250 BAR_VERTICAL 17
BUTTON 18 LEFT 18,LEFT(1) TOP 18, TOP(1)+HEIGHT(1)+40 WIDTH 18,100 CAPTION 18, "OPEN" ON_CLICK 18, ABRIR
PROGRESS_BAR 19 LEFT 19, LEFT(1) TOP 19, TOP(1)+HEIGHT(1)+8 WIDTH 19,LEFT(15)+WIDTH(15)-LEFT(1) HEIGHT 19, 13
BUTTON 20 LEFT 20,LEFT(4) TOP 20, TOP(1)+HEIGHT(1)+40 WIDTH 20,100 CAPTION 20,"COMBINATION" ON_CLICK 20,COMBINAR
DLIST 21
WIDTH 0, LEFT(15)+WIDTH(15)+25 HEIGHT 0, TOP(17)+HEIGHT(17)+60
END
ABRIR: FOR I=1 TO 17 CLEAR I NEXT I
CLEAR 21 : ' DLIST
PRINT_TARGET_IS 17
OPEN_DIALOG 100 FILTER 100, "OPEN | *.TXT" A$ = FILE_NAME$(100)
IF A$ <> "_"
FILE_OPEN_READ 200, A$
WHILE FILE_EOF(200) <> 1 FILE_READLN 200, B$ IF LEN(TRIM$(B$)) = 51 P$=TRIM$(B$) ITEM_ADD 16, "VALOR: "+LEFT$(P$, 5) ITEM_ADD 21, RIGHT$(P$, 51) END_IF END_WHILE
SORT 21 SORT 16
FILE_CLOSE 200
END_IF DELETE 100
GOSUB ANALIZAR
RETURN
ANALIZAR: IF COUNT(21)=0 THEN RETURN J=0 MIN 19, 0 MAX 19, COUNT(21)
FOR I = 1 TO 44 STEP 3 J=J+1
FOR L=0 TO 25 S(L) = 0 NEXT L
FOR X = 1 TO COUNT(21) POSITION 19, X A$ = RIGHT$(ITEM_READ$(21,X), 44) Z = VAL(MID$(A$, I, 2)) SELECT Z CASE 1 S(1) = S(1)+1 CASE 2 S(2) = S(2)+1 CASE 3 S(3) = S(3)+1 CASE 4 S(4) = S(4)+1 CASE 5 S(5) =S(5) +1 CASE 6 S(6) = S(6)+1 CASE 7 S(7) = S(7)+1 CASE 8 S(8) = s(8)+1 CASE 9 S(9) = S(9)+1 CASE 10 S(10) = S(10)+1 CASE 11 S(11) = S(11)+1 CASE 12 S(12) = S(12)+1 CASE 13 S(13) = S(13)+1 CASE 14 S(14) = S(14)+1 CASE 15 S(15) = S(15)+1 CASE 16 S(16) = S(16)+1 CASE 17 S(17) = S(17)+1 CASE 18 S(18) = S(18)+1 CASE 19 S(19) = S(19)+1 CASE 20 S(20) = S(20)+1 CASE 21 S(21) = S(21)+1 CASE 22 S(22) = S(22)+1 CASE 23 S(23) = S(23)+1 CASE 24 S(24) = S(24)+1 CASE 25 S(25) = S(25)+1 END_SELECT
NEXT X FOR Z=1 TO 25 IF STR$(S(Z))<>"0" IF Z<10 ITEM_ADD J,"0"+STR$(Z) ELSE ITEM_ADD J,Z END_IF WAIT 10 END_IF NEXT Z
NEXT I POSITION 19, 0 RETURN
COMBINAR: N=0
PRINT_TARGET_IS 17
FOR A1=1 TO COUNT(1) A$=ITEM_READ$(1,A1)
FOR B1=1 TO COUNT(2) B$=ITEM_READ$(2,B1)
FOR C1=1 TO COUNT(3) C$=ITEM_READ$(3,C1)
FOR D1=1 TO COUNT(4) D$=ITEM_READ$(4,D1)
FOR E1=1 TO COUNT(5) E$=ITEM_READ$(5,E1)
FOR F1=1 TO COUNT(6) F$=ITEM_READ$(6,F1)
FOR G1=1 TO COUNT(7) G$=ITEM_READ$(7,G1)
FOR H1=1 TO COUNT(8) H$=ITEM_READ$(8,H1)
FOR I1=1 TO COUNT(9) I$=ITEM_READ$(9,I1)
FOR J1=1 TO COUNT(10) J$=ITEM_READ$(10,J1)
FOR K1=1 TO COUNT(11) K$=ITEM_READ$(11,K1)
FOR L1=1 TO COUNT(12) L$=ITEM_READ$(12,L1)
FOR M1=1 TO COUNT(13) M$=ITEM_READ$(13,M1)
FOR N1=1 TO COUNT(14) N$=ITEM_READ$(14,N1)
FOR O1=1 TO COUNT(15) ' O$=ITEM_READ$(15,N1) : ' voce esquece de modifiar N1 em O1 ! O$=ITEM_READ$(15,O1)
' A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1 IF VAL(O$)>VAL(N$) AND VAL(N$)>VAL(M$) AND VAL(M$)>VAL(L$) AND VAL(L$)>VAL(K$) IF VAL(K$)>VAL(J$) AND VAL(J$)>VAL(I$) AND VAL(I$)>VAL(H$) AND VAL(H$)>VAL(G$) IF VAL(G$)>VAL(F$) AND VAL(F$)>VAL(E$) AND VAL(E$)>VAL(D$) AND VAL(D$)>VAL(C$) IF VAL(C$)>VAL(B$) AND VAL(B$)>VAL(A$)
N=N+1 IF N>0 AND N<10 THEN PRINT "000",N," - ",A$," ",B$," ",C$," ",D$, " ",E$," ",F$," ",G$ ," ",H$," ",I$, " ",J$," ",K$, " ",L$, " ",M$," ",N$," ",O$ IF N>9 AND N<100 THEN PRINT "00",N," - ",A$," ",B$," ",C$," ",D$, " ",E$," ",F$," ",G$ ," ",H$," ",I$, " ",J$," ",K$, " ",L$, " ",M$," ",N$," ",O$ IF N>99 AND N<1000 THEN PRINT "0",N," - ",A$," ",B$," ",C$," ",D$, " ",E$," ",F$," ",G$ ," ",H$," ",I$, " ",J$," ",K$, " ",L$, " ",M$," ",N$," ",O$ IF N>999 THEN PRINT N," - ",A$," ",B$," ",C$," ",D$, " ",E$," ",F$," ",G$ ," ",H$," ",I$, " ",J$," ",K$, " ",L$, " ",M$," ",N$," ",O$
END_IF END_IF END_IF END_IF
NEXT O1 NEXT N1 NEXT M1 NEXT L1 NEXT K1 NEXT J1 NEXT I1 NEXT H1 NEXT G1 NEXT F1 NEXT E1 NEXT D1 NEXT C1 NEXT B1 NEXT A1
print "=======================================" print "TOTAL DE COMBINAÇÕES: ",N
RETURN
Joli programme ! Boa programma ! | |
| | | | Aide les combinaisons de encore | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |