problem bei der konvertierung von pascal nach c++



  • die "machwasmit()" schreib ich selbst ...
    es geht im prinzip darum ein offenes array von strings beim aufruf der funktion
    in den funktionkopf zu schreiben ...also keine variable erst zu erzeugen

    void test(QString arg[]){
       // hier will ich x strings in dem array bearbeiten
    }
    

    und wichtig ist die form des aufrufs ...

    test( ("string 1","string 2"," eventuell auch mehr strings") );
    


  • mit dem aufruf wird das so nichts.
    du könntest aber nen std::vectorstd::string oder ähnliches übergeben.
    vielleicht sind auch noch die funktionen std::generate() oder std::for_each() hilfreich
    mfg.



  • Cpt. Tanga schrieb:

    mit dem aufruf wird das so nichts.
    du könntest aber nen std::vectorstd::string oder ähnliches übergeben.
    vielleicht sind auch noch die funktionen std::generate() oder std::for_each() hilfreich
    mfg.

    kann mir da jemand mit einem mini bsp auf die sprünge helfen?



  • Hallo,

    Der Begriff Konvertierung bezeichnet in der Informatik die Überführung einer Datei von einem Dateiformat in ein anderes.

    Das heißt man konvertiert nicht von Pascal nach C[++]. Man schreibt um oder übersetzt.

    Übersetzen != Konvertieren

    MFG winexec*



  • winexec* schrieb:

    Hallo,

    Der Begriff Konvertierung bezeichnet in der Informatik die Überführung einer Datei von einem Dateiformat in ein anderes.

    Das heißt man konvertiert nicht von Pascal nach C[++]. Man schreibt um oder übersetzt.

    Übersetzen != Konvertieren

    MFG winexec*

    Na Du bist ja toll 😉 danke für die sehr intelligente Antwort auf oben gestellte frage;-)
    In diesem Zusammenhang steht ganz oben in meiner Frage:

    folgendes problem hab ich beim umsetzen von code
    in pascal ist folgendes möglich

    Ein konstruktiver Beitrag wäre mir persönlich lieber gewesen ...oder habe ich hier eine Frage welche "kein" Programmierer sauber beantworten kann? 😉



  • #include <iostream>
    #include <string>
    #include <vector>
    
    using namespace std;
    
    void mach_was(vector<string> str)
    {
        for(unsigned int i = 0; i < str.size(); ++i)
        {
            cout << str.at(i) << endl;
        }
    }
    
    int main(int argc, char **argv)
    {
    
        vector<string> s;
        s.push_back("hello");
        s.push_back("world");
        s.push_back("!");
    
        mach_was(s);
    
        return 0;
    }
    


  • xxxblubxxx schrieb:

    #include <iostream>
    #include <string>
    #include <vector>
    
    using namespace std;
    
    void mach_was(vector<string> str)
    {
        for(unsigned int i = 0; i < str.size(); ++i)
        {
            cout << str.at(i) << endl;
        }
    }
    
    int main(int argc, char **argv)
    {
    
        vector<string> s;
        s.push_back("hello");
        s.push_back("world");
        s.push_back("!");
        
        mach_was(s);
        
        return 0;
    }
    

    vielen dank ...allerdings ist diese lösung nicht die gesuchte. siehe oben 😢

    ich suche einen funktionsaufruf der in etwa so ausschaut

    mach_was(("hello","world","!"))
    


  • Hallo,

    Ich glaube niemand versteht so richtig was du meinst: http://www.lugbz.org/documents/smart-questions_de.html

    Meinst du vielleicht so erwas?

    void mach_was(string a, string b, string c){
        string h[3] = { a,b,c };
        for(unsigned int i = 0; i <  3; ++i){
            cout << h[i] << endl;
        }
    }
    
    int main(int argc, char **argv){
    
        mach_was("hallo","welt","!");
        return 0;
    }
    

    MFG winexec*



  • Ich denke er will wissen wie man eine Funktion erstellt, die eine variable Anzahl an Parametern haben kann.
    So ähnlich wie bei printf. Da können ja auch eine unterschiedliche Anzahl an Parametern angegeben werden.



  • Nachdem er uns immer noch nicht gesagt hat, was er will...

    #include <string>
    #include <vector>
    #include <iostream>
    #include <cstdarg>
    
    using namespace std;
    
    void foo( int parmN, ... );
    
    int main( )
    {
        foo( 1, "one" );
        foo( 3, "one", "two", "three" );
        foo( 5, "one", "two", "three", "four", "five" );
    }
    
    void foo( int parmN, ... )
    {
        va_list ap;
    
        va_start( ap, parmN );
    
        vector< string > array;
    
        for( int i = 0; i < parmN; ++i ) {
    
            array.push_back( va_arg( ap, char* ) );
        }
    
        va_end( ap );
    
        for( int i = 0; i < array.size( ); ++i ) {
    
            cout << array[ i ] << endl;
        }
    
        cout << endl;
    }
    

    Greetz, Swordfish


Anmelden zum Antworten