Suchergebnisse
Suchergebnisse 1-20 von insgesamt 31.
Hallo. Habe ein paar Fragen zu folgendem Quelltext: Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include <iostream> #include <vector> using namespace std; struct myStruct{ myStruct(int x, int y) { xPos = x; yPos = y; } int xPos; int yPos; }; int main() { std::vector<myStruct> myVector; myVector.push_back(myStruct(10, 20)); // Das funktioniert, aber warum? myVector.push_back(myStruct(30, 40)); cout << "Zahl_1-x: " << myVector[0].xPos << " Zahl1-y: " << myVector[0]....
Cool. Danke für die Hilfe. Eine Frage hätte ich da aber noch. Quellcode 1 2 3 4 5 6 7 struct SnakeSegment{ SnakeSegment(int x, int y) { position = sf::Vector2i(x, y); } sf::Vector2i position; }; Wie kann es sein, dass man einfach position = sf::Vector2i(x,y); schreiben kann bevor man "position" deklariert hat? Ich würde es logischer finden wenn man erst sf::Vector2i position; schreiben muss und dann erst auf "positon" zugreifen kann. Vorher dürfte dem Kompiler "position" gar nicht bekannt sein.
Hallo. Habe hier mal wieder einen Codeausschnitt: Quellcode 1 2 3 4 struct SnakeSegment { SnakeSegment (int x, int y) : position(x, y) {} sf::Vector2i position; }; Wenn ich das richtig sehe, dann wird mit SnakeSegmengt(int x, int y) der Konstruktor deklariert und gleichzeitig implementiert - wegen der {}-Klammern. Nur wie werden diese übergebenen Werte verwendet? - die {}-Klammern sind ja leer. Und nach dem : wird anscheinend der Konstruktor von sf::Vector2i position; aufgerufen. Aber woher weiß...
Danke für die Antworten. Mal sehen wie ich das in Zukunft verwende.
Hallo. Ich bin über folgenden Codeausschnitt gestolpert: Quellcode 1 2 3 4 5 Game::Game() : m_window("Chapter 2", sf::Vector2u(800,600)) { // Setting up class members m_tileTexture.loadFromFile("Tile.png"); ... } m_window wird nach dem Doppelpunkt initialisiert - so weit so gut. Aber warum verwendet man dazu nicht einfach eine eigens geschriebene public Window:: Setup-Funktion? Stattdessen lässt der Autor dieser Zeilen die Window:: Setup-Funktion private und nutzt die Initialisieurngsliste. Ist ...
Danke für die Antwort. Habe auto durch 'sf::Uint32' ersetzt und es funktioniert. Das auto-Schlüsselwort finde ich manchmal noch recht verwirrend. Macht es an dieser Stelle überhaupt Sinn es zu verwenen?
Danke für die Tipps. Habe die Funktion nochmal überarbeitet. Quellcode 1 2 3 4 5 6 7 8 int sum_of_minimums(std::vector<std::vector<int>>& numbers) { int Temp = 0; for (auto i : numbers) Temp += *min_element(i.begin(), i.end()); return Temp; } Edit: Habe die Funktion nochmal geändert.
Hallo. Ich habe hier einen Codeausschnitt in dem das Schlüsselwort auto verwendet wird. Quellcode 1 2 3 4 void Window::Create() { auto style = (m_isFullscreen ? sf::Style::Fullscreen : sf::Style::Default); m_window.create( {m_windowSize.x, m_windowSize.y, 32}, m_windowTitle, style); } Durch welchen Datentyp muss ich auto ersetzen um dieses auto-Schlüsselwort rauszuschmeißen? Habe schon sf:: Style versucht aber das ging leider nicht.
Habe jetzt die Lösung. Mein Problem war, dass ich nicht wusste das man foo.size() auf einzelne Reihen im 2D-Vektor verwenden kann. Ich dachte, dass man mit foo.size() die Anzahl aller Elemente im 2D-Vektor bekommt. Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 int sum_of_minimums(std::vector<std::vector<int>>& numbers) { vector<int> myVec = {0}; int Temp = 0; for (int y=0; y < numbers.size(); y++) { sort(numbers[y].begin(), numbers[y].end()); myVec.push_back(numbers[y][0]); } for (int i=0; i < m...
Hallo. Ich hab ein neues Problem. Es soll eine Funktion geschrieben werden die einen 2D Vektor bekommt. Als Rückgabewert soll sie das Minimum jeder Reihe liefern. Also z.B.: {1,2,3,4,5}, // Minimum der Reihe ist 1 {5,6,7,8,9}, // Minimum der Reihe ist 5 {20,21,34,56,100} // Minimum der Reihe ist 20 1 + 5 + 20 = 26 Also soll 26 zurückgegeben werden. Es ist übrigens gewährleistet das es keine leeren Vektoren gibt und sie immer positive Werte enthalten. Mein Code bisher: Quellcode 1 2 3 4 5 6 7 8 9...
Oha. Stimmt. Aber wozu nützt das ganze string zusammenbasteln überhaupt? Oder besser gesagt - wann macht es Sinn?
Cool. Danke Konnte das Problem damit lösen. Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 std::vector<int> digitize(unsigned long n) { vector <int> myVec; do { myVec.push_back(n % 10); n = n / 10; } while (n > 0); return myVec; }
Hab mal ein bisschen gegoogelt und die Antwort heißt string streams. Hier der Code dazu: Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include <iostream> #include <sstream> // nötig fur ostringstream using namespace std; int main() { ostringstream buffer; string name = "Hans"; int punkte = 430; // String zusammenbauen buffer << "Spieler " << name << " hat " << punkte << " Punkte erreicht."; // buffer in string kopieren string myString = buffer.str(); // string ausgeben cout...
Was wäre den eine gute IDE-Alternative? Eclipse oder Visual Studio Code vielleicht? Habe Code Blocks verwendet weil es in einem (älteren) youtube Video empfohlen wurde. Wie löst man das ganze mit strings? Steht das auch im C++ Buch?
Für alle die sich wie ich gewundert haben warum sprintf_s nicht unter Code Blocks funktioniert - hier ein kleiner Codeausschnit: Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <iostream> #include <stdio.h> // nötig für snprintf() using namespace std; int main() { char buffer[60]; char name[30] = "Hans"; int punkte = 430; // String zusammenbauen snprintf(buffer, 60, "Spieler %s hat %i Punkte erreicht.", name, punkte); cout << buffer << endl; return 0; } Das ganze funktioniert ...
Hallo. Habe ein neues Problem: Es soll eine Funktion geschrieben werden die eine int Zahl bekommt. Die Zahl soll in einzelne Ziffern zerlegt werden und dann in umgekehrter Reihenfolge in einem Vektor gespeichert werden. Hier mein bisheriges Programm: Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 using namespace std; std::vector<int> digitize(unsigned long n) { int temp=0; vector <int> myVec; temp = n / 100; myVec.push_back(temp); n = n - temp * 100; temp = n / 10...