ersetzen
-
// Das Programm soll den Eingebenen Text(auch zahlen) verschlüsseln #include<iostream> #include<string> using namespace std; string ersetze(string s, string alt, string neu) { string::size_type pos = s.find(alt); while ( pos != string::npos ) { s.replace(pos, alt.size(), neu); pos = s.find("alt"); } return s; } int main() { string s; cout<<"*************************************************************************"<<endl; cout<<"*******************Verschluesselungsprogramm von dbs043me****************"<<endl; cout<<"*************************************************************************"<<endl; cout << " Texteingabe: "<<endl; cin >> s; s = ersetze(s, "-", "-"); s = ersetze(s, "1", "AQAITLGQBVFHWJHQVDFELRKYMKYWXMWLPDTHRILICQWSYCUW|"); s = ersetze(s, "2", "OWNAGRAXVQKXBCCJYDFWIKCPYPBSALGKCZCZQUAMZXMSIUSY|"); s = ersetze(s, "3", "WOZBTGBOSJJTDXRVVCZKSWCWHJZZWBVJHNPEVEZAJWRWNOQS|"); s = ersetze(s, "4", "STBCZBTYGMMUULIMOIOHNJOXGSKWHEVGTLEZZLODCAPDNWXI|"); s = ersetze(s, "5", "LWUYBBIXETTGUFRAHXGXUQXESJRDJXBLTWNGQFALTHJPOYRU|"); s = ersetze(s, "6", "LIOZJAJNQKXYBOGLLSOIKCSWZDIHOPUCEPXZJPNLOZVHAVML|"); s = ersetze(s, "7", "MLJUMMHKCTPCPJZYGKHPCUJDJSPMUSJMQFLDRJHAUMEARNQK|"); s = ersetze(s, "8", "VSWNXXYYEDTYLKYWIUJWTLIPNUQWPDCDPIZNQVUPDGQJLBSK|"); s = ersetze(s, "9", "VOBDVDVDEBIDLZRYLRGJNSJFMHFWUHOUXZDLHUPBFCCLGYFM|"); s = ersetze(s, "a", "JMQXGECSDLUJJCOYTIFBEADTJFVDGGCNHEZFPUGRSICSIWPR|"); s = ersetze(s, "b", "JZCFWVHQYKFUPMKHMCQLNPOFMPPJBJFWAKFBQLGAZYTFMJQK|"); s = ersetze(s, "c", "PBVXDRGEOOUHHDKMWNDQVGZCEZLYILGOMAUCSJGOTLCDFSOC|"); s = ersetze(s, "d", "UTZWNZNPCMPFMSLRPGLFCTITLTTHNTHDYSEIICWHSLJWSNER|"); s = ersetze(s, "e", "CJFFQYIVLZGCOMBIIPXTVGCMEGPHASCIRUPWTTWOODNRTFNG|"); s = ersetze(s, "f", "OXOPQZGHMPKCTAYTIQWCKLHTOBRLWQYGQXJLUWQEGALCOMDF|"); s = ersetze(s, "g", "OWQCBGPKPBRBSBCLZGTOZBRSMJTYOERPANSQTRRKEOOTMGTT|"); s = ersetze(s, "h", "JERDAFBNEASHYNOYVRRMGYBZREQPNNZMKZLCKEENCFYNULQW|"); s = ersetze(s, "i", "FTKZUORBCVEZNGKBEOWTAIUEXVGFDLQXQZNMQZTSDMEZCFLM|"); s = ersetze(s, "j", "WICQQAMDQTDEELTMUJPVIRYAJDZSFUJDLADVMHRRULSQPZOW|"); s = ersetze(s, "k", "LPDRAEHPOSWFFYXOABAIUEMOTHOMGZFQGPFBYHDBIFMHXLME|"); s = ersetze(s, "l", "DIRVHFSFOVQKRNAGTXFYKLSFFRRGJHEIPXXDUBZGWPORNNLY|"); s = ersetze(s, "m", "YUUDHCKSUYRVWOXCIYSWIPJPSRFNVIKYBWUMRJFWDJMLTQCJ|"); s = ersetze(s, "n", "UUUAPWJRBUYTHNBRXNZGNKCLEBKEAXSIIUBEKZGARIQBDHCQ|"); s = ersetze(s, "o", "ILDXFXHMBWRXDMVQXARODKYHFLAWKDMZWYUQZJOPCLWEQBUY|"); s = ersetze(s, "p", "PYRVXMVXLNIKRQYVORXGMWDVDLEMVJHHFVXFMMXIFSYDBNAS|"); s = ersetze(s, "q", "JLRIWMUOUZYLCIBJIMGXWVSQNOOZUKIFXZKLOWWKBSWAHEVK|"); s = ersetze(s, "r", "RRCKWSLYFAUVWOZYDUKVAFVPZTKWLKJKNZHDNFUXGGAUSCSF|"); s = ersetze(s, "s", "SVBUPSXXJDZEXPLDVOMDBGHMYAPYORFFQJKRLSFJSWWUUWAC|"); s = ersetze(s, "t", "JBMMDKAKGQXHTNBEYESFOGHQTKTBJOHDXMEEUPVNMXJGMDYV|"); s = ersetze(s, "u", "FREFBQTTPUFQJBYLAVXWHABLLHMRWOJVDGGANIVAKJKFYIQA|"); s = ersetze(s, "v", "ZUJJXFZPIVAVYYLQQKGNOPFJALCNLSFICUSFKCVAHOJUQWXM|"); s = ersetze(s, "w", "MNLRBYICQBLVWQKJAGHGCDJLYCURBVGOFSLWSZQBDMSQRDVY|"); s = ersetze(s, "x", "BJYOBDPHFLAXRPPXANQYIBYVPTUAVLPKVTMNUJWGCZKHTHCR|"); s = ersetze(s, "y", "EYWDTHZMPELINZNSXZNOSFWIRWENYQLDTLUPKPSGXEUHUVPK|"); s = ersetze(s, "z", "TOEEGIANNUSKOPUGTZEUZJPAUBAIAPYGCVBGTIEEUERPLJWQ|"); cout << s <<endl; return 0; }
Problem, ich kann nur jeden buchstaben nur einmal einsetzen und verschlüsseln
// Das Programm soll den Eingebenen Text in eine Binärzahl umwandeln #include<iostream> #include<string> using namespace std; int main() { string s, alt, neu; cout << " Eingabe: (alles klein schreiben)"<<endl; cin >> s; while (getline(cin, s)) { const int anzahl_paare = 35; string alt[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "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" }; string neu[] = {"0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1011", "1110", "1111", "10000", "10001", "10010", "10011", "10100", "10101", "10110", "10111", "11000", "11001", "11010", "11011", "11100", "11101", "11110", "", "11111", "100000", "100001", "100010", "100011" }; int i = 0; while (i < 36) { s.replace(s, alt[i], neu[i]); ++i; } } cout << s <<endl; cout << " " <<endl; cout << alt <<endl; cout << " " <<endl; cout << neu <<endl; return 0; }
Problem, es kommen unerklärlich fehler
-
Problem, ich kann nur jeden buchstaben nur einmal einsetzen und verschlüsseln
Ich versteh dein Problem nicht. Das Ersetzen scheint doch zu funktionieren. Was meinst du mit "nur einmal einsetzen und verschlüsseln"?
s = ersetze(s, "-", "-");
...ist unnötig
Problem, es kommen unerklärlich fehler
Soll das ein Witz sein? Wie wärs mit der genauen Fehlermeldung? Was soll man denn damit anfangen?
Mfg, smasher1985