Lösungstipps bei Anfängerbeispiel bitte
-
das ist die Aufgabe:
Schreiben Sie ein Programm das die Einträge desd Pascalschen Dreiecks für die ersten Zehn Zeilen berechnet. Verwenden sie dazu ein 2-dimensionales Feld
p[i][j] um das j-te Element in der i-ten Zeile abzuspeichern.Ich würde gern mit 2 geschachtelten for-schleifen jeden Eintrag durch die benachbarten Einträge der (i-1)-ten Zeile gemäß p[i][j]=p[i-1][j-1] +p[i-1][j]
ksnn mir da bitte jemand einen Vorschlag geben wie ich das in ein Programm umwandeln kann????
-
Schreibs doch erstmal Algorithmus-mäßig auf, ab dann ist es einfach
Also einfach etwa so:// Tue dies // Tue das // Tue jenes // Tue 100 mal bla: // blablubbblöb
-
also als erstes muss ich das feld definieren oder??
wie geht das?
double p[i][j] oder?????
aber danach haben wir da immer was mit vektoren gerechnet das geht hier nicht oder???
-
Beschreib doch erstmal, wie du es von Hand lösen würdest (detailliert!)

-
naja ich würde wahrscheinlich die erste und zweite zeile vorgeben und dann wie bereits ober erwähnt das mit der formel p[i][j]=p[i-1][j-1] +p[i-1][j]
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
usw.aber wie ich das in Programmiersprache umwandle is ne andere frage
Könnte ich da eventuell eine for-schleife für die zeilen und eine forschleife für die elemente laufen lassen??
-
Beginner0815 schrieb:
Könnte ich da eventuell eine for-schleife für die zeilen und eine forschleife für die elemente laufen lassen??
Klar, mach das doch einfach.. Aber so ganz ohne dass du einen Ansatz hast, helfe ich halt nicht so gerne :p Und das hier
double p[i][j]ist richtig so, ja. Ich würde aber einen aussagekräftigeren Bezeichner wählen, i und j müssen außerdem Konstanten sein
-
ok danke für den tipp ich probiers mal
muss man bei definieren des feldes eigentlich angeben wie groß es is ( also wie viele einträge rein kommen??)??
-
Ja, das machst du ja schon mit i und j. Also wäre i die Zeilen und j die Anzahl der Spalten - oder andersrum, je nachdem, wie man es verwendet und interpretiert

-
ich hab grad erst mir c++ angefangen und will mich damit privat auseinander setzen .
Wie kann man das 2 dimensionale feld definieren???
-
double feld[100][80]; oder so, Größe muss vorher feststehen oder du musst es dynamisch anlegen
-
-
Ist folgender Code cool?
#include <algorithm> // copy #include <functional> // plus #include <iostream> #include <iterator> // ostream_iterator #include <numeric> // adjacent_difference #include <vector> int main() { using namespace std; // Gibt ein Pascalsches Dreieck aus for( vector< int > pscl( 1, 1 ); pscl.size() <= 10 ; adjacent_difference( pscl.begin(), pscl.end(), pscl.begin(), plus< int >() ), pscl.push_back( 1 ) ) { copy( pscl.begin(), pscl.end(), ostream_iterator< int >( cout, " " ) ); cout << endl; } return 0; }nach der Definition von pumuckl erfüllt er doch beide Kriterien (1.elegant; in wenigen Zeilen und 2.unlesbar) - oder?

Gruß
Werner
-
Ja, das ist wirklich "cool".
Und "unlesbar" ist es für einen C++ Programmierer sicherlich nicht, sondern optimal. Schlimmer sind die Pseudo-C++ Codes...
-
Finde ich nicht so toll. Dann lieber nen normalen Zähle in die for-schleife. Warum sollte man die Stelle wo die Arbeit passiert im schleifenheader verstecken? Das verwirrt nur und bringt nichts.
-
und wie greif ich später auf eine zahl in diesem feld zu??
also ich def mit
int p[10][10];
und dann:
p[1][1]=1 oder geht das anders??
-
judith schrieb:
und wie greif ich später auf eine zahl in diesem feld zu??
also ich def mit
int p[10][10];
und dann:
p[1][1]=1 oder geht das anders??Ich frage mich warum man seine Zeit opfern sollte jemandem zu helfen, der nichtmal selbst die Zeit hat einen Post zu verfassen, in dem man Gross- und Kleinschreibung beachtet und die Wörter ausschreibt.
-
was soll das heißen ?
ich hab ne konstruktive frage gestellt und nicht so nen Spam wie du!!
also kann mir das jemand bitte beantworten
-
Ich frage mich was an Fragen konstruktiv ist

Was den Rest angeht:
Judith schrieb:
also kann mir das jemand bitte beantworten
akari schrieb:
Hallo
Siehe zum Beispiel hier. Am besten gleich das ganze Tutorial durcharbeiten.
bis bald
akari
-
judith schrieb:
und wie greif ich später auf eine zahl in diesem feld zu??
also ich def mit
int p[10][10];
und dann:
p[1][1]=1 oder geht das anders??Wenn du magst, kannst du das auch gerne ausprobieren
Bei so kleinen Sachen ist es schneller ausprobiert, als zu warten bis jemand geantwortet hat 
-
wie mach ich das mir das feld dann ausgegeben wird???
mit cout<<p<<endl; funktionierts leider nicht
