"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

C++ Frage von einem Anfänger

Balu 25.02.2005 - 18:20 1139 12
Posts

Balu

BBQ
Avatar
Registered: Sep 2004
Location: Bgld
Posts: 754
Hallo.

Ich fange gerade an, C++ programmieren zu lernen. :p

Hier eines meiner ersten Übungsprogramme:

Code:
//---------------------------------------------------------------------------
// Ein- und Ausgabe von Daten
// Berechnung von komplexen Aufgaben
//---------------------------------------------------------------------------

#include <vcl\condefs>
#include <stdio>
#include <stdlib>
#include <string>
#include <conio>
#include <iostream>

#pragma hdrstop
using namespace std;
//---------------------------------------------------------------------------
USERES("Project1.res");
//---------------------------------------------------------------------------
int main(int argc, char **argv)
{
  float a=0;
  float b=0;


  cin >> a;
  cin >> b;

  cout << "Das Ergebnis von " << a << " x " << b << " = " << a*b;
 


  getch();
  return 0;
}
//---------------------------------------------------------------------------

Hier sieht man eine einfache Multiplikation, ich will aber jetzt eine
andere Formel eingeben:

y = A * e hoch -B*x * sin (C*x + D)

A,B,C,D sind fixe Zahlen, also fix definiert, und x soll eingegeben werden, das das Programm die Zahl y berechnet!

Ich arbeite übrigens mit Borland C++, und glaube das ich da include math und include exp oder so brauch, da ich in meiner neuen formel eine exp habe!
könnt ihr mir vielleicht ein bisschen weiterhelfen? :(

PS.: bitte nicht auslachen, is mein anfang! :rolleyes:

TIA,
mfg :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
wo liegt denn jetzt genau dein Problem?

Wenn es nur um den sinus, oder die pow-funktion geht kannst du sie zur not auch selbst schreiben... _So_ schwer ist beides nicht...
und nebenbei ist es noch gutes Training ;)

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
sin() oder exp() soll nicht schwer sein? Lies mal ein Buch über Computernumerik!

gue

Addicted
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Willst du damit jetzt sagen, dass es einfach ist oder schwer? Der Sinus ist ja nicht sehr spannend, weil die FPU das eh kann. Aber ich meinte natürlich selber ausprogrammieren.

gue

Addicted
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400
Ich meinte damit, dass es für einen Programmieranfänger _UNMÖGLICH_ ist, das selbst zu programmieren. Natürlich könnte man das ganze wahrscheinlich auch mit Taylor-Reihen oder so was berechnen (ohne Assembler) aber watchouts Vorschlag, das selbst zu programmieren, finde ich absurd ;)

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Zitat
Ich meinte damit, dass es für einen Programmieranfänger _UNMÖGLICH_ ist, das selbst zu programmieren.
Dann ist ja gut... ;)

Taylor-Reihen sind dafür nicht sehr praktikabel, soweit ich weiß. Wenn's dich interessiert, findest du in der glibc auch eine Library von sun, fdlibm heißt die, da ist alles drin.

EDIT: Dort ist sin durch ein Polynom vom Grad 13 angenähert. Aber keine Taylor-Reihe.
Bearbeitet von Ringding am 26.02.2005, 12:02

Balu

BBQ
Avatar
Registered: Sep 2004
Location: Bgld
Posts: 754
mit den links von gue kann ich leider nichts anfangen . :(

Könnt ihr mir vielleicht sagen wie ich das hinbekomm mit mathematischen funktionen in einem C++ bsp ?

Wenn ich oben

#include <math>

dazuschreibe, kann ich ja mathematische Funktionen verwenden wie SIN, COS, usw... oder?

Ich steh echt an, weiß nicht mehr weiter.

Wenn ihr sagt es ist ganz einfach, wie komme ich dann zur lösung?

und von den links werde ich auch nicht schlau! :(

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
#include <math.h>

sin() und exp() brauchst du wohl.

Balu

BBQ
Avatar
Registered: Sep 2004
Location: Bgld
Posts: 754
ok, danke für die antwort, ich werds mal versuchen! :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Ringding
sin() oder exp() soll nicht schwer sein? Lies mal ein Buch über Computernumerik!
Das ist aber nur ein mathematisches Problem, und hat nur wenig mit Programmierung zu tun...

Und ich habe nie geschrieben es wäre EINFACH, sondern dass es nicht _SO_ schwer ist (Für einen "gue" ausgeschrieben: Es ist nicht unmöglich).
Und Taylor nachzuprogrammieren ist ja auch nicht wirklich eine Kunst...

Und wenn man keinen Zugriff auf libs hat, was soll man sonst machen :rolleyes:

edit: Ok, vielleicht hatte ich das Problem zuerst etwas unterschätzt :) Ich geb's zu...
Bearbeitet von watchout am 26.02.2005, 17:03

samuel

.:: unnahbar ::.
Avatar
Registered: Jul 2000
Location: hagenberg
Posts: 2680
Zitat von Balu
...

Wenn ich oben

#include <math>

dazuschreibe, kann ich ja mathematische Funktionen verwenden wie SIN, COS, usw... oder?

...

du solltest dir meiner meinung nach etwas mehr gedanken darueber machen, was es bedeutet wenn du "irgendwo" "irgendwas" dazuschreibst.

ich weiss nicht nach was du vorgehst beim lernen, aber wenn es ein buch ist, dann ist es crap. meiner meinung nach solltest mal lernen wie man functions schreibt und wie man diese in eigene headerfiles auslagert, bevor du pausenlos eine ganze reihe fremder header einbindest.

sam

Neo-=IuE=-

Here to stay
Registered: Jun 2002
Location: Berndorf, NÖ
Posts: 3232
http://ittk.jandl.info/pt1/ansi_c_lib_doku.html
schau dir das hier mal an, da findest alles was du brauchst ...
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz