Return eines Strings und "Overflow" Error



  • Swordfish schrieb:

    dub di dub.

    #include <cstddef>
    #include <cctype>
    #include <string>
    #include <iostream>
    
    std::string rotate( std::string const & str, std::size_t offset )
    {
    	std::string dst;
    
    	for( auto ch : str ) {
    		if( std::islower( ch ) )
    			dst += 'a' + ( ( ch - 'a' + offset ) % ( 'z' - 'a' + 1 ) );
    		else if( std::isupper( ch ) )
    			dst += 'A' + ( ( ch - 'A' + offset ) % ( 'Z' - 'A' + 1 ) );
    		else dst += ch;
    	}
    
    	return dst;
    }
    
    int main()
    {
    	std::string input;
    	std::cin >> input;
    
    	for( std::size_t i{}; i <= 'z' - 'a' + 1; ++i )
    		std::cout << rotate( input, i ) << '\n';
    
    	std::cout.put( '\n' );
    }
    

    🤡 🤡 🤡



  • Danke für die Hilfe! 🙂
    Eine frage hätte ich aber noch,
    wieso krieg ich denn ne fehlermeldung bei Entschluesselt=Entschluesselung(..); wenn ich entschluesselt als chararray deklariere, aber keine weil ich eig bei entschlue3sselung nen std::string returnen sollte, aber dort nen chararray returne? 😕



  • Arrays können nicht zurückgegeben werden, genauso wenig wie du Arrays einander zuweisen kannst.
    Deshalb wurde std::string erfunden.



  • Danke !



  • Insgesamt werden die eingebauten Arrays nie gebraucht, eher werden dynamische Container wie vector und string benutzt, für statische Sachen gibt es std::array.


Anmelden zum Antworten