C++ Verschlüsselung
lima-city → Forum → Programmiersprachen → C/C++ und D
algorithmus
aufgabe
beitrag
bestehen
codewort
ebenfall
eingabeaufforderung
filter
genauen problemstellung
hilfe
irgend
mischung
punkten
quadrat
satzzeichen
soziale phase
speziellen datei
speziellen textdatei
unterricht
vortrag
-
Ich habe eine Aufgabe von unserem Lehrer bekommen ein Verschl?sselungprogramm zu schreiben, doch ich komme nicht weiter und darum frage ich um hier um Hilfe.
Das ist die Aufgabe:
Erstelle ein Ver- bzw. Entschl?sselungsprogramm, das Texte nach dem Vigen?re-Verfahren verschl?sselt bzw. bei Bekanntgabe des Code-Wortes entschl?sselt.
Das Codewort darf nur aus Kleinbuchstaben bestehen und muss zwischen 5 und 20 Zeichen lang sein.
Die zu verschl?sselnden Texte d?rfen ebenfalls nur aus Kleinbuchstaben bestehen. Keine Satzzeichen oder Leerzeichen!
Im Programm soll es zwei Men?punkte geben: 1. Verschl?sseln, 2.Entschl?sseln.
Der jeweils gew?nschte bzw. ben?tigte Schl?ssel wird vom Benutzer eingegeben.
Verschl?sselung: Der zu verschl?sselnde Text ist in einer speziellen Textdatei zu hinterlegen. Der verschl?sselte Text wird in einer speziellen Datei ausgegeben.
Entschl?sselung: Der zu entschl?sselnde Text ist in einer speziellen Textdatei zu hinterlegen. Der entschl?sselte
Text wird in einer speziellen Datei ausgegeben.
Die Kleinbuchstaben gehen von 97 - 122 (ASCII Code). Das Programm sollte in einer Windows Eingabeaufforderung laufen.
Ich danke im Voraus f?r eure Hilfe -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Google -.-
http://www-ivs.cs.uni-magdeburg.de/bs/lehre/wise0102/progb/vortraege/mzoellner/chiffren1.htm
Das Programm musst nur noch selbst schreiben. Falls du im Unterricht nicht aufgepasst hast, dein Pech!
Beitrag ge?ndert am 16.06.2006 13:15 von evil-devil -
hmm wie w?rs mal mit einer genauen Problemstellung, du sagst einfach du kommst nicht weiter, niemand wei? WO du nicht weiterkommst und niemand wird dir heier einfach so kostenlos ein programm schreiben, es sei denn er hat grad ne soziale phase oder so...
-
Also ich hab einen Aufbau schon gemacht, mit einem Men? zum ausw?hlen. Doch bei dem Teil, bei dem das Schl?sselwort zum Text dazuadiert wird hab ich Probleme. Teoretisch wei? ich wie es geht, doch in der Praxis versage ich.
Und im Unterricht bin ich der einzige der ein Heft hat und hin und wieder mitschreibt und ich passe auf.
Danke f?r dich Teoretische erleuterung.
Beitrag ge?ndert am 19.06.2006 06:28 von remasuri -
Man bin ich heute sozial. *g*
Nat?rlich nicht das ganze Programm, aber der algorithmus sollte ungef?hr so aussehen:
#include <iostream> #include <stdlib.h> using namespace std; int main(int argc, char *argv[]) { char quadrat[26][26]= {{'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'}, {'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','b','c'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}, {'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'}}; char* text="meinsehrlangertesttextdudummsau"; char* filter="geheim"; char verschl[100]; char neufilter[100]; char entschl[100]; strcpy(neufilter,filter); do{ strcat(neufilter,filter); }while(strlen(neufilter)<strlen(text)); for(int i=0;i<strlen(text);++i) { for(int k=0;k<26;++k) { if (quadrat[k][0]==text[i]) { for(int m=0;m<26;++m) { if (quadrat[0][m]==neufilter[i]) { verschl[i]=quadrat[k][m]; } } } } } verschl[strlen(text)]='\0'; for(int i=0;i<strlen(verschl);++i) { for(int k=0;k<26;++k) { if(quadrat[k][0]==neufilter[i]) { for(int m=0;m<26;++m) { if(quadrat[k][m]==verschl[i]) { entschl[i]=quadrat[0][m]; } } } } } entschl[strlen(verschl)]='\0'; cout << text << endl << verschl << endl << entschl << endl; system("PAUSE"); return 0; }
Is nich wirklich c++, sondern irgend eine mischung aus c und c++ und s?mtliches dateischreiben und lesen sowie men?s fehlen, aber vom prinzip her funktionierts -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage