Programmieraufgabe zur Nacht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • so, hier jetzt meine vorläufige final version, mit vergesserter Ergebnisauswertung:

    PHP-Code:
    <?php

    $wortliste 
    = array(
        
    'ARQUES'
        
    'ATP-Turnier'
        
    'Abchasien'
        
    'Abschaltung'
        
    'Ackermann'
        
    'Agrarsubventionen'
        
    'Airline'
        
    'Anixe'
        
    'Annika'
        
    'Atomausstieg'
        
    'Atomenergie'
        
    'Atommeiler'
        
    'Atompolitik'
        
    'Atomstreit'
        
    'Aufenthaltserlaubnis'
        
    'Ausstand'
        
    'Barrot'
        
    'Barth'
        
    'Baur'
        
    'Beiersdorfer'
        
    'Bertha'
        
    'Bischoff'
        
    'Bitkom'
        
    'Bloomberg'
        
    'Borg'
        
    'Brokkoli'
        
    'Bundesnetzagentur'
        
    'Buschkowsky'
        
    'Cadillac'
        
    'Cannes'
        
    'Carolina'
        
    'Carreras'
        
    'Chevrolet'
        
    'Coleman'
        
    'Computerspiele'
        
    'Credit'
        
    'Crouch'
        
    'DVB-T'
        
    'Debitel'
        
    'Deichmann'
        
    'Dmitri Medwedew'
        
    'Donaueschingen'
        
    'EMI'
        
    'EU-Kommissionsprsident'
        
    'EU-Staaten'
        
    'Einwanderung'
        
    'Einwanderungspolitik'
        
    'Ellwangen'
        
    'Elmshorn'
        
    'Elsass'
        
    'Enkelmann'
        
    'Eppler'
        
    'Erdl'
        
    'EreignisErderwrmung'
        
    'Eurosport'
        
    'Eurowings'
        
    'Flamenco'
        
    'Freddie Mac'
        
    'Freiberg'
        
    'Freizgigkeit'
        
    'Fresenius'
        
    'Frontex'
        
    'Funktionre'
        
    'GEMA'
        
    'GWG'
        
    'Gas Natural'
        
    'Generika'
        
    'Gesamtklassement'
        
    'Gnzburg'
        
    'Gontard'
        
    'Hasan'
        
    'Hauptfeld'
        
    'Heckmann'
        
    'Hedge-Fonds'
        
    'Heiligendamm'
        
    'Heisig'
        
    'Hero'
        
    'Hokkaido'
        
    'Holtzbrinck'
        
    'IPO'
        
    'IT-Fitness'
        
    'Icahn'
        
    'Industrienationen'
        
    'Industrieproduktion'
        
    'Insolvenzantrag'
        
    'Islamabad'
        
    'Kabul'
        
    'Karachi'
        
    'Keith Urban'
        
    'Kerkeling'
        
    'Kernenergie'
        
    'Kernkraft'
        
    'Klckner'
        
    'Klimapolitik'
        
    'Klitschko'
        
    'Komax'
        
    'Lennox'
        
    'Lufthansa'
        
    'Madeleine'
        
    'Mao'
        
    'Martin Jol'
        
    'Mauritius'
        
    'Medwedew'
        
    'Microsoft'
        
    'Morrison'
        
    'NBC'
        
    'NBC Universal'
        
    'Nashville'
        
    'Neu-Isenburg'
        
    'Neuwahlen'
        
    'Nielsen'
        
    'Nintendo'
        
    'Nordex'
        
    'Oliver Shanti'
        
    'Online-Banking'
        
    'Organisation'
        
    'Ort'
        
    'Pakt'
        
    'Pamplona'
        
    'Paulo'
        
    'Personalvorstand'
        
    'Pete'
        
    'Piloten'
        
    'Pilotengewerkschaft'
        
    'Pilotenvereinigung'
        
    'PolitikerBarroso'
        
    'Portsmouth'
        
    'Postbank'
        
    'Rafael Nadal'
        
    'Robert Kubica'
        
    'SPOE'
        
    'SPOE-Chef'
        
    'Salzau'
        
    'Schlagwort'
        
    'Seidenberg'
        
    'Selbstmordattentter'
        
    'Siedlungen'
        
    'Sony'
        
    'Sorin'
        
    'Sport'
        
    'Sportchef'
        
    'Sportler'
        
    'Stadtpark'
        
    'Steg'
        
    'Stiglitz'
        
    'Streik'
        
    'Suedindien'
        
    'TNK-BP'
        
    'TUI'
        
    'Tagessieg'
        
    'Tarifkonflikt'
        
    'Thompson'
        
    'Trainer'
        
    'Unesco'
        
    'Vanessa'
        
    'Verlagsgruppe'
        
    'Versptungen'
        
    'Verwaltungsrat'
        
    'Volksabstimmungen'
        
    'Wedeler'
        
    'Wissenschaftsrat'
        
    'Won'
        
    'Yang'
        
    'Zeitfahren'
    );

        
    define('PUNKTE_FÜR_PASSENDE_LÄNGE', +3);
        
    define('PUNKTE_FÜR_NICHT_PASSENDE_LÄNGE_PRO_ZEICHEN', -1);
        
    define('PUNKTE_FÜR_ERSTEN_BUCHSTABEN_PASSEND', +2);
        
    define('PUNKTE_FÜR_ERSTEN_BUCHSTABEN_NICHT_PASSEND', -2);
        
    define('PUNKTE_PRO_GLEICHES_ZEICHEN', +1);
        
    define('PUNKTE_HOCH_GLEICHE_ZEICHEN', +2);
        
    define('GROß_KLEIN_SCHREIBUNG_IGNORIEREN'true);
        
    define('SHOW_LIST'false);

        
    $search $_REQUEST['search'];
        if (
    strlen($search) > 0) {
            
    $match = array();
            if (
    GROß_KLEIN_SCHREIBUNG_IGNORIEREN) {
                
    $search strtolower($search);
            }
            for (
    $i 0$i count($wortliste); $i++) {
                
    $match[$i] = array (
                                    
    'probability' => 0,
                                    
    'word' => $wortliste[$i]);
                if (
    GROß_KLEIN_SCHREIBUNG_IGNORIEREN) {
                    
    $match[$i]['word2'] = strtolower($match[$i]['word']);
                } else {
                    
    $match[$i]['word2'] = $match[$i]['word'];
                }
                if (
    $match[$i]['word2'][0] == $search[0]) {
                    
    $match[$i]['probability'] += PUNKTE_FÜR_ERSTEN_BUCHSTABEN_PASSEND;
                    
    $match[$i]['pfl'] = PUNKTE_FÜR_ERSTEN_BUCHSTABEN_PASSEND;
                } else {
                    
    $match[$i]['probability'] += PUNKTE_FÜR_ERSTEN_BUCHSTABEN_NICHT_PASSEND
                    
    $match[$i]['pfl'] = PUNKTE_FÜR_ERSTEN_BUCHSTABEN_NICHT_PASSEND;
                }
                
                
    $difflen abs(strlen($search)-strlen($match[$i]['word2']));
                if (
    $difflen == 0) {
                    
    $match[$i]['probability']  += PUNKTE_FÜR_PASSENDE_LÄNGE;
                    
    $match[$i]['ple'] = PUNKTE_FÜR_PASSENDE_LÄNGE;
                } else {
                    
    $match[$i]['probability'] += $difflen*PUNKTE_FÜR_NICHT_PASSENDE_LÄNGE_PRO_ZEICHEN;
                    
    $match[$i]['ple'] = $difflen*PUNKTE_FÜR_NICHT_PASSENDE_LÄNGE_PRO_ZEICHEN;
                }
                for (
    $a 0$a strlen($search); $a++) {
                    for (
    $b 1$b < (strlen($search)-$a+1); $b++) {
                        
    $tpsc pow(eregi(substr($search$a$b), $match[$i]['word2'])*$b*
                        
    PUNKTE_PRO_GLEICHES_ZEICHENPUNKTE_HOCH_GLEICHE_ZEICHEN);
                        
    $match[$i]['probability'] += $tpsc;
                        
    $match[$i]['psc'][] = $tpsc;
                        
    $match[$i]['psc']['ges'] += $tpsc;
                    }
                }
                
    $max 0;
                for (
    $a 0$a strlen($match[$i]['word2']); $a++) {
                    for (
    $b 1$b < (strlen($match[$i]['word2'])-$a+1); $b++) {
                        
    $max += pow(eregi(substr($match[$i]['word2'], $a$b), $match[$i]['word2'])*$b*
                        
    PUNKTE_PRO_GLEICHES_ZEICHENPUNKTE_HOCH_GLEICHE_ZEICHEN);                
                    }
                }
                
    $max += 2;
                
    $match[$i]['wahrscheinlichkeit'] = $match[$i]['probability'] / $max;
            }
        
            function 
    sortit($wert_a$wert_b
            {
                
    $a $wert_a['probability'];
                
    $b $wert_b['probability'];
                if (
    $a == $b) {
                    return 
    0;
                }
                return (
    $a $b) ? +: -1;
            }

            
    uasort($match'sortit');
            
            foreach (
    $match as $m) {
                
    $newarr[] = $m;
            }
            
            if (
    $search == $newarr[0]['word2']) {
                echo 
    "<span style='font-family: Courier New; font-size: 12px;'>Das Wort steht in der Liste ;-)</span>";
            } else {        
                if (
    GROß_KLEIN_SCHREIBUNG_IGNORIEREN) {
                    
    $ignore 'JA';
                } else {
                    
    $ignore 'NEIN';
                }
                
    $all 0;
                foreach (
    $newarr[0]['psc'] as $psc) {
                    
    $all += $psc;
                }
                echo 
    "
                <span style='font-family: Courier New; font-size: 12px;'>
                    Eingabe: \"<i>"
    .$search."</i>\", meintest du: \"<i>".$newarr[0]['word']."</i>\" [".
                    
    round($newarr[0]['wahrscheinlichkeit']*1002).
                    
    "%]<br><br><u>Info:</u> <br>Gro&szlig;-Klein-Schreibung ignorieren: ".$ignore."<br/>Punkte gesamt: ".
                    
    $newarr[0]['probability']." <br/>Punkte Anfangsbuchstabe: ".$newarr[0]['pfl']."<br/>Punkte L&auml;nge: ".
                    
    $newarr[0]['ple']."<br/>Punkte Gleiche Zeichen: ".$newarr[0]['psc']['ges'].
                    
    "<br/>Gleiche Zeichenketten gefunden: ".
                    
    count($newarr[0]['psc'])."<br/>Durchschnittsl&auml;nge &Uuml;bereinstimmender Strings: "
                    
    round(sqrt($all /  (count($newarr[0]['psc']))))."<br/></span>";
                if (
    SHOW_LIST) {
                    echo 
    "<br><table border='1'>
                            <tr>    
                                <th>Wort</th>
                                <th>Punkte (Gesamt)</th>
                                <th>Erster Buchstabe</th>
                                <th>Stringlen</th>
                                <th>Gleiche Buchstaben</th>
                            </tr>"
    ;
                    
                    foreach (
    $newarr as $m) {
                        echo 
    "<tr>
                                <td>"
    .$m['word']."</td>
                                <td>"
    .$m['probability']."</td>
                                <td>"
    .$m['pfl']."</td>
                                <td>"
    .$m['ple']."</td>
                                <td>"
    .$m['psc']['ges']."</td>
                            </tr>"
    ;
                    }
                }
                echo 
    "</table>";
            }
        } else {
            echo 
    "<span style='font-family: Courier New; font-size: 12px;'>Du musst schon was eingeben...</span>";
        }

    ?>
    Zuletzt geändert von ; 08.07.2008, 18:08.

    Kommentar


    • jup, das stimtm schon, also ich lösch jezz erstmal meien alten codeversionen und verweise auf den aktuellsten post, das machts schon mal übersichtlicher, wenn das jeder so macht, dann:

      ab einer bestimmten Zeit posten is ne super idee, was haltet irh von 17:00?

      Lg,
      Bueddl

      Kommentar


      • Wenn es etwas gibt, was ich am allermeisten hasse, dann mich wiederholen zu müssen. Warum postest du jedes mal deinen Code neu? Ist dir die "Bearbeiten"-Funktion nicht bekannt? Hast du meinen Post überhaupt gelesen?
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • ich mag es auch nicht, wenn ich mich wiederholen muss udn ich tus trotzdem ;-)

          Ich hab eben geschrieben, ich verweise in den alten pots immer auf den neuen und lösche den alten Code, das hab ich auch gerade geamcht. Es existiert jetzt hier nur noch 1x der Code und

          schau mal heir vorbei:

          http://www.php-resource.de/forum/sho...5&pagenumber=3

          http://www.php-resource.de/forum/sho...5&pagenumber=5

          da hast du auch 2x code gepostet...
          Zuletzt geändert von ; 08.07.2008, 18:02.

          Kommentar


          • Bearbeite doch einfach deinen Ursprungspost, und poste, dass du ihn aktualisiert hast. Abgesehen davon, dass ständiges geposte hier im Thread gar keinen Sinn macht.
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • Ja, ich muss zugeben, ist auch ne Option, aber jetzt hast du dir meins nicht ganz durchgelesen...

              Kommentar


              • Doch, aber wenn ich überarbeiteten Code innerhalb von wenigen Minuten neu poste, ist das was anderes, als wenn ich das mehrere Stunden später mache.
                [FONT="Helvetica"]twitter.com/unset[/FONT]

                Shitstorm Podcast – Wöchentliches Auskotzen

                Kommentar


                • *hust* ok, akzeptier ich, ich nehm den vorwurf damit auch zurück, hast recht.

                  Lg,
                  Bueddl

                  Kommentar


                  • Ich weiß nicht, ob mir jetzt einfach die Kreativität für diese Aufgabe fehlt oder so, aber meine Lösung sieht wie folgt aus (Erweiterung zu meiner vorherigen):

                    PHP-Code:
                    function strsum$input ) {
                        
                    $chars count_chars$input);
                        return( 
                    $chars );

                    Ich hänge auch noch einmal das komplette Testformular an.

                    Poste mal deine Testroutine, dann kann ich das etwas besser testen.
                    Angehängte Dateien

                    Kommentar


                    • Jut, dann mein vorschlag. Beruht ein bisschen auf der levenshtein-funktion, habe sie aber nicht kopiert

                      PHP-Code:
                      <?php
                          
                      function strPoints$str1$str2 )
                          {
                              
                      $returnValue 0;
                              
                              
                      $m strlen$str1 );
                              
                      $n strlen$str2 );
                              
                      $diff abs$m $n );
                              
                      $returnValue += $diff;
                              
                              
                      $max max$m$n );
                              
                              for( 
                      $i 0$i $max$i++ )
                              {
                                  if( ( 
                      $m $i ) || ( $n $i ) )
                                  {
                                      break;
                                  }
                                  
                                  
                      $c1 $c2 false;
                                  if( ( 
                      $m ) >= $i )
                                  {
                                      
                      $c1 $str1{$i};
                                  }
                                  
                                  if( ( 
                      $n ) >= $i )
                                  {
                                      
                      $c2 $str2{$i};
                                  }
                                  
                                  if( 
                      ord$c1 ) != ord$c2 ) )
                                  {
                                      
                      $returnValue++;
                                  }
                              }
                              
                              return 
                      $returnValue;
                          }
                          
                          
                          
                      $words = array(
                              
                      'ARQUES'
                              
                      'ATP-Turnier'
                              
                      'Abchasien'
                              
                      'Abschaltung'
                              
                      'Ackermann'
                              
                      'Agrarsubventionen'
                              
                      'Airline'
                              
                      'Anixe'
                              
                      'Annika'
                              
                      'Atomausstieg'
                              
                      'Atomenergie'
                              
                      'Atommeiler'
                              
                      'Atompolitik'
                              
                      'Atomstreit'
                              
                      'Aufenthaltserlaubnis'
                              
                      'Ausstand'
                              
                      'Barrot'
                              
                      'Barth'
                              
                      'Baur'
                              
                      'Beiersdorfer'
                              
                      'Bertha'
                              
                      'Bischoff'
                              
                      'Bitkom'
                              
                      'Bloomberg'
                              
                      'Borg'
                              
                      'Brokkoli'
                              
                      'Bundesnetzagentur'
                              
                      'Buschkowsky'
                              
                      'Cadillac'
                              
                      'Cannes'
                              
                      'Carolina'
                              
                      'Carreras'
                              
                      'Chevrolet'
                              
                      'Coleman'
                              
                      'Computerspiele'
                              
                      'Credit'
                              
                      'Crouch'
                              
                      'DVB-T'
                              
                      'Debitel'
                              
                      'Deichmann'
                              
                      'Dmitri Medwedew'
                              
                      'Donaueschingen'
                              
                      'EMI'
                              
                      'EU-Kommissionsprsident'
                              
                      'EU-Staaten'
                              
                      'Einwanderung'
                              
                      'Einwanderungspolitik'
                              
                      'Ellwangen'
                              
                      'Elmshorn'
                              
                      'Elsass'
                              
                      'Enkelmann'
                              
                      'Eppler'
                              
                      'Erdl'
                              
                      'EreignisErderwrmung'
                              
                      'Eurosport'
                              
                      'Eurowings'
                              
                      'Flamenco'
                              
                      'Freddie Mac'
                              
                      'Freiberg'
                              
                      'Freizgigkeit'
                              
                      'Fresenius'
                              
                      'Frontex'
                              
                      'Funktionre'
                              
                      'GEMA'
                              
                      'GWG'
                              
                      'Gas Natural'
                              
                      'Generika'
                              
                      'Gesamtklassement'
                              
                      'Gnzburg'
                              
                      'Gontard'
                              
                      'Hasan'
                              
                      'Hauptfeld'
                              
                      'Heckmann'
                              
                      'Hedge-Fonds'
                              
                      'Heiligendamm'
                              
                      'Heisig'
                              
                      'Hero'
                              
                      'Hokkaido'
                              
                      'Holtzbrinck'
                              
                      'IPO'
                              
                      'IT-Fitness'
                              
                      'Icahn'
                              
                      'Industrienationen'
                              
                      'Industrieproduktion'
                              
                      'Insolvenzantrag'
                              
                      'Islamabad'
                              
                      'Kabul'
                              
                      'Karachi'
                              
                      'Keith Urban'
                              
                      'Kerkeling'
                              
                      'Kernenergie'
                              
                      'Kernkraft'
                              
                      'Klckner'
                              
                      'Klimapolitik'
                              
                      'Klitschko'
                              
                      'Komax'
                              
                      'Lennox'
                              
                      'Lufthansa'
                              
                      'Madeleine'
                              
                      'Mao'
                              
                      'Martin Jol'
                              
                      'Mauritius'
                              
                      'Medwedew'
                              
                      'Microsoft'
                              
                      'Morrison'
                              
                      'NBC'
                              
                      'NBC Universal'
                              
                      'Nashville'
                              
                      'Neu-Isenburg'
                              
                      'Neuwahlen'
                              
                      'Nielsen'
                              
                      'Nintendo'
                              
                      'Nordex'
                              
                      'Oliver Shanti'
                              
                      'Online-Banking'
                              
                      'Organisation'
                              
                      'Ort'
                              
                      'Pakt'
                              
                      'Pamplona'
                              
                      'Paulo'
                              
                      'Personalvorstand'
                              
                      'Pete'
                              
                      'Piloten'
                              
                      'Pilotengewerkschaft'
                              
                      'Pilotenvereinigung'
                              
                      'PolitikerBarroso'
                              
                      'Portsmouth'
                              
                      'Postbank'
                              
                      'Rafael Nadal'
                              
                      'Robert Kubica'
                              
                      'SPOE'
                              
                      'SPOE-Chef'
                              
                      'Salzau'
                              
                      'Schlagwort'
                              
                      'Seidenberg'
                              
                      'Selbstmordattentter'
                              
                      'Siedlungen'
                              
                      'Sony'
                              
                      'Sorin'
                              
                      'Sport'
                              
                      'Sportchef'
                              
                      'Sportler'
                              
                      'Stadtpark'
                              
                      'Steg'
                              
                      'Stiglitz'
                              
                      'Streik'
                              
                      'Suedindien'
                              
                      'TNK-BP'
                              
                      'TUI'
                              
                      'Tagessieg'
                              
                      'Tarifkonflikt'
                              
                      'Thompson'
                              
                      'Trainer'
                              
                      'Unesco'
                              
                      'Vanessa'
                              
                      'Verlagsgruppe'
                              
                      'Versptungen'
                              
                      'Verwaltungsrat'
                              
                      'Volksabstimmungen'
                              
                      'Wedeler'
                              
                      'Wissenschaftsrat'
                              
                      'Won'
                              
                      'Yang'
                              
                      'Zeitfahren'
                          
                      );
                          
                          
                      $input $_GET['in'];
                          
                      $maxPointsDiff = ( isset( $_GET['diff'] ) ? intval$_GET['diff'] ) : );
                          
                      $nearest = -1;
                          
                      $last null;
                          
                          foreach( 
                      $words as $word )
                          {
                              
                      $diff strPoints$word$input );
                              if( 
                      $nearest == -|| $diff $nearest )
                              {
                                  
                      $nearest $diff;
                                  
                      $last $word;
                              }
                          }
                          
                          if( 
                      $nearest $maxPointsDiff )
                          {
                              echo 
                      "Meinten sie " $last " (Punkte: " $nearest ") anstelle von " $input;
                          }
                          else
                          {
                              echo 
                      $input " wurde in der Liste gefunden!";
                          }
                      ?>
                      Freedom is a state of mind. Not a state in which we live.

                      troxdev.ch | animefieber

                      Kommentar


                      • OffTopic:
                        sagt mal, habt ihr alle nichts zu tun? oder das ist das so ein typischer schwanzvergleich? wer hat den längsten/kürzesten code?


                        peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • Why? Ich find's ein durchaus interessanter Contest!

                          Kommentar


                          • Checkscript:
                            PHP-Code:
                            <?php

                                
                            // Wortliste
                                
                            $aWords = array(
                                                        
                            'ARQUES'
                                                        
                            'ATP-Turnier'
                                                        
                            'Abchasien'
                                                        
                            'Abschaltung'
                                                        
                            'Ackermann'
                                                        
                            'Agrarsubventionen'
                                                        
                            'Airline'
                                                        
                            'Anixe'
                                                        
                            'Annika'
                                                        
                            'Atomausstieg'
                                                        
                            'Atomenergie'
                                                        
                            'Atommeiler'
                                                        
                            'Atompolitik'
                                                        
                            'Atomstreit'
                                                        
                            'Aufenthaltserlaubnis'
                                                        
                            'Ausstand'
                                                        
                            'Barrot'
                                                        
                            'Barth'
                                                        
                            'Baur'
                                                        
                            'Beiersdorfer'
                                                        
                            'Bertha'
                                                        
                            'Bischoff'
                                                        
                            'Bitkom'
                                                        
                            'Bloomberg'
                                                        
                            'Borg'
                                                        
                            'Brokkoli'
                                                        
                            'Bundesnetzagentur'
                                                        
                            'Buschkowsky'
                                                        
                            'Cadillac'
                                                        
                            'Cannes'
                                                        
                            'Carolina'
                                                        
                            'Carreras'
                                                        
                            'Chevrolet'
                                                        
                            'Coleman'
                                                        
                            'Computerspiele'
                                                        
                            'Credit'
                                                        
                            'Crouch'
                                                        
                            'DVB-T'
                                                        
                            'Debitel'
                                                        
                            'Deichmann'
                                                        
                            'Dmitri Medwedew'
                                                        
                            'Donaueschingen'
                                                        
                            'EMI'
                                                        
                            'EU-Kommissionsprsident'
                                                        
                            'EU-Staaten'
                                                        
                            'Einwanderung'
                                                        
                            'Einwanderungspolitik'
                                                        
                            'Ellwangen'
                                                        
                            'Elmshorn'
                                                        
                            'Elsass'
                                                        
                            'Enkelmann'
                                                        
                            'Eppler'
                                                        
                            'Erdl'
                                                        
                            'EreignisErderwrmung'
                                                        
                            'Eurosport'
                                                        
                            'Eurowings'
                                                        
                            'Flamenco'
                                                        
                            'Freddie Mac'
                                                        
                            'Freiberg'
                                                        
                            'Freizgigkeit'
                                                        
                            'Fresenius'
                                                        
                            'Frontex'
                                                        
                            'Funktionre'
                                                        
                            'GEMA'
                                                        
                            'GWG'
                                                        
                            'Gas Natural'
                                                        
                            'Generika'
                                                        
                            'Gesamtklassement'
                                                        
                            'Gnzburg'
                                                        
                            'Gontard'
                                                        
                            'Hasan'
                                                        
                            'Hauptfeld'
                                                        
                            'Heckmann'
                                                        
                            'Hedge-Fonds'
                                                        
                            'Heiligendamm'
                                                        
                            'Heisig'
                                                        
                            'Hero'
                                                        
                            'Hokkaido'
                                                        
                            'Holtzbrinck'
                                                        
                            'IPO'
                                                        
                            'IT-Fitness'
                                                        
                            'Icahn'
                                                        
                            'Industrienationen'
                                                        
                            'Industrieproduktion'
                                                        
                            'Insolvenzantrag'
                                                        
                            'Islamabad'
                                                        
                            'Kabul'
                                                        
                            'Karachi'
                                                        
                            'Keith Urban'
                                                        
                            'Kerkeling'
                                                        
                            'Kernenergie'
                                                        
                            'Kernkraft'
                                                        
                            'Klckner'
                                                        
                            'Klimapolitik'
                                                        
                            'Klitschko'
                                                        
                            'Komax'
                                                        
                            'Lennox'
                                                        
                            'Lufthansa'
                                                        
                            'Madeleine'
                                                        
                            'Mao'
                                                        
                            'Martin Jol'
                                                        
                            'Mauritius'
                                                        
                            'Medwedew'
                                                        
                            'Microsoft'
                                                        
                            'Morrison'
                                                        
                            'NBC'
                                                        
                            'NBC Universal'
                                                        
                            'Nashville'
                                                        
                            'Neu-Isenburg'
                                                        
                            'Neuwahlen'
                                                        
                            'Nielsen'
                                                        
                            'Nintendo'
                                                        
                            'Nordex'
                                                        
                            'Oliver Shanti'
                                                        
                            'Online-Banking'
                                                        
                            'Organisation'
                                                        
                            'Ort'
                                                        
                            'Pakt'
                                                        
                            'Pamplona'
                                                        
                            'Paulo'
                                                        
                            'Personalvorstand'
                                                        
                            'Pete'
                                                        
                            'Piloten'
                                                        
                            'Pilotengewerkschaft'
                                                        
                            'Pilotenvereinigung'
                                                        
                            'PolitikerBarroso'
                                                        
                            'Portsmouth'
                                                        
                            'Postbank'
                                                        
                            'Rafael Nadal'
                                                        
                            'Robert Kubica'
                                                        
                            'SPOE'
                                                        
                            'SPOE-Chef'
                                                        
                            'Salzau'
                                                        
                            'Schlagwort'
                                                        
                            'Seidenberg'
                                                        
                            'Selbstmordattentter'
                                                        
                            'Siedlungen'
                                                        
                            'Sony'
                                                        
                            'Sorin'
                                                        
                            'Sport'
                                                        
                            'Sportchef'
                                                        
                            'Sportler'
                                                        
                            'Stadtpark'
                                                        
                            'Steg'
                                                        
                            'Stiglitz'
                                                        
                            'Streik'
                                                        
                            'Suedindien'
                                                        
                            'TNK-BP'
                                                        
                            'TUI'
                                                        
                            'Tagessieg'
                                                        
                            'Tarifkonflikt'
                                                        
                            'Thompson'
                                                        
                            'Trainer'
                                                        
                            'Unesco'
                                                        
                            'Vanessa'
                                                        
                            'Verlagsgruppe'
                                                        
                            'Versptungen'
                                                        
                            'Verwaltungsrat'
                                                        
                            'Volksabstimmungen'
                                                        
                            'Wedeler'
                                                        
                            'Wissenschaftsrat'
                                                        
                            'Won'
                                                        
                            'Yang'
                                                        
                            'Zeitfahren'
                                                    
                            );
                                
                                
                            // Alphabet
                                
                            $sAlpha 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
                                
                                
                            // Teilnehmer
                                
                            $aTestee['name'] = 'unset';
                                
                            $aTestee['function'] = 'check';
                                
                            $aTestee['points'] = 0;
                                
                            $aContest[] = $aTestee;

                                
                                
                            // Wortliste durchgehen
                                
                            foreach($aWords as $sWord) {
                                    
                            // Wort zwischenspeichern
                                    
                            $sOriginal $sWord;
                                    
                                    
                            // Wieviele Typos?
                                    
                            $iTypoCount rand(15);
                                    
                                    
                            // Typos einbauen
                                    
                            for($i 0$i $iTypoCount$i++) {
                                        
                            // Welche Art Typo
                                        
                            $iTypo rand(13);
                                        
                                        
                            // Typo erzeugen
                                        
                            switch($iTypo) {
                                            case 
                            1:
                                                
                            // Buchstaben vergessen
                                                
                            $iPosition rand(0strlen($sWord)-1);
                                                for(
                            $j 0$j strlen($sWord); $j++) {
                                                    if(
                            $j != $iPosition) {
                                                        
                            $sOutput.= substr($sWord$j1);
                                                    }
                                                }
                                                
                            $sWord $sOutput;
                                                unset(
                            $sOutput);
                                                break;
                                                
                                            case 
                            2:
                                                
                            // Buchstaben verdreht
                                                
                            $iPosition rand(0strlen($sWord)-2);
                                                for(
                            $j 0$j strlen($sWord); $j++) {
                                                    if(
                            $j == $iPosition) {
                                                        
                            $sSwitched substr($sWord$j1);
                                                    } elseif(
                            $j == ($iPosition 1)) {
                                                        
                            $sSwitched substr($sWord$j1). $sSwitched;
                                                        
                            $sOutput.= $sSwitched;
                                                    } else {
                                                        
                            $sOutput.= substr($sWord$j1);
                                                    }
                                                }
                                                
                            $sWord $sOutput;
                                                unset(
                            $sOutput);
                                                break;
                                                
                                            case 
                            3:
                                                
                            // Buchstaben hinzugefügt
                                                
                            $iPosition rand(0strlen($sWord));
                                                for(
                            $j 0$j strlen($sWord); $j++) {
                                                    if(
                            $j == $iPosition) {
                                                        
                            $sOutput.= substr($sAlpharand(0strlen($sAlpha) - 1), 1);
                                                        
                            $sOutput.= substr($sWord$j1);
                                                    } else {
                                                        
                            $sOutput.= substr($sWord$j1);
                                                    }
                                                }
                                                
                            $sWord $sOutput;
                                                unset(
                            $sOutput);
                                                break;
                                        }
                                    }
                                    
                                    foreach(
                            $aContest as &$aTestee) {
                                        if(
                            call_user_func($aTestee['function'], $sWord) == $sOriginal) {
                                            
                            $aTestee['points']++;
                                        }
                                    }
                                    
                                }
                                
                                function 
                            check($sWord){}
                                
                                
                            print_r($aTestee);

                            ?>
                            Wie ihr seht, erwarte ich einen "Vorschlag". Nicht mehr, nicht weniger. Alles andere bedeutet keinen Punkt. Außerdem: Im Test wird es eine andere Wortliste geben, also kommt gar nicht erst auf die Idee, eure Funktion nach dieser zu optimieren und sorgt dafür, dass die Wortliste austauschbar ist

                            @Kropff: Übung macht den Meister. Und sich mal mit ganz anderen als "alltäglichen" Problemen auseinandersetzen macht hier doch grade den Reiz aus. Abgesehen davon: Das ganze hier soll ja auch Spaß machen. Wenn du keinen an so etwas hast, musst du dich ja nicht drum kümmern.
                            Zuletzt geändert von unset; 08.07.2008, 22:54.
                            [FONT="Helvetica"]twitter.com/unset[/FONT]

                            Shitstorm Podcast – Wöchentliches Auskotzen

                            Kommentar


                            • Original geschrieben von TobiaZ
                              Why? Ich find's ein durchaus interessanter Contest!
                              ich auch! Ich lese auch alles brav mit

                              Kommentar


                              • Wer den Fehler im Check-Script findet, bekommt einen Extrapunkt
                                [FONT="Helvetica"]twitter.com/unset[/FONT]

                                Shitstorm Podcast – Wöchentliches Auskotzen

                                Kommentar

                                Lädt...
                                X