| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2003
Beiträge: 51
| Probleme mit Matzrizen...
ich will eine vigenere verschlüsselung basteln! dazu brauch ich eine matrix, die in der ersten zeile an alphabet von b bis a hat (b,c,d,....x,y,z,a), und in den folgenden 25zeilen ein alphabet, das immer um EIN zeichen nach rechts verschoben ist! mein ansatzt sieht folgendermaßen aus: [i] alphabet = new array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"); valphabet = new array(); quadrat = new array(); function versch(verschiebung) { for (i=0; i<=25; i++) { stelle = i+verschiebung+1; if (stelle>25) { stelle = stelle-26; } valphabet = alphabet[stelle]; } // trace(valphabet.toString()); return valphabet; } // auslesen for (k=0; k<=25; k++) { quadrat[k] = versch(k); trace(quadrat.toString()); } die einzelnen "verschobenen" alphabete werden mir korrekt erzeugt! wenn ich aber jedes einzelne in das "quadrat"-array einsetzten will, kommt entweder garnix dabei raus, oder ich habe im quadrat 26 array´s vom "normalen"(a,b,c,d..) alphabet! ich hab auch schon: quadrat[k]=[versch(k)] ausprobiert oder weiter oben dann: quadrat[k][i]=alphabet[stelle] aber nix funktioniert! kann mir da jemand helfen? |
| | |
| | #2 (permalink) |
| Hot's no frogn gebn?! Registriert seit: Oct 2002 Ort: Vlbg, ÖR
Beiträge: 186
|
Hallo Dein Code ActionScript:
gibt genau das aus, sollte doch passen? ActionScript:
__________________ www.morgenstille.at www.treemotion.at |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jun 2003
Beiträge: 51
|
warum hast du das "var" in die if schleife geschrieben??? das kam nicht von mir............... ????????? was bedeutet das?? und noch ne frage! wenn ich am ende trace(quadrat[0][0]); mache, sollte ja ein "b" erscheinen!! das tut´s aber nicht!! sondern ein "a"!!! und das darf nicht sein!!! oberes linkes zeichen in der matrix MUSS ein "b" sein!! ich blick langsam nimma druch! laut dem oberen trace sieht´s das array ok aus! aber eben doch wieder nicht! |
| | |
| | #4 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
du übersiehst das in quadrat immer nur die aktuelle zeile gespeichert wird (mit jedem durchlauf wird sie überschrieben)... und somit hast am ende auch die letzte zeile in der var und somit sprichtst du mit quadrat[0][0] nach der for schleife auch die letzte line an.... und dort ist der erste wert ein "a"
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) Geändert von Scrawer (16-08-2003 um 13:16 Uhr) |
| | |
| | #5 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Mit den Array-Methoden ginge es auch etwas kürzer: ActionScript:
mfg r
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Aug 2002 Ort: Faust-Stadt
Beiträge: 2.577
|
hi zusammen ist es überhaupt nötig das alles über ein arrayquadrat zu bauen. ActionScript:
__________________ gruß Harry |
| | |
| | #7 (permalink) | |
| Neuer User Registriert seit: Jun 2003
Beiträge: 51
| Zitat:
warum ist in quadrat immer nur die letzte zeile gespeichert??? was ich will ist eine matrizze! also sowas: quadrat = [["b","c",..."z","a"],["c","d","e",..."z","a","b"]............["a","b",........["z"]] nur will ich das wegen 26zeilen und 26buchstaben nicht von hand machen müssen! ziel der sache ist halt das ich zum beispiel bei x = quadrat[0][0] dann "b" rauskriege! @hay@bokel sicher kann ich mir jedesmal mein alphabet neu zusammenbauen! so läuft auch das jetzige programm! aber ich WILL halt eine matrix erstellen! (brauch das später eh) trotzdem danke schonmal! ich hoffe ihr wisst jetzt was ich will! | |
| | |
| | #8 (permalink) | |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
| Zitat:
![]() das anlegen von: quadrat = new array(); muss in die function "versch()" rein.... dann wird dein wille schon eher umgesetzt
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) | |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Aug 2002 Ort: Faust-Stadt
Beiträge: 2.577
|
hi naja also ein alphabet baue ich keines. und ob ich die werte jetzt so quadrat[0][0] oder so hole get_code(1,0) müste ja egal sein ansonsten wie @Scrawer meint "was du willst ist ein sache was du machst eine andere"
__________________ gruß Harry |
| | |
| | #10 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
@hugepanic Ich glaube ich bin in der Matrix ![]() Hast du dir das Ergebnis des Scripts mal angeschaut ? Die Matrix steckt in quadrat. Ein trace auf quadrat[0][0] sollte b ergeben. mfg r.
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
| | #11 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
wer?
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Jun 2003
Beiträge: 51
|
wenn ich das kriegen würde, was ich wollte, würde ich hier nicht reinschreiben!! also nochmal! hier mein aktueller code -------------------------------------------------------- for (k=0; k<=25; k++) { for (i=0; i<=25; i++) { stelle = i+k+1; if (stelle>25) { stelle = stelle-26; } valphabet = alphabet[stelle]; quadrat[k] = alphabet[stelle]; } } for (i=0; i<=25; i++) { trace(quadrat).toString(); } und das kommt dabei raus!!! ------------------------------------------------------------ a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y, z .... .. . a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y, z ------------------------------------------------------------ wo ist denn da jetzt der fehler????? kann es sein, das quadrat richtig belegt ist, aber ich mir nur das falsche "tracen" lasse??? P.S.:so SOLLTE es aussehen b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z, a c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a, b d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,c, d .... .. . a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y, z P.P.S.: oh wie ich es hasse......... Geändert von Hugepanic (17-08-2003 um 00:39 Uhr) |
| | |
| | #13 (permalink) |
| Hot's no frogn gebn?! Registriert seit: Oct 2002 Ort: Vlbg, ÖR
Beiträge: 186
|
Die Lösung des Problems : ActionScript:
Bei einer Zuweisung mit Datentypen höherer Ordnung (weiß auch nicht wie sie heißt), speichert flash immer nur einen Zeiger und das ist der auf valphabet, da das am ende a,b,c... ist hatten in den bisherigen versionen alle elemente in quadrat den wert von valphabet und der war am schluss eben a,... In der Version kopiere ich den inhalt des jeweiligen valphabet in quadrat[ k ] mit concat(); Jetzt MUSS es funktionieren. Weiß auch nicht wieso ich so lange auf der LEitung gestanden bin .Sorre, hoffe es geht. Gruß Joemoe
__________________ www.morgenstille.at www.treemotion.at |
| | |
| | #14 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
concat oder du legst in der function versch das array valphabet immer aufs neue an... dann übergibt er keinen zeiger.... wie ich schon oben sagte.... denn im moment wird das array nur einmal ausserhalb der function erzeugt.. daher wird immer mit einem zeiger gearbeitet.....
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) Geändert von Scrawer (17-08-2003 um 08:55 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |