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


Anmelden zum Antworten