Français
Forum

Frage qui semaine!

 
- page 1 -



Frank
Abbing
Peut-être un tel fil est parfois Nice. Quelqu'un demande à un Programmier-devoir et le reste a essayé, une court et une bonne Solution pour trouver...
Le meilleur Solution pourrait le Code-Snippets être emballés.

Mon travail pour Aujourd'hui, c'est:

Trouvez une courte et schnelle Solution à déterminer, Si un répertoire est vide ou non!
 
25.08.2008  
 



 
- page 2 -



Frank
Abbing
Hehe, Dieter a également mon API-Methode posté. Rapide et à court. Le shlwapi est une explosion de utile et des caractéristiques inattendues!
Vous pouvez maintenant quelqu'un d'autre après une tâche.
 
26.08.2008  
 



Votre oui?

Trier performant que possible 200 réelle des nombres aléatoires avec 8 l'exactitude chiffres après rnd()*1000 (XProfan 11) cours, Alors, comment une personne ne.
 
26.08.2008  
 




Jörg
Sellmeyer

KompilierenMarqueSéparation
Randomize
Declare s$
Window 0,0 - 400,%maxy
Var h& = Create("ListBox",%hwnd,1,1,10,200,%maxy - 80)

WhileLoop 200

    AddString(h&,Format$("00#." + MkStr$("#",8),Rnd() * 1000))

Wend

While 1

    WaitInput
    Locate 1,29
    s$ = Format$("00#." + MkStr$("#",8),Rnd() * 1000)
    DeleteString(h&,Rnd(GetCount(h&)))
    AddString(h&,s$)
    SelectString(H&,-1,s$)
    Print s$

Wend

 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
26.08.2008  
 



je gebs Oui pour, c'était une idée stupide! La prochaine s'il vous plaît...
 
26.08.2008  
 




Jörg
Sellmeyer
So, plus gehts:

Elle doit être déterminée à partir d'un certain nombre de valeurs individuelles décimal. Je présente ici comme point de départ une fois la méthode des chaînes. Le tout devrait également être mathématiquement. Une sorte de test bits avec 4bit.
alors, le nombre doit en tout "Bit" quatre Conditions représenter (0,1,2,3) et de ses huit chiffres.
KompilierenMarqueSéparation
Proc ErmittleZahl

    Parameters Zahl$,l%
    Return Mid$(Zahl$,l%,1)

EndProc

Var a% = 33120113
Declare Tick&
Print a%
Set("FastMode",1)
Tick& = &GetTickCount

WhileLoop 8

    Print "Zahl",&Loop,"ist eine",ErmittleZahl(a%,&Loop)
    ErmittleZahl(a%,&Loop)

Wend


Comme je le disais, aucun solutions à cordes, mais purement mathématique et non plus de ce 8 Une boucle.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.08.2008  
 




Frank
Abbing
Pourquoi peut du cela 1000 fois par?
Incidemment n'est que l'un de vos solution à cordes, ou bien? MID$ nunmal est une fonction de chaîne...
 
28.08.2008  
 




Jörg
Sellmeyer
Que le 1000il-Boucle J'avais oublié rauszunehmen.

Frank Abbing
Incidemment n'est que l'un de vos solution à cordes, ou bien?


Jörg Sellmeyer
Je présente ici comme point de départ une fois la méthode des chaînes. Le tout devrait également être mathématiquement.


alors: Avez-vous un mathématiques Solution?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.08.2008  
 




Sebastian
Sprenger
Gehts maintenant vraiment de 2 Bits par Ziffer et 8 Les chiffres par numéro, ou tout simplement un Milieu$-Ersatz? Eh bien quelle que soit:
KompilierenMarqueSéparation
Proc ErmittleZahl

    Parameters Zahl&, pos%
    Declare len%
    Dec pos%
    Case pos% < 0: Return ""

    IfNot Zahl&

        Case pos%: Return ""
        Return 0

    ElseIf Zahl& < 0

        CaseNot pos%: Return "-"
        Dec pos%
        Zahl& = Abs(Zahl&)

    EndIf

    len% = Lg(Zahl&) / Lg(10)
    Case pos% > len%: Return ""
    Return Int((Zahl& / 10 ^ (len% - pos%)) Mod 10)

