marfrei2 Geschrieben 10. März 2005 Teilen Geschrieben 10. März 2005 Hey. Muss für die Schule mit C++ das "Pascalsche Dreieck" programmieren. Hab's schon stundenlang versucht, aber bekomm es nicht hin. HILFEEEE Es wäre gut, wenn man die Anzahl der Zeilen und Spalten angeben könnte. Außerdem sollte es schon ein Dreieck sein. Das, was ich bins jetzt hinbekommen hab, sieht so aus: #include <iostream.h> #include <iomanip.h> int main() { int x[10][10],i,j; //Erste Zeile setzen x[0][0] = 1; // Erstes Element, Sonderbehandlung for (i = 1; i < 100; i++) { x[0] = 0; } //Zeilen aus ihren Vorgängern berechnen for (i = 1; i < 10; i++) { x[0] = 1; for (j = 1; j < 10; j++) { x[j] = x[i-1][j-1] + x[i-1][j]; } } //Matrix ausgeben: for (int i = 0; i< 10; ++i) { for (int j = 0; j < 10; ++j) { cout<<setw(4); cout<<x[j]; } cout<<"\n"; } cin.get();cin.get(); } Ist allerdings nicht ausreichend. Vielleicht könnt ihr mir ja helfen =) MFG marfrei2 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Manfred.Becker Geschrieben 10. März 2005 Teilen Geschrieben 10. März 2005 Hi, ich hab das hier gefunden: Beispiel Schau mal rein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bobjob Geschrieben 10. März 2005 Teilen Geschrieben 10. März 2005 Werde mal versuchen zu helfen, auch wenn meine C++ Kenntnisse bescheiden sind. Hey. Muss für die Schule mit C++ das "Pascalsche Dreieck" programmieren. Hab's schon stundenlang versucht, aber bekomm es nicht hin. HILFEEEE Es wäre gut, wenn man die Anzahl der Zeilen und Spalten angeben könnte. Außerdem sollte es schon ein Dreieck sein. Das, was ich bins jetzt hinbekommen hab, sieht so aus: #include <iostream.h> #include <iomanip.h> Laut Norm ohne ".h" Endung. Zudem fehlt noch die Zeile: using namespace std; wenn du mit nem ANSI-kompatiblen Kompiler arbeitest. int main() { int x[10][10],i,j; //Erste Zeile setzen x[0][0] = 1; // Erstes Element, Sonderbehandlung for (i = 1; i < 100; i++) { x[0] = 0; } 1.)Wieso hier 100 und in der Initialisierung nur 10 Elemente? 2.)Zudem sollte die 1 doch in der Mitte stehen und nicht am Rand, siehe [1]. 3.)Es ist besser wenn du erstmal das gesammte Feld Null setzt, sonst kann da alles mögliche stehen, war zumindest bei mir so //Zeilen aus ihren Vorgängern berechnen for (i = 1; i < 10; i++) { x[0] = 1; Wieso x[0] jedesmal 1 setzen? for (j = 1; j < 10; j++) { x[j] = x[i-1][j-1] + x[i-1][j]; } } x[i-1][j] ist falsch, überleg mal, die Ergebnisse stehen im Dreieck nie unter dem Element der darüberliegenden Zeile. //Matrix ausgeben: for (int i = 0; i< 10; ++i) { for (int j = 0; j < 10; ++j) { cout<<setw(4); cout<<x[j]; } cout<<"\n"; } cin.get();cin.get(); } Ist allerdings nicht ausreichend. Vielleicht könnt ihr mir ja helfen =) MFG marfrei2 Ich hoffe das reicht an Hilfestellung [1]Pascalsches Dreieck Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
marfrei2 Geschrieben 11. März 2005 Autor Teilen Geschrieben 11. März 2005 hmm ich weis ja nicht mal wofür using namespace std; da ist. hab das schon öfter gesehen, aber wenn ich es ausprobieren wollte, gibt der mir immer n fehler aus. "name of namespace expected" oda sowas ^^ danke für die hilfestellung, aber bis jetzt kann ich damit nicht wirklich viel anfangen Laut Norm ohne ".h" Endung. << wieso ohne ".h"? was bringt das? wo liegt der unterschied? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bobjob Geschrieben 11. März 2005 Teilen Geschrieben 11. März 2005 Erstmal, was für Compiler(Version, Alter) nutzt du, sonst artet das hier in Rätselraten aus. using namespace std; Gibt nach meinem Verständnis an, das für alle Befehle im Quelltext die Funktion des C++ - ANSI-Standards benutzt werden. Ohne .h werden die neuen Header benutzt, welche nach Norm funktionieren sollten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 11. März 2005 Teilen Geschrieben 11. März 2005 Laut Norm ohne ".h" Endung. << wieso ohne ".h"? was bringt das? wo liegt der unterschied?iostream und iostream.h sind zwei unterschiedliche Dateien. Die Form mit .h ist die veraltete, bei der alle Klassen, Objekte und Funktionen im globalen Namensraum liegen. Die Form ohne .h ist die, die dem aktuellen Standard entspricht. Dabei liegen alle Objekte, Klassen und Funktionen im Namensraum std. Neuere Compiler beschweren sich oft bei der Benutzung der alten Headerdateien, wenn sie sie überhaupt noch bereitstellen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
marfrei2 Geschrieben 11. März 2005 Autor Teilen Geschrieben 11. März 2005 aso. gut zu wissen. hab c++ irgendwann mal von der schule bekommen, d.h. ich denke nicht es wirklich auf dem neusten stand ist. > Borland C++ V 5.01 Hab es mal ohne ".h" ausprobiert und dafür "using namespace std;" verwendet. Beim compilieren bekomme ich die Fehlermeldung "Fehler: Namespace name expected". hilft euch das weiter? +hoff+ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bobjob Geschrieben 11. März 2005 Teilen Geschrieben 11. März 2005 aso. gut zu wissen. hab c++ irgendwann mal von der schule bekommen, d.h. ich denke nicht es wirklich auf dem neusten stand ist. > Borland C++ V 5.01 Probier mal: #include <iostream> using namespace std; int main() { } zu kompilieren, wenn da eine Fehlermeldung kommt, ist der Kompiler zu alt. Probier dann: http://www.bloodshed.net/dev/devcpp.html und dort die Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) runterladen, lass dich von dem beta nicht verrückt machen, die Software läuft bei mir stabil. Hab es mal ohne ".h" ausprobiert und dafür "using namespace std;" verwendet. Beim compilieren bekomme ich die Fehlermeldung "Fehler: Namespace name expected". Sollte an der Version liegen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 12. März 2005 Teilen Geschrieben 12. März 2005 using namespace std; Gibt nach meinem Verständnis an, das für alle Befehle im Quelltext die Funktion des C++ - ANSI-Standards benutzt werden. Nein. using namespace ... erspart Dir lediglich die Schreibarbeit alle Namen innerhalb eines Namespaces ohne den Namen des Namespaces selbst benutzen zu können. Die Angabe ist erforderlich, da bei Verwendung von <iostream> (ohne .h) alle Namen im Namespace std liegen. Beispiel: Nach der vorangehenden Angabe von "using namespace std;" kann man anstatt "std::cout" einfach "cout" schreiben. Man kann natürlich trotz using namespace ... jederzeit vollständig qualifizierte Namen verwenden. Die Verwendung von <iostream.h> ist veraltet und sollte nicht mehr verwendet werden (neuere Compiler unterstützen diesen Header teils gar nicht mehr), allerdings kommt älterer damit geschriebener Code ohne "using namespace ..." oder die Angabe des Namensraumes aus (in der Form "std::..."), da keiner verwendet wurde. Man konnte folglich direkt cout schreiben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
marfrei2 Geschrieben 14. März 2005 Autor Teilen Geschrieben 14. März 2005 Ok =) ich lad den Compiler grad runter. Die frage ob ".h" oder nicht haben wir jetzt geklärt. Allerdings bin ich mit meinem Dreieck immer noch nicht weiter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bobjob Geschrieben 14. März 2005 Teilen Geschrieben 14. März 2005 Liest dir nochmal meinen ersten Beitrag durch, da steht schon alles. bobjob Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.