kleines Crypttool und schon die erste Frage ;)

Hi CommZ,

Ich wollte mich mal an nem kleinen Verschlüsselungstool versuchen so als einstieg ein wneig in die Kryptographie.

Nunja dazu ist zwingend notwendig das ich weiss wie ich bsp. a = b zuweisen kann,ihr versteht was ich meine...hoffentlich :D

ich hab aber keinme ahnung wie ich das realisierne kann ,deshlab hoffe ich kann mir einer von euch weiterhelfen.

Thx und MfG,

Tk

/Edit:
Kann mir das wirklich keiner sagen ?!
25 Views und keiner weiss das??
hmm :/
 
re

Hi!
Nun, es wäre sehr hilfreich, wenn du dein Problem genauer darlegen würdest, so dass sich nicht jemand - wie ich jetzt - erst erkundigen muss. Du willst
wie meinst du das? Und in welcher Sprache codest du? Auch könntest du uns mitteilen, mit welchem Verfahren du deinen Text verschlüsseln willst (Caesar, oder was anspruchvolleres?).
Um deine Frage zu beantworten: Nein, wir verstehen nicht, was du meinst. ;)
Wenn du deine Frage präzisierst, hast du schon sehr viel größere Chancen, eine Antwort zu erhalten.
Was ich noch anmerken will: Das Thema, Kryptographie-Anwendungen zu schreiben ist sehr populär und deswegen wäre es sicher keine Schwierigkeit, bei Google dergleichen zu finden. Auch in diesem Forum - bzw. unter "Programmieraufgaben" - wurde das Thema schon mal behandelt, wenn ich mich recht erinnere.
cu gabriel3
 
Hi,

Yo Sorry ,wusst ich doch irgendwie das das nicht so rüberkam :P
Aber danke.

Also ich meine in C++ coden und nein,noch nichteinmal so anspruchsvoll wie caesarverschlüsselung :D
nene,noch was komplizierteres bestimmt nicht,ganz simpel das man einen normalen Text eingibt der dann in anderen umgewandelt wird,zum anfang halt nur a wird zu b b zu c und z zu 1.

Aber ich hoffe ausm Source jetzt schon genug zu erfahren mal sehn in was des gecoed ist.

Thx und MfG,

Teekayo2
 
Stichwort Array

wollte auch mal sowas machen (habs aber noch nicht gemacht) und mir hat man gesagt das ginge mit arrays...

und dann muss halt beim inputtext jedes zeichen einzelnausgewertet werden
 
re

Hi!
@TeeKayo2:
Also ich meine in C++ coden und nein,noch nichteinmal so anspruchsvoll wie caesarverschlüsselung
nene,noch was komplizierteres bestimmt nicht,ganz simpel das man einen normalen Text eingibt der dann in anderen umgewandelt wird,zum anfang halt nur a wird zu b b zu c und z zu 1.
Was du da beschreibst ist im Prinzip nichts anderes als der Caesar-code, bei dem einfach jeder Buchstabe um ein bestimmtes Intervall verschoben wird.
Also beispielsweise: a wird c, b wird d, c wird e, y wird a, z wird b.
cu Gabriel3
 
So ich habe jetzt mal angefanegn damit...

Es treten komische Fehler auf,es lässt sich ned kompilieren und er meckert immer wieder an etwas anderem rum,kann mir jemand vll. sagen wieso?!

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{


int eingabe;
char array[28]={'a','b','c','d','e','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
cin>>eingabe;

{if (array[0])
cout<<1<<endl;
if (array[1])
cout<<2<<endl;
if (array[3])
cout<<3<<endl;
if (array[4])
cout<<4<<endl;
if (array[5])
cout<<5<<endl;
if (array[6])
cout<<6<<endl;
if (array[7])
cout<<7<<endl;
if (array[8])
cout<<8<<endl;
if (array[9])
cout<<9<<endl;
if (array[10])
cout<<10<<endl;
if (array[11])
cout<<0110<<endl;
if (array[12])
cout<<0120<<endl;
if (array[13])
cout<<0130<<endl;
if (array[14])
cout<<0140<<endl;
if (array[15])
cout<<0150<<endl;
if (array[16])
cout<<0160<<endl;
if (array[17])
cout<<0170<<endl;
if (array[18])
cout<<0180<<endl;
if (array[19])
cout<<0190<<endl;
if (array[20])
cout<<0200<<endl;
if (array[21])
cout<<0210<<endl;
if (array[22])
cout<<0220<<endl;
if (array[23])
cout<<0230<<endl;
if (array[24])
cout<<0240<<endl;
if (array[25])
cout<<0250<<endl;
if (array[26])
cout<<0260<<endl;
if (array[27])
cout<<0270<<endl;
if (array[28])
cout<<0280<<endl;
}






system("PAUSE");
return EXIT_SUCCESS;
}
 
- wenn du ein zeichen einlesen willst dann deklariere eingabe als char und nicht als int
- wenn du die zahlen ausgeben willst musst du anführungszeichen setzen (beispiel: cout<<"0180"<<endl; )
- deine if abfragen sind alle wahr, im moment fragst du einfach nur ob der inhalt des jeweiligen feldes nicht 0 ist, was überall zutrifft. was du willst ist wohl eher sowas: if (eingabe == array[0])
- desweiteren übertrittst du dein array welches 28 felder hat. du fragst aber von 0 bis 28 ab, was 29 felder sind. du darfst also nur bis array[27] zugreifen.
- noch ein kleiner hinweis zu deiner kodierung. du kennzeichnest ja mit einer führenden 0 wenn eine zweistellige zahl kommt. die hintere 0 ist dabei eigentlich unnötig. um die kodierung zu verkürzen könntest du diese weglassen.
 
Hi,

Nochmal n edit :)

Also...bei 27 funzt es nicht komischerweise,versucht hatte ich das schon.
Dann kA werden aslle Zahlen leider ausgegeben ist irgendwie schlecht :(
und ja kA

Danke für die andren tipps!!

bye
 
kannst du dich mal bitte verständlich ausdrücken? X(

Also...bei 27 funzt es nicht komischerweise,versucht hatte ich das schon.
was funzt nicht? :rolleyes:
fehlermeldung? quellcode?
zeig am besten nochmal den gesamten quellcode her.

Dann kA werden aslle Zahlen leider ausgegeben ist irgendwie schlecht und ja kA
siehe 3. punkt meines letzten postings.
wenn dir gehlofen werden soll, dann solltest du dir vielleicht auch mal die antworten vernünftig durchlesen bzw. die hinweise entsprechend umsetzen. sonst kann man sich auch die zeit sparen zu versuchen dir zu helfen.

?

btw ist deine geschweifte klammer um den if-block sinnlos.
 
Ich hab mir deine Antwort anstädnig durchgelesen ,trotzdem danke X(

Zu Punkt 3:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{


char eingabe;
char array[28]={ 'a','b','c','d','e','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
cin>>eingabe;

{if (eingabe==array[0])
cout<<"1"<<endl;
if (eingabe==array[1])
cout<<"2"<<endl;
if (eingabe==array[3])
cout<<"3"<<endl;
if (eingabe==array[4])
cout<<"4"<<endl;
if (eingabe==array[5])
cout<<"5"<<endl;
if (eingabe==array[6])
cout<<"6"<<endl;
if (eingabe==array[7])
cout<<"7"<<endl;
if (eingabe==array[8])
cout<<"8"<<endl;
if (eingabe==array[9])
cout<<"9"<<endl;
if (eingabe==array[10])
cout<<"10"<<endl;
if (eingabe==array[11])
cout<<"110"<<endl;
if (eingabe==array[12])
cout<<"120"<<endl;
if (eingabe==array[13])
cout<<"130"<<endl;
if (eingabe==array[14])
cout<<"140"<<endl;
if (eingabe==array[15])
cout<<"150"<<endl;
if (eingabe==array[16])
cout<<"160"<<endl;
if (eingabe==array[17])
cout<<"170"<<endl;
if (eingabe==array[18])
cout<<"180"<<endl;
if (eingabe==array[19])
cout<<"190"<<endl;
if (eingabe==array[20])
cout<<"200"<<endl;
if (eingabe==array[21])
cout<<"210"<<endl;
if (eingabe==array[22])
cout<<"220"<<endl;
if (eingabe==array[23])
cout<<"230"<<endl;
if (eingabe==array[24])
cout<<"240"<<endl;
if (eingabe==array[25])
cout<<"250"<<endl;
if (eingabe==array[26])
cout<<"260"<<endl;
if (eingabe==array[27])
cout<<"270"<<endl;
if (eingabe==array[28])
cout<<"280"<<endl;
}






system("PAUSE");
return EXIT_SUCCESS;
}

Auch so funzt es leider nicht!


Und wegen der Fehlermeldung:

too many initializers for `char[27]'

bei der Zeile hier;
char array[27]={ 'a','b','c','d','e','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};

MfG,

Teekayo2

edit2/ fehler mit den 28 und 27 Jahrs beseitigt,da war n Leerzeichen ...
 
dein geposteter quellcode lässt sich ohne probleme kompilieren.
denn da steht "char array[28]" und nicht "char array[27]", wie du bei der fehlermeldung schreibst.
egal ... es muss jedenfalls 28 sein, denn wie deine fehlermeldung schon sagt hast du bei 27 mehr initialisierungen (28) als das array überhaupt groß ist.
was ich eigentlich meinte ist diese zeile "if (eingabe==array[28])". dort greifst du praktisch auf das 29. feld zu, welches über der größe des array hinaus ist.
das liegt daran dass du am anfang die "2" übersprungen hast:

if (eingabe==array[1)
cout<<"2"<<endl;
if (eingabe==array[3])
cout<<"3"<<endl;

nimm deinen geposteten quellcode, korrigiere entsprechend die zahlen und dann sollte das funzen.

und wie schon gesagt die geschweiften klammern vor dem ersten if und dem letzten sind unnötig.
 
ohja OO

Habs geändert.

JEtzt gibt er problemlos...eine Zahl aus :/
also nen Text kann ich noc hnicht schreiben :(

Noch nen kleinen Tipp vll.??

Thx und MfG,

Teekayo2
 
Zurück
Oben