ENDPROC

Une ancienne procédure ErmittleZahl il suffit de remplacer...
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
28.08.2008  
 




Frank
Abbing
Hm, peut-être quelque chose comme?
KompilierenMarqueSéparation
Declare a&,b&,x&
a&=33120113
x&=100
Print a&
Print

WhileLoop 8

    x&=1

    Whileloop 8-(&loop-1)

        x&=x&*10

    EndWhile

    a&=a&-(Int(a&/x&)*x&)
    b&=a&/(x&/10)
    Print b&

Wend

WaitInput
Fin
 
28.08.2008  
 




Jörg
Sellmeyer
Je poste mon point de vue Solution. La nécessité pour 1000 Passes ~1500 - ~2000 ms (Par conséquent, la boucle 1000)
qui solution à cordes Il suffit de ~1000 - 1500ms. Eure besoin ~2800 - ~ 3500ms
J'ai pensé, mathématique pourrait pour aller plus vite. L'idée est: je voudrais Cordes par mess à un autre programme transfert. Les cordes sont faites d'un maximum de 16 caractères (pourrait l'un des huit organismes sur & WParam et & LParam envoyons). Il n'y a que quatre personnages différents, par conséquent, le nombre de 0-3 par virgule.
KompilierenMarqueSéparation
Set("Decimals",0)

Proc ErRechneZahl

    Parameters Zahl%,l%
    Sub Zahl%,(Zahl% Mod (10^l%)) / 10^l%
    Return (Zahl% Mod (10^l%)) / 10^(l% -1)
    um die Bedingung mit maximal 4 Zuständen zu erfüllen, müßte das hier zurückgegeben werden:
    Zahl% = (Zahl% Mod (10^l%)) / 10^(l% -1)
    Return If(Zahl% < 4,Zahl%,0)

EndProc

Var a% = 33120113
Declare Tick&
Print a%
Tick& = &GetTickCount

WhileLoop 1000

    Locate 13,1
    Print &Loop

    WhileLoop 8

        Print ErRechneZahl(a%,&Loop)

    Wend

Wend

Print &GetTickCount - Tick&
Waitinput

Les chiffres sont arriéré délivré, mais ça ne fait rien.

Relatif à la Lg(Zahl&), rauszubekommen le nombre de postes, comme mir! Cependant, je ne suis pas sûr, Pourquoi avez-vous même à travers les Lg(10) teilst. Il est encore un ou?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.08.2008  
 




Frank
Abbing
Ok, obtenu mon amélioration de routine. Devrait maintenant fonctionner beaucoup plus rapidement:
KompilierenMarqueSéparation
Declare a&,b&,x&
a&=33120113
x&=100
Print a&
Print

WhileLoop 8

    x&=10^(8-(&loop-1))
    a&=a&-(Int(a&/x&)*x&)
    b&=a&/(x&/10)
    Print b&

Wend

WaitInput
Fin
 
29.08.2008  
 




Sebastian
Sprenger
Jörg Sellmeyer
Pourquoi avez-vous même à travers les Lg(10) teilst. Il est encore un ou?

vraie, Il est le?
Essayez * *
oui, il est. Bon à savoir. On peut prendre le logarithme d'une certaine base (dans mon cas 10) errechnen, mais si le Lg-Funktion chez 10 sowieso 1 ausgibt, kann's en effet omis.
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
29.08.2008  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

27.099 Views

Untitledvor 0 min.
p.specht22.05.2013
mene06.12.2012
Peter Max Müller11.12.2011
Jens Tiburski29.12.2010
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie