Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Hilfe bei meinem selbststudium

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.10.2008, 17:37 Uhr
Choparini



ich möchte gerne ein Programm zum Rechteckverfahren schreiben. Aber bevor ich damit anfangen kann, habe ich ein entscheidendes Problem^^ und zwar weiß ich nicht, wie ich eine Funktion eingeben kann. Also zb. f(x) : 3/(4x^2). Wenn ich einfach nur double x; cin>>x; schreibe bringt mir das ja nichts, muss ich eventuell das als Text behandeln?

Ich habe unter den Begriff „Eingabe“ nichts gefunden, kann mir eventuell jemand von euch helfen, einen Ansatz geben oder eine Seite, wo so etwas beschrieben ist^^

danke im Voraus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.10.2008, 17:49 Uhr
Tommix



Hallo,
"Parser" ist ein passender Suchbegriff hier im Forum, aber das Thema ist wohl eher was für Fortgeschrittene.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.10.2008, 18:47 Uhr
0xdeadbeef
Gott
(Operator)


Hmm. Ja, Parser ist ein passender Begriff, und der shunting yard algorithm müsste sich eigentlich entsprechend anpassen lassen, dass ein abstrakter Syntaxbaum dabei erstellt wird. Letzteres ist allerdings nur dann eine Möglichkeit, wenn die Eingabe nicht validiert werden muss.

Tommix hat aber recht, für Anfänger ist das etwas komplex. Warum fängst du nicht erstmal mit fest verdrahteten Funktionen an?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.10.2008, 20:40 Uhr
Choparini



Ja, danke für den Hinweis, dann stell ich das erstmal zurück, ich habe es jetzt tatsächlich mit einer festen Funktion versucht und dachte auch ich würde gut zurecht kommen aber irgendwie macht mein Programm nicht das was ich möchte oO


C++:
long double f(long double);

int main()
{
  long double a=1., b=6., h=0., s=0., in=0., x=0.;
  int i=0, n=5;
  h=(b-a)/n;
  for(;i>(n-1);i++){x=(a+i*h+h/2);s+=f(x);}
  in=h*s;
  cout<<in;
  getchar();
  return 0;
}

long double f(long double x)
{ long double f=0.;
  f=(5.0/x);
  return f;
}


Aus irgendeinem Grund schreibt er mir nichts in meine Variable x, wist ihr warum OO

Dieser Post wurde am 10.10.2008 um 20:41 Uhr von Choparini editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.10.2008, 22:06 Uhr
0xdeadbeef
Gott
(Operator)


Weil i am Anfang der Schleife nicht größer als n - 1 ist.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.10.2008, 00:01 Uhr
Choparini



xD ah richtig, meistens übersieht man die einfachsten sachen. Danke noch einmal für die schnelle Hilfe. Die Hinweise zu meiner Funktionseingabe werde ich mir jetzt einmal genauer betrachten^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: