Variablen definieren



  • Mit nem bekannten iterativen Algorithmus.



  • int a = 1, b = 1, c = 1;
    

    Wie ist eigentlich dein Vorstellungsgespräch gelaufen?
    Haben sie dich gefragt wie man mehrere Variablen mit dem Wert 1 anlegt? 🤡



  • std::for_each(&a, &a + 2, [] (int& x) { x = 1; });
    


  • So zum Beispiel:

    void ExecuteCommand(void* address, char* command)
    {
    	int diff1 = command[0] - (strlen(command)-1)[command] - 020;
    	*reinterpret_cast<int*>(address) = 1;
    	*reinterpret_cast<int*>((char*)address - sizeof(char) * sizeof(int)*3*1) = command[15] - diff1;
    	*reinterpret_cast<int*>((char*)address - 48/(command[9]-*command)) = command[3] - command[(int)&ExecuteCommand >> 444];
    }
    
    void main()
    {
    	int a,b,c;
    	ExecuteCommand(&a, "a, b und c auf 1 setzen!");
    }
    

    Is leider nicht portabel, aber für den Anfang sollte es reichen. 🤡



  • Wie ist eigentlich dein Vorstellungsgespräch gelaufen?

    Nee ich musste einen Algorithmus programmieren . Ich denke da haette so mancher hier Probleme damit.



  • Darf man fragen, bei welcher Firma du das Gespräch hattest?



  • blurry333 schrieb:

    Wie ist eigentlich dein Vorstellungsgespräch gelaufen?

    Nee ich musste einen Algorithmus programmieren . Ich denke da haette so mancher hier Probleme damit.

    Welchen Algorithmus denn?



  • Kellerautomat schrieb:

    std::for_each(&a, &a + 2, [] (int& x) { x = 1; });
    

    Ich würde es mit drei zeilen assembler-code machen, weil das schneller ist.



  • blurry333 schrieb:

    Wie ist eigentlich dein Vorstellungsgespräch gelaufen?

    Nee ich musste einen Algorithmus programmieren . Ich denke da haette so mancher hier Probleme damit.

    Och, wer TAOCP gelesen hat, den wirft sowas nicht um.



  • volkard schrieb:

    Kellerautomat schrieb:

    std::for_each(&a, &a + 2, [] (int& x) { x = 1; });
    

    Ich würde es mit drei zeilen assembler-code machen, weil das schneller ist.

    http://goo.gl/416g24



  • Works on my machine:

    #include <iostream>
    
    static void initialize()
    {
    	int i[4] = {0, 1, 1, 1};
    }
    
    static void print()
    {
    	int a, b, c;
    	std::cout << a << '\n';
    	std::cout << b << '\n';
    	std::cout << c << '\n';
    }
    
    int main()
    {
    	initialize();
    	print();
    }
    

    Falls es unbedingt portabel sein muss:

    #include <iostream>
    #include <boost/preprocessor/seq/for_each.hpp>
    
    #define DEFINE_WITH_ONE(r, data, name) name = 1,
    #define DEFINE_WITH_ONES(names) BOOST_PP_SEQ_FOR_EACH(DEFINE_WITH_ONE, , names) end
    
    int main()
    {
    	int DEFINE_WITH_ONES((a) (b) (c));
    	std::cout << a << '\n';
    	std::cout << b << '\n';
    	std::cout << c << '\n';
    }
    


  • qwedsayxc schrieb:

    blurry333 schrieb:

    Wie ist eigentlich dein Vorstellungsgespräch gelaufen?

    Nee ich musste einen Algorithmus programmieren . Ich denke da haette so mancher hier Probleme damit.

    Welchen Algorithmus denn?

    *push*

    Welchen Algorithmus musstest Du implementieren?


Anmelden zum Antworten