Hallöchen,
hier von mir mal ein paar Tips zu deinem Programm aus meiner Sichtweise:
1. Du verwendest hier und da ziemlich triviale Kommentare. Kommentare sollen erklären warum etwas gemacht wird, nicht was (außer es ist nicht offensichtlich) und nur wenn nötig.
Ein paar Beispiele:
//Programmanfang
//Deklaration der Variablen
//Begrüßung und Instruktionen
//Verabschiedung
....
Sowas ist nicht gut, weil es einfach das Programm unübersichtlicher mach und nur verwirrt.
2. System() Aufrufe sollten vermieden werden, es gibt auch andere, einfache Methoden um die Konsole nach dem Programm offen zu halten (ganz simpel, wenn du kein Debugging brauchst: <Strg> + F5).
Für Näheres einfach mal googeln (Wobei das jetzt in diesem Fall nicht wirklich tragisch ist)
3. Versuch doch mal das Problem im Kopf zu lösen, bevor du versuchst es zu implementieren. Bei solchen Dingen geht das wunderbar mit Papier+Stift, um so ein Konzept auszuarbeiten. Also einfach mal dein Problem in kleinere Teilprobleme unterteilen (z.B: die Ausgabe einer einzelnen Zeile, woher weiß ich wie viele '0' ich ausgeben soll, woher weiß ich, wie viele '0' der nächste Funktionsaufruf ausgeben soll, ...).
4. Du könntest eine `bool` Variable als Funktionsparameter übergeben, die dir sagt, ob der nächste Funktionsaufruf nun eine 0 mehr oder eine 0 weniger ausgeben soll (Also ob vor oder nach der Spitze (wo Anzahl '0' == Höhe)). Es reicht im Grunde eigentlich eine Funktion, welche die Pyramide dann rekursiv aufbauen kann.
5. Deine Funktion `Nullen` ist komisch, weil du einen Parameter einfach in der for-Schleife verwendest, was diesen total sinnlos macht (du setzt `nullen` zu 0 und verwendest die Variable einfach zum Iterieren). Einfach die Variable im Schleifenkop deklarieren:
for (int i = 0; ...)
In anderen Worten, überdenk dir nochmals deine Funktionen und was sie eigentlich machen sollen.
6. Man sollte die Variablen so spät wie möglich/früh wie nötig deklarieren/definieren (zumindest meistens). Alles so am Programmanfang ist C-Style
7. Die Zeile in deinem Programm, die eigentlich am ehesten ein Kommentar benötigen würde, hat keines:
groesse = zahl - abs(zahl - zeilen);
Ich bin selber nicht gerade ein C++-Experte, aber ich dachte ich könnte dir vielleicht etwas Hilfestellung geben.
Falls also einer der C++-Cracks (das ist lieb gemeint :P) einen Fehler in meinem Post sieht (ausgeschlossen Rechtschreibfehler, darf man behalten), bitte bescheid geben, ich will ja keinen Unsinn verzapfen!
Na dann mal viel Erfolg mit deinem Progrämmchen