#include <iostream>
int main(){
int x=10;
int y=10;
int matrix[x][y];
for (int i = 0; i<x; i++) {
for (int j =0; j<y; j++){ // wollte nur sichergehen dass kein Ergebnis durch unbestimmte Speicherplätze gefälscht wird
matrix[i][j]=0;
}
}
int cntx,cnty; // 2 Hilfsvariablen zum hoch bzw. runterzählen
int i=1;
cntx=0;
cnty=0;
for(int max=0;max<x;max++){ // da die erste Zahl [0][0] die 2=[0][1] 3.=[01][0]... [0->max][max->0]
cnty=max; // sozusagen y=[max->0] da muss ich ja am anfang auf max sezten
cntx=0;
while(cnty>=0){
matrix[cntx][cnty]=i;
i++;
cntx++;
cnty--;
}
}
//unterer Teil
i=x*x;
cntx=x-1;
cnty=x-1;
for(int min=x-1;min>0;min--){ // da die erste Zahl [0][0] die 2=[0][1] 3.=[01][0]... [0->max][max->0]
cnty=min; // sozusagen y=[max->0] da muss ich ja am anfang auf max sezten
cntx=x-1;
while(cnty<=x-1){
matrix[cntx][cnty]=i;
i--;
cntx--;
cnty++;
}
}
//Ausgabe
for (int i = 0; i <x; i++) {
for (int j =0; j<y; j++){
std::cout<<matrix[i][j]<<"\t";
}
std::cout<<"\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKXsKCWludCB4PTEwOwoJaW50IHk9MTA7CglpbnQgbWF0cml4W3hdW3ldOwoJZm9yIChpbnQgaSA9IDA7IGk8eDsgaSsrKSB7CgkJZm9yIChpbnQgaiA9MDsgajx5OyBqKyspeyAvLyB3b2xsdGUgbnVyIHNpY2hlcmdlaGVuIGRhc3Mga2VpbiBFcmdlYm5pcyBkdXJjaCB1bmJlc3RpbW10ZSBTcGVpY2hlcnBsw4PCpHR6ZSBnZWbDg8KkbHNjaHQgd2lyZAoJCQltYXRyaXhbaV1bal09MDsKCQkJfQoJCX0KCQkKCWludCBjbnR4LGNudHk7IC8vIDIgSGlsZnN2YXJpYWJsZW4genVtIGhvY2ggYnp3LiBydW50ZXJ6w4PCpGhsZW4KCWludCBpPTE7CgljbnR4PTA7CgljbnR5PTA7Cglmb3IoaW50IG1heD0wO21heDx4O21heCsrKXsgLy8gZGEgZGllIGVyc3RlIFphaGwgWzBdWzBdIGRpZSAyPVswXVsxXSAzLj1bMDFdWzBdLi4uIFswLT5tYXhdW21heC0+MF0gCgkJY250eT1tYXg7IC8vIHNvenVzYWdlbiB5PVttYXgtPjBdIGRhIG11c3MgaWNoIGphIGFtIGFuZmFuZyBhdWYgbWF4IHNlenRlbgoJCWNudHg9MDsKCQl3aGlsZShjbnR5Pj0wKXsKCQltYXRyaXhbY250eF1bY250eV09aTsKCQlpKys7CgkJY250eCsrOwoJCWNudHktLTsKCQl9Cgl9CgkvL3VudGVyZXIgVGVpbAoJaT14Kng7CgljbnR4PXgtMTsKCWNudHk9eC0xOwoJZm9yKGludCBtaW49eC0xO21pbj4wO21pbi0tKXsgLy8gZGEgZGllIGVyc3RlIFphaGwgWzBdWzBdIGRpZSAyPVswXVsxXSAzLj1bMDFdWzBdLi4uIFswLT5tYXhdW21heC0+MF0gCgkJY250eT1taW47IC8vIHNvenVzYWdlbiB5PVttYXgtPjBdIGRhIG11c3MgaWNoIGphIGFtIGFuZmFuZyBhdWYgbWF4IHNlenRlbgoJCWNudHg9eC0xOwoJCXdoaWxlKGNudHk8PXgtMSl7CgkJbWF0cml4W2NudHhdW2NudHldPWk7CgkJaS0tOwoJCWNudHgtLTsKCQljbnR5Kys7CgkJfQoJfQoJCgkvL0F1c2dhYmUKCWZvciAoaW50IGkgPSAwOyBpIDx4OyBpKyspIHsKCQlmb3IgKGludCBqID0wOyBqPHk7IGorKyl7CgkJCXN0ZDo6Y291dDw8bWF0cml4W2ldW2pdPDwiXHQiOwoJCQl9CgkJCXN0ZDo6Y291dDw8IlxuIjsKCQkJfQp9Cg==