Avatar billede krydset Nybegynder
09. december 2003 - 00:01 Der er 33 kommentarer og
1 løsning

løkke der genere alle kombinationer udfra tegn

Er der nogen der har et script at ligge som generer alle kombinationer ud fra alfabetet + tal + specialtegn som de vil af med??
Avatar billede krydset Nybegynder
09. december 2003 - 00:03 #1
det skal køre i en løkke så man ikke skat indtaste manuelt
Avatar billede googolplex Novice
09. december 2003 - 00:04 #2
Præcis hvad er det du gerne vil have, kan du give et uddybende eksempel ?
Avatar billede krydset Nybegynder
09. december 2003 - 00:08 #3
Ja da.
scriptet skal først tage a og så smide kombinationerne af det i db bagefter ab, abc, abcd, abcde osv osv osse med specialtegn så som !"#¤%&/()=@£$€{[]}+ osv 1234567890 Kan det lade sig gøre??
Avatar billede googolplex Novice
09. december 2003 - 00:11 #4
Er det alle bogstaver, alle tal og alle disse:

http://hotwired.lycos.com/webmonkey/reference/special_characters/

Vil du have smidt alt det i en db ?
Avatar billede krydset Nybegynder
09. december 2003 - 00:15 #5
skriver dem lige her
qwertyuiopåasdfghjklæøzxcvbnm
QWERTYUIOPÅASDFGHJKLÆØZXCVBNM
1234567890
!"#¤%&/()=?@£${[]}+*-.,-_´`

dem
Avatar billede googolplex Novice
09. december 2003 - 00:15 #6
Hvordan vil du have dem placeret i din db ?
Avatar billede krydset Nybegynder
09. december 2003 - 00:19 #7
bare i en tabel er og hvis det kan lade sig gøre i alfabetisk rækkefølge
Avatar billede Slettet bruger
09. december 2003 - 00:22 #8
Jeg har sikkert misforstået, men hvis du vil have bare alle mulige 10-bogstavskombinationer, hvor der er forskel på små og store bogstaver fylder det ca. 430 millioner gigabyte. Og så har jeg ikke engang taget tal og specialtegn med eller kombinationer med færre end 10 tegn.
Avatar billede krydset Nybegynder
09. december 2003 - 00:23 #9
ER DET RIGTIGT ???
Avatar billede detox Nybegynder
09. december 2003 - 00:25 #10
"ca. 430 millioner gigabyte" - Det er noget af en gevaldig database der skal til ;o)
Avatar billede krydset Nybegynder
09. december 2003 - 00:26 #11
hvor mange kombinationer er der med 10 tegn
Avatar billede googolplex Novice
09. december 2003 - 00:27 #12
Her er et eksempel der indsætter små bogstaver og tal i databasen, du kan selv udvide den ved at fylde på strengen. Sorteringen bør du lave i strengen.

$string = 'abcdefghijklmnopqrstuvwxyzæøå1234567890';

for ($i = 1; $i <= strlen($string); $i++)
{
    $kombination = substr($string, 0, $i);
    // Herefter skal du indsætte $kombination i din db.
}

Den inssætter først:

a
ab
abc
abcd
osv.

Er det sådan noget ?
Avatar billede googolplex Novice
09. december 2003 - 00:28 #13
Ja, hvis du skal have alle kombinationer, så er der mange :P
Avatar billede jakoba Nybegynder
09. december 2003 - 00:29 #14
$dit_alfabet = "abcdefghijklmnopqrstuvwxyz";
                // tilføj hvad andre tegn du vil have.
$antal = strlen( $ditalfabet );

function lavstrenge( $indtil_nu, $antal ) {
    for ( $i=0; $i<$antal; $i++ ) {
        if ( strpos( $indtil_nu, $dit_alfabet{ $i } ) === false ) {
            if ( $antal > 1 ) {
                lavstrenge( $indtil_nu .= $dit_alfabet{ $i }, $antal-1 );
            } else {
                echo " " .$indtil_nu . $dit_alfabet{ $i };  // udskriv resultat
            }
        }
    }
} //endfunction

//nu kan du kalde lavstrenge med en tom streng og abtallet af bogstaver i den ønskede streng:

lavstrenge( "", 4 );    // uddskriver alle strenge der er 4 bogstaver lange

bemærk at der er 3 lighedstegn i === i første if betingelse.

Og pas på med at bruge for store tal som anden parameter. der er MANGE mulige strenge

mvh JakobA
Avatar billede krydset Nybegynder
09. december 2003 - 00:29 #15
ja det er så noget prøver mig frem med
Avatar billede googolplex Novice
09. december 2003 - 00:29 #16
Hvad skal du bruge det til ?
Avatar billede Slettet bruger
09. december 2003 - 00:31 #17
Hvis googolplex har lavet det rigtigt, er der naturligvis tale om en noget mindre database.

Det var netop fordi det gav så uhyrligt mange kombinationer, jeg regnede med at jeg havde misforstået.

