Wie kann ich solch eine Tabelle in C++ darstellen?

4 Antworten

Man könnte hier zwar an ein zweidimensionales Array im old C-Style denken

int** tabelle;

Das ist aber arg old-style, da bietet C++ besseres, nämlich Container, z.B. Vektor:

std::vector< std::vector<int> > tabelle;

oder

std::array< std::array<int> > tabelle;

Natürlich kann man mischen

st::array< std::vector<int> > tabelle;

aber bitte nicht so etwas

std::vector <int*> tabelle;
(std::vector<int>)* tabelle; // wenn das überhaupt geht
Woher ich das weiß:eigene Erfahrung

Isendrak  12.09.2019, 16:38
(std::vector<int>)* tabelle; // wenn das überhaupt geht

Ja, das geht:

#include <vector>
#include <cstdlib>
#include <iostream>
int main(){
    std::vector<int>* tabelle = (std::vector<int>*)std::malloc(sizeof(std::vector<int>)*10);
    tabelle[0].push_back(42);
    for(int y = 0; y < 10; ++y){
        for(int x = 0; x < (int)tabelle[y].size(); ++x){
            std::cout << tabelle[y][x] << "\t";
        }
        std::cout << std::endl;
    }
}

Ist aber schon fast halbes C. ^^

1

GUI oder CUI?

Wenn GUI: Welche?

Ohne mindestens diese Angaben bleibt mir leider nichts anderes übrig, als auf Jerrry230602s Antwort zu verweisen und ebenfalls zu sagen "Mit einer Schleife"...

Die Frage ist nicht klar. Geht es nur um eine Tabelle aus Zahlen in einem Command-Window, oder gehören auch die Linien und Schattierungen zur Aufgabe?

mit ZWEI ineinander verschachtelten schleifen.

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler, B. Sc. Informatik