bin noob der abunzu mal nen paar fragen beantwortet hätte ^^
-
Also, erstmal solltest du auf goto verzichten.
Wenn du noch nichts über Funktionen gelernt hast, solltest du dir schnellstmöglich was darüber anlesen.
Außerdem solltest du den Quelltext besser Strukturieren -> Funktionen.
Benutze bessere Variablennamen! (OK, bin vielleicht nicht der richtige um zu meckern, aber egal...)
Deklariere Variablen immer erst wenn du sie brauchst!
Das steigert nicht nur die Übersichtlichkeit, sondern verbessert (theoretisch) auch die Performance...
Bitte benutze die [ cpp][ /cpp] (ohne Leerzeichen) tags, sind deutlich übersichtlicher.
Zum Wurzelziehen reicht zu wissen, dass folgendes gilt:ab/c=ab*1/c=ab[h]1/c[/h]=c√a[h]b[/h]
/edit: ich sollte latex lernen...
-
Für pow() und sqrt() musst du noch #include <cmath> schreiben.
-
mhh kay und danke für die schnelle hilfe werde das jetzt erstmal testen
blöde fragee aber was ist deklarieren
edit:
kann mir euner mal nen beispiel programm schreiben nur nen kleines also weil ich check noch net wie ich das machen soll hab jetzt verschiedenes versucht aber klappt alles irgendwie net ich krieg wenn uch neun angebe auch imemr neun raus wäre jedenfalls net
-
florian1x schrieb:
blöde fragee aber was ist deklarieren
ness meint in diesem Fall so was hier:
int foo;
Edit zu deinem Edit: Du hast viel mehr davon, wenn du es selbst machst. Du sagst, dass es irgendwie nicht funktioniert. Sag genau, was nicht klappt, und wir geben dir Tipps.
-
mhh kay danke dann check ich das also is mit der deklaration die typbezeichnung gemeint. und ich krieg das allgemein net hin, da ich nicht weiß wie ich das schreiben soll. Hab das mal so probiert
case 'w':
ergebnis=sqrt(a);
cout <<"Das Ergebnis ist: "<<a<< endl;
break;naja und noch nen paar andere varianten aber irgendwie klappt das ales net
-
Und leg bitte das "kay" und "abunzu" ab, wenn du weiterhin Antworten erhalten willst. Die Forensprache ist Hochdeutsch (wird leider immer seltener an den Schulen gelehrt)!
-
ergebnis=sqrt(a);
cout <<"Das Ergebnis ist: "<<a<< endl;na, so kann dass ja nicht funktionieren.
du gibst a aus, aber die quadratwurzel steht doch in ergebnis.
-
ok dann versuche ich meine nicht ordentlichen audrucksweisen zu unterdrücken. Aber so ein wenig mal von der spache abzurutschen is doch nichts schlimmes, da die sprache so interessanter wird. Und das sind halt so standarts die ich in mein vokabular aufgenommen hab und warscheinlich immer benutzen werde ^^.
zurück zum thema
ich versuche es ncoh einmal und schau dann mal was drauß wird danke für dem Tipp es gibt echt mainchmal fehler dei sind zu leicht um sie zu findenedit: ok klappt danke melde mich dann nochmal wenn ich wieder ne neue frage hab aber kann net mehr lange dauern
-
florian1x schrieb:
standarts
Uaaaah!
-
ach jungs ihr stellt euch wegen belanglosichkeiten an. Naja Ich entschuldige mich hiermit für diesem spam aber das war etwas,was ich losweredn wollte.
-
ok also hab neue frage... da wir momentan das berechnen von 4 gleichungen mit vier unbekannten machen hab ich mir gedacht schreibste doch mal nen problem
also ich hoffe ihr kennt die vorgehensweise
(wenn ent dann muss ich mal ein ding ein scannen wo das lösungverfahren besser erkennbar ist
//--------Test Programm--------------------------------------------------------- #include <iostream> #include <cmath> using namespace std; //------------------------------------------------------------------------------ int main() { char a; double x11,x12,x13,x14,rs1; cout<<"geben sie die erste Reihe ein:"<<endl; cout<<"Bsp. a1 a2 a3 a4 rs"<<endl<<flush; cin>>x11>>x12>>x13>>x14>>rs1; double x21,x22,x23,x24,rs2; cout<<"geben sie die zweite Reihe ein:"<<endl; cin>>x21>>x22>>x23>>x24>>rs2; double x31,x32,x33,x34,rs3; cout<<"geben sie die dritte Reihe ein:"<<endl; cin>>x31>>x32>>x33>>x34>>rs3; double x41,x42,x43,x44,rs4; cout<<"geben sie die vierte Reihe ein:"<<endl; cin>>x41>>x42>>x43>>x44>>rs4; double s1,s2,s3,s4; s1=x11+x12+x13+x14+rs1; s2=x21+x22+x23+x24+rs2; s3=x31+x32+x33+x34+rs3; s4=x41+x42+x43+x44+rs4; cout<<endl<<"Lösung:"<<endl<<endl; cout << "a1 \ta2 \ta3 \ta4 \trs \tSumme" << endl << endl; cout << x11<< "\t" << x12<< "\t" << x13<< "\t" << x14<< "\t" << rs1<< "\t" << s1<< "\tX1" <<endl; cout << x21<< "\t" << x22<< "\t" << x23<< "\t" << x24<< "\t" << rs2<< "\t" << s2<< "\tX2" <<endl; cout << x31<< "\t" << x32<< "\t" << x33<< "\t" << x34<< "\t" << rs3<< "\t" << s3<< "\tX3" <<endl; cout << x41<< "\t" << x42<< "\t" << x43<< "\t" << x44<< "\t" << rs4<< "\t" << s4<< "\tX4" <<endl<<endl; if(((x12>0)&&(x22>0))||((x12<0)&&(x22<0))) { x22=x22*x12-x12*x22; } else x22=x22*x12-x12*x22; cout << x11<< "\t" << x12<< "\t" << x13<< "\t" << x14<< "\t" << rs1<< "\t" << s1<< " X1'" <<endl; cout << "0"<< "\t" << x22<< "\t" << x23<< "\t" << x24<< "\t" << rs2<< "\t" << s2<< " X2'" <<endl; cout << "0"<< "\t" << x32<< "\t" << x33<< "\t" << x34<< "\t" << rs3<< "\t" << s3<< " X3'" <<endl; cout << "0"<< "\t" << x42<< "\t" << x43<< "\t" << x44<< "\t" << rs4<< "\t" << s4<< " X4'" <<endl<<endl; system("Pause"); return 0 ; }
und ioch wollte nun wissen wie ich die werte im zweiten block der Ausgabe neu berechnen kann. also ich meine x22 aus rechne bei x2'.
man muss ja auch noch + und - beachten
-
Es wär gut, wenn du pro Frage einen Thread eröffnest. Das macht das ganze übersichtlicher.
Die Vorgehensweise bei 4x4 kenn ich nicht. Geht das genau so wie bei 3x3? Müsste ja eigentlich funktionieren. Aber was genau willst du jetzt wissen? Wie du die Ausgabe positionieren kannst? Wie du vorgehst? Ich dachte, das kannst du.
-
florian1x: Am einfachsten ist es den Gauß-Algorithmus anwenden und rückwärts einsetzen. Am besten machst du dich vorher mal mit den Grundlagen von C++ und dem Algorithmus vertraut, weil so wie du angefangen hast gibt das nix...
-
ok mach ich nächste mal nen neuen auf
auf den anderen boards wird man deswegen nur imemr doofangemachtalso das geht wei folgt wenn man das programm ausführt sieht man ddas man vereinfacht immer weiter bis man hinterher nur noch bei x''' ist und die gleichung hat dann nur noch 1 unbekannte. Ist schneller als cramsche regel oder wie das hieß habs übrigens selber hinbekommen
{
if(((x12>0)&&(x22>0))||((x12<0)&&(x22<0)))
{
x22=x21*x12-x11*x22;;
}
else
{
x22=x21*x12+x11*x22;
}^^ naja hatte irgendwei nur 2 variablen vertauscht
und das systhem bei den variablen ist eigentlich voll einfach
z.b. bei x12 heisst erste zeile(1) zweite variable(2) ^^ naja jetzt darf ich das alle nur noch dutzendmal machen damit ich den zweiten block rechnen kann ^^ und dann kommt noch nen dritetr und nen 4-er und dann bin ich fertig sind noch so etwaa 25 berechnungen ^^
-
Kennst du schon Schleifen und Arrays? Wenn nicht, dann such mal danach. Damit kriegst du einen deutlich kürzeren Code.
-
schleifen kenn ich nur for while und do while schleifen und arrays hab ich auch schon mehrmals gelesen nur nie ganz gecheckt auch net wozu die überhaupt da sind ^^ naja und ich dreh glei am rad das systhem was ich da habe is zwar gut aber auch irgendwei un übersichtlich ich hab immer fehler drin und brauch immer ne viertelstunde um einen zu finden. (aber irgendwie macht es ja spass) nur soviele zahlen verursachen kopfschmerzen ^^
aber wenigstens hab ich meinen fehler selber gefunden und wenn das so bleibt kann ich sagen ich habs alleine gemacht
-
Es gibt keine anderen Schleifen als for, while und do while.
Noch mal mein Tipp: Mit Schleifen und Arrays sparst du Unmengen an Nerven und Zeit.
-
k danke für den tip aber ich weiß net wie ich die schleife einbauen sollte und arrays keine ahnug wei das ist hab jetzt auch ein system hinter den einzelnen gleichungen entdeckt jetzt schreib ich das prog soweit wie ich bin net in 3 stunden sondern 20 nin ^^
-
florian1x schrieb:
k danke für den tip aber ich weiß net wie ich die schleife einbauen sollte und arrays keine ahnug wei das ist hab jetzt auch ein system hinter den einzelnen gleichungen entdeckt jetzt schreib ich das prog soweit wie ich bin net in 3 stunden sondern 20 nin ^^
Schleifen und Arrays könntest du z.B. am Anfang einbauen. (Zum einlesen der Werte)
Statt:char a; double x11,x12,x13,x14,rs1; cout<<"geben sie die erste Reihe ein:"<<endl; cout<<"Bsp. a1 a2 a3 a4 rs"<<endl<<flush; cin>>x11>>x12>>x13>>x14>>rs1; double x21,x22,x23,x24,rs2; cout<<"geben sie die zweite Reihe ein:"<<endl; cin>>x21>>x22>>x23>>x24>>rs2; double x31,x32,x33,x34,rs3; cout<<"geben sie die dritte Reihe ein:"<<endl; cin>>x31>>x32>>x33>>x34>>rs3; double x41,x42,x43,x44,rs4; cout<<"geben sie die vierte Reihe ein:"<<endl; cin>>x41>>x42>>x43>>x44>>rs4; double s1,s2,s3,s4; s1=x11+x12+x13+x14+rs1; s2=x21+x22+x23+x24+rs2; s3=x31+x32+x33+x34+rs3; s4=x41+x42+x43+x44+rs4;
Z.B.: (geht wahrscheinlich noch viel besser und kürzer)
... double x[4][5]; for(unsigned int i = 0; i < 4; ++i) { cout << "\Bitte gib die " << i + 1 << ". Reihe ein: " << endl; cout << "Bsp. a1 a2 a3 a4 rs" << endl << flush; for(unsigned int j = 0; j < 5; ++j) cin >> x[i][j]; } double s[4]; for(unsigned int i = 0; i < 4; ++i) s[i] = x[5 * i] + x[5 * i + 1] + x[5 * i + 2] + x[5 * i + 3] + x[5 * i + 4]; ...
Und kriegst du Lust auf Arrays und Schleifen?
Siehe auch C++-FAQ! (Thread: Arrays und Pointer)
Caipi
-
also ich hab mal nen bisschen weiter geschreiben hab aber ein problem
erstmal der quelltext//--------Test Programm--------------------------------------------------------- #include <iostream> #include <cmath> using namespace std; //------------------------------------------------------------------------------ int main() { char a; double x11,x12,x13,x14,rs1; cout<<"geben sie die erste Reihe ein:"<<endl; cout<<"Bsp. a1 a2 a3 a4 rs"<<endl; cin>>x11>>x12>>x13>>x14>>rs1; double x21,x22,x23,x24,rs2; cout<<"geben sie die zweite Reihe ein:"<<endl; cin>>x21>>x22>>x23>>x24>>rs2; double x31,x32,x33,x34,rs3; cout<<"geben sie die dritte Reihe ein:"<<endl; cin>>x31>>x32>>x33>>x34>>rs3; double x41,x42,x43,x44,rs4; cout<<"geben sie die vierte Reihe ein:"<<endl; cin>>x41>>x42>>x43>>x44>>rs4; double s1,s2,s3,s4; s1=x11+x12+x13+x14+rs1; s2=x21+x22+x23+x24+rs2; s3=x31+x32+x33+x34+rs3; s4=x41+x42+x43+x44+rs4; cout<<endl<<"Lösung:"<<endl<<endl; cout << "a1 \ta2 \ta3 \ta4 \trs \tSumme" << endl << endl; cout << x11<< "\t" << x12<< "\t" << x13<< "\t" << x14<< "\t" << rs1<< "\t" << s1<< "\tX1" <<endl; cout << x21<< "\t" << x22<< "\t" << x23<< "\t" << x24<< "\t" << rs2<< "\t" << s2<< "\tX2" <<endl; cout << x31<< "\t" << x32<< "\t" << x33<< "\t" << x34<< "\t" << rs3<< "\t" << s3<< "\tX3" <<endl; cout << x41<< "\t" << x42<< "\t" << x43<< "\t" << x44<< "\t" << rs4<< "\t" << s4<< "\tX4" <<endl<<endl; //------------berechnen des zweiten blocks----------------------------------------------------------------------- { if(((x11>0)&&(x21>0))||((x11<0)&&(x21<0))) { x22=x21*x12-x11*x22; } else { x22=x21*x12+x11*x22; } if(((x11>0)&&(x21>0))||((x11<0)&&(x21<0))) { x23=x21*x13-x11*x23;; } else { x22=x21*x13+x11*x23; } if(((x11>0)&&(x21>0))||((x11<0)&&(x21<0))) { x24=x21*x14-x11*x24; } else { x24=x21*x14+x11*x24; } if(((x11>0)&&(x21>0))||((x11<0)&&(x21<0))) { rs2=x21*rs1-x11*rs2; } else { rs2=x21*rs1+x11*rs2; } } //---------------zweite reihe -------------------------------------------------------------- { if(((x11>0)&&(x31>0))||((x11<0)&&(x31<0))) { x32=x31*x12-x11*x32; } else { x32=x31*x12+x11*x32; } if(((x11>0)&&(x31>0))||((x11<0)&&(x31<0))) { x33=x31*x13-x11*x33; } else { x33=x31*x13+x11*x33; } if(((x11>0)&&(x31>0))||((x11<0)&&(x31<0))) { x34=x31*x14-x11*x34; } else { x32=x31*x14+x11*x34; } if(((x11>0)&&(x31>0))||((x11<0)&&(x31<0))) { rs3=x31*rs1-x11*rs3; } else { rs3=x31*rs1+x11*rs3; } } //---drite reihe------------------------------------------------------------------------ { if(((x11>0)&&(x31>0))||((x11<0)&&(x31<0))) { x42=x41*x12-x11*x42; } else { x42=x41*x12+x11*x42; } if(((x11>0)&&(x31>0))||((x11<0)&&(x31<0))) { x43=x41*x13-x11*x43; } else { x43=x41*x13+x11*x43; } if(((x11>0)&&(x31>0))||((x11<0)&&(x31<0))) { x44=x41*x14-x11*x44; } else { x44=x41*x14+x11*x44; } if(((x11>0)&&(x31>0))||((x11<0)&&(x31<0))) { rs4=x41*rs1-x11*rs4; } else { rs4=x41*rs1+x11*rs4; } } s1=x11+x12+x13+x14+rs1; s2=x22+x23+x24+rs2; s3=x32+x33+x34+rs3; s4=x42+x43+x44+rs4; cout << x11<< "\t" << x12<< "\t" << x13<< "\t" << x14<< "\t" << rs1<< "\t" << s1<< "\tX1" <<endl; cout << "0"<< "\t" << x22<< "\t" << x23<< "\t" << x24<< "\t" << rs2<< "\t" << s2<< "\tX2'"<<endl; cout << "0"<< "\t" << x32<< "\t" << x33<< "\t" << x34<< "\t" << rs3<< "\t" << s3<< "\tX3'" <<endl; cout << "0"<< "\t" << x42<< "\t" << x43<< "\t" << x44<< "\t" << rs4<< "\t" << s4<< "\tX4'" <<endl<<endl; //--- neuer block---------------------------------------------------------------- { if(((x22>0)&&(x32>0))||((x22<0)&&(x32<0))) { x34=x32*x24-x22*x34; } else { x34=x32*x24+x22*x34; } if(((x22>0)&&(x32>0))||((x22<0)&&(x32<0))) { x33=x32*x23-x22*x33; } else { x33=x32*x23+x22*x33; } if(((x22>0)&&(x32>0))||((x22<0)&&(x32<0))) { rs3=rs1*x23-x22*rs3; } else { x33=x32*x23+x22*x33; } } s1=x11+x12+x13+x14+rs1; s2=x22+x23+x24+rs2; s3=x33+x34+rs3; s4=x43+x44+rs4; cout << x11<< "\t" << x12<< "\t" << x13<< "\t" << x14<< "\t" << rs1<< "\t" << s1<< "\tX1" <<endl; cout << "-"<< "\t" << x22<< "\t" << x23<< "\t" << x24<< "\t" << rs2<< "\t" << s2<< "\tX2'" <<endl; cout << "-"<< "\t" << "0"<< "\t" << x33<< "\t" << x34<< "\t" << rs3<< "\t" << s3<< "\tX3''" <<endl; cout << "-"<< "\t" << "0"<< "\t" << x43<< "\t" << x44<< "\t" << rs4<< "\t" << s4<< "\tX4''" <<endl<<endl; //---neuer block----------------------------------------------------------------- { if(((x33>0)&&(x43>0))||((x33<0)&&(x43<0))) { x44=x43*x34-x33*x44; } else { x44=x43*x34+x33*x44; } if(((x33>0)&&(x43>0))||((x33<0)&&(x43<0))) { rs4=x43*rs3-x33*rs4; } else { rs4=x43*rs3+x33*rs4; } } s1=x11+x12+x13+x14+rs1; s2=x22+x23+x24+rs2; s3=x33+x34+rs3; s4=x44+rs4; cout << x11<< "\t" << x12<< "\t" << x13<< "\t" << x14<< "\t" << rs1<< "\t" << s1<< "\tX1" <<endl; cout << "-"<< "\t" << x22<< "\t" << x23<< "\t" << x24<< "\t" << rs2<< "\t" << s2<< "\tX2'" <<endl; cout << "-"<< "\t" << "-"<< "\t" << "0"<< "\t" << x34<< "\t" << rs3<< "\t" << s3<< "\tX3''" <<endl; cout << "-"<< "\t" << "-"<< "\t" << "0"<< "\t" << x44<< "\t" << rs4<< "\t" << s4<< "\tX4'''" <<endl<<endl; double X1,X2,X3,X4; X4=rs4/x44; X3=rs3/x33+X4; system("Pause"); return 0 ; }
so ich hab grad leider keine zeit das zu kürzen naja das prob is
da kommen falsche ergebnisse raus ^^. ich hab auch schon eine idee woran das legt. gerechnet wird ja
x44=x43*x34-x33*x44
wenn x43=2 und x33=3 also bede positiv sind kein prob aber wenn x33 negativ wäre käm falsches ergebnis raus da das andere vorzeichen ergibt wenn du die zwischen ergebnisse betrachtest welche man dann in der dividion benutzt also noch ein bsp mit x33*x44=-3*4 ergibt ja -12 naja aber rauskommen darf nur 12 damit man richtig eiterrechen kann und ich will nu wissen wie ich das richtig einbauealso dass der da net ins minus gerät