Jeg havde forresten glemt at gange med 10, fordi der var 10 tegn i hver kombination, så det ville blive 4,3 milliarder gigabyte.
Avatar billede googolplex Novice
09. december 2003 - 00:32 #18
Ja, sådan som han har forklaret det i begyndelsen er der ikke vildt mange, men hvis man skal alle kombinationer med, av for den :P
Avatar billede krydset Nybegynder
09. december 2003 - 00:37 #19
Det skulle gene være alle kombinationer :-( Men eftersom jeg ikke har råd til at tømme midtdata.dk for hdd kan det nok ikke lade sig gøre :-(

Kan i prøve at lave et eks som smider alle kombinationerne i af bare 4 teg så kan jeg selv prøve mig frem

jacobA dit script virker umidelbart ikke, der kommer intet output
Avatar billede detox Nybegynder
09. december 2003 - 00:39 #20
Du kan selv udregne antal kombinationer sådan her (hvis ikke jeg tager meget fejl):

<?php
$a = 10; // antal tegn
$x = 1;
for ($i=1;$i<=$a;$i++) {
    $x *= $i;
}
echo $x;
?>
Avatar billede krydset Nybegynder
09. december 2003 - 00:43 #21
hmm ved 50 tegn 3.0414093201713E+64 og hvad fylder et tegn NEJ NEJ kan god set det bliver noget rod :-O

Men vil godt prøve mig frem stille og roligt hvis i stadig vil lave det??

HEHE det er en hemmelighed hvad det skal bruges til :-D
Avatar billede Slettet bruger
09. december 2003 - 00:48 #22
Bare for lige at illustrere.

Der er 29 forskellige bogstaver. De findes som både små og store, så det giver 58 i alt.

Altså er der (med bogstaver alene)

58 forskellige muligheder på 1 tegn,
58*58=3364 muligheder med 2 tegn,
3364*58=195112 muligheder med 3 tegn
195112*58=11316496 med 4 tegn

osv.
Avatar billede Slettet bruger
09. december 2003 - 00:51 #23
Bare flyt $dit_alfabet = "abcdefghijklmnopqrstuvwxyz";-linien i Jakobs program indenfor funktionen.
Avatar billede krydset Nybegynder
09. december 2003 - 00:51 #24
Ja det ved jeg godt, men vil godt bare prøve nice and easy ;-O for at se det, vil ikke droppe det helt nu :-D
Avatar billede krydset Nybegynder
09. december 2003 - 00:55 #25
>>sandbox det vil ikke rigtigt

det skal bare være nå går ind på siden skal den gå igang
Avatar billede jakoba Nybegynder
09. december 2003 - 01:02 #26
>> sandbox
Du har ret. men det er nok bedre at gøre $dit_alfabet og $antal globale så de kan ses fra funktionen. (så bliver de ikke oprettet een gang til hvergang den bliver kaldt).
Avatar billede detox Nybegynder
09. december 2003 - 01:05 #27
$antal = strlen( $ditalfabet );
skal være:
$antal = strlen( $dit_alfabet );
Avatar billede krydset Nybegynder
09. december 2003 - 01:05 #28
Det vil ikke køre det igennem der sker intet

har det her

                // tilføj hvad andre tegn du vil have.
$antal = strlen( $ditalfabet );
function lavstrenge( $indtil_nu, $antal ) {
$dit_alfabet = "abcd";

   

   
    for ( $i=0; $i<$antal; $i++ ) {
        if ( strpos( $indtil_nu, $dit_alfabet{ $i } ) === false ) {
            if ( $antal > 1 ) {
                lavstrenge( $indtil_nu .= $dit_alfabet{ $i }, $antal-1 );
            } else {
                echo " " .$indtil_nu . $dit_alfabet{ $i };  // udskriv resultat
            }
        }
    }
}
lavstrenge( "", 4 );
Avatar billede jakoba Nybegynder
09. december 2003 - 01:15 #29
$dit_alfabet = "abcd";                // der kan godt være mere end 4 bogstaver selvom parameteren er 4
$antal = strlen( $ditalfabet );


function lavstrenge( $indtil_nu, $left ) {
        // Jeg lavede en grim fejl her ved at bruge navnet $antal igen

    global $antal;
    global $dit_alfabet;
 
    for ( $i=0; $i<$antal; $i++ ) {
        if ( strpos( $indtil_nu, $dit_alfabet{ $i } ) === false ) {
            if ( $left > 1 ) {
                lavstrenge( $indtil_nu .= $dit_alfabet{ $i }, $left-1 );
            } else {
                echo " " .$indtil_nu . $dit_alfabet{ $i };  // udskriv resultat
            }
        }
    }
}
lavstrenge( "", 4 );
Avatar billede jakoba Nybegynder
09. december 2003 - 01:17 #30
Ups. og $dit_alfabet skal staves ens allevegne:
$antal = strlen( $dit_alfabet );        // jeg har tilføjet '_'
Avatar billede krydset Nybegynder
09. december 2003 - 01:18 #31
er der noget jeg skal gøre for at starte den eller skulle det bare gå igang når man loader siden, for der sker intet :-O
Avatar billede krydset Nybegynder
09. december 2003 - 01:19 #32
Takker :-D
Avatar billede krydset Nybegynder
09. december 2003 - 01:25 #33
nå smutter i seng ligger i et svar så giver jeg point i morn hygge :-D
Avatar billede krydset Nybegynder
09. december 2003 - 18:18 #34
Det laver jo ikke om på tegnene det her script, det skriver det kun ud i alfabetisk rækkefølge :-O
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester