HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - Totale Sortierung

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Totale Sortierung

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
Gast






BeitragVerfasst am: 17.04.2005 13:40:49    Titel: Totale Sortierung Antworten mit Zitat

Nach folgendem habe ich schon überall gesucht aber nichts dazu gefunden:

ich fuelle ein array mit buchstabensalat (geht)
array ist so gross wie die menge der eingegebenen buchstaben
jetzt mochte ich dass er ALLE moeglichkeiten durchspielt die buchstaben zu sortieren

also

abc
bac
cba
acb

zB

ne idee?

Das Geruest habe ich schon:

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Eingabe</title>
<!-- Kommentar
nimm X Buchstaben und sortiere sie auf jede moegliche weise
input abc print abc bac cba acb usw
-->
<script type="text/javascript">
function Text(nimm) {
var Reihe = new String(nimm);
var Fertig = Reihe.split(" ");

<!--
hier fehlt der wichtige teil ^^
-->
document.write(Fertig);
}
</script>

</head>
<body>
<form name="SortierFormular" action="">
<p>Zeichen durch Leerzeichen getrennt:</p>
<input type="text" name="text">
<input type="button" value="Sortieren"
onClick="Text(document.SortierFormular.text.value)">
</form>
</body>
</html>
Nach oben
admin
Site Admin


Anmeldungsdatum: 16.01.2005
Beiträge: 323
Wohnort: Berlin

BeitragVerfasst am: 17.04.2005 19:21:47    Titel: Antworten mit Zitat

da ich nicht alles vorkauen möchte, hier mal die wörtliche überstezung des zu erzeugenden codes:

Code:

speicher = array()
aktuell = ''

funktion machwas(array)
{
 durchlaufe alle in array
 {
  aktuell += array[i]
  entferne i aus array
  wenn i ist leer dann speicher += aktuell und aktuell = ''
  machwas(array)
 }
}


Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Gast






BeitragVerfasst am: 19.04.2005 13:33:31    Titel: Antworten mit Zitat

danke sehr Smile

brauchs leider clientseitig, serverseitig mit php ginge es etwa so (falls nochmal jemand ne permutation uscht um anagramme zu loesen):

<?php

$AA = array(
array('m','x','p','x','m','x','p','x','m'),
array('a','s','d', 'f'),
array('y','x','c', 'v', 'b'),
array('q','w','e', 'r', 't', 'z'));

function make_code($ARR) {
$out = '';
foreach($ARR as $nr => $val) {
$var = '$'.chr(97 + $nr).chr(97 + $nr);
$out .= str_repeat(' ', (($nr) * 4));
$out .= 'foreach($ARR as '.$var.') {'."\n";
$HP[] = $var.'=>'.$var;
}
$out .= str_repeat(' ', (($nr + 1) * 4));
$out .= '$TMP = array('.implode($HP, ', ').');'."\n";
$out .= str_repeat(' ', (($nr + 1) * 4));
$out .= 'if (count($TMP) == count($ARR)) {'."\n";
$out .= str_repeat(' ', (($nr + 2) * 4));
$out .= '$EG[] = implode($TMP, \'\');'."\n";
$out .= str_repeat(' ', (($nr + 1) * 4)).'}'."\n";
foreach($ARR as $nr => $val) {
$out .= str_repeat(' ', ((count($ARR) - $nr - 1) * 4)).'}'."\n";
}
return $out;
}

function permutationen($ARR) {
$ARR = array_flip(array_flip($ARR));
$ok = sort($ARR);
$EG = array();
$code = make_code($ARR);
eval($code);
return $EG;
}

?>
Nach oben
admin
Site Admin


Anmeldungsdatum: 16.01.2005
Beiträge: 323
Wohnort: Berlin

BeitragVerfasst am: 22.04.2005 12:09:33    Titel: Antworten mit Zitat

also wenn du das jetzt clientseitig brauchst, brauchst du doch nur die sache 1:1 in javascript umwandeln (was ja nicht allzuschwer sein dürfte weil du quasi nur die $ wegnehmen brauchst) ... oder nicht?

gruss,
jan.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.