000
29.06.2011, 13:04 Uhr
Trishi
|
Halli hallo,
bin nicht nur ein Forumsneuling sondern auch erst seit ein paar Wochen am programmieren
Leider klappt das ganze nicht so wie ich möchte und irgendwie bringe ich immer mehr Fehler ins Programm
Zuerst hatte ich ein Speicherzugriffsfehler und jetzt auch noch ein Bus-Zugriffsfehler und weiß überhaupt nicht, was ich machen soll oder wo der Fehler liegt. Hoffe, ihr könnt mir helfen oder ein paar Tipps geben
Das Programm soll verschiedene Funktionen nach Wahl berechnen und dann das ganze mit GnuPlot plotten.
main.c:
C++: |
#include<stdio.h>
void intervall(int a, int b); int integrieren(int a, int b, int A); void potenz(); void sinus(); void exponential();
int main(void) {
int i, x[i], y[i], a, b, A; char funktion; FILE * datin;
printf("Herzlich Willkommen\n"); intervall(a,b); do { printf("Welcher Funktionstyp soll betrachtet werden?\n1. (P)otenz\n2. (S)inus\n3. (E)xponential\n"); scanf("%c", &funktion); getchar(); switch(funktion) { case 'p': potenz(); break; case 's': sinus(); break; case 'e': exponential(); break; default: printf("Falsche Eingabe!\n"); } } while(!(funktion=='p' || funktion=='s' || funktion=='e'));
A=integrieren(a,b,A); printf("Das berechnete Integral beträgt:",A);
for(i=1;i<1000;i++) { fscanf(datin,"%c","%c",x[i],y[i]); }
system("gnuplot grafik.gnu"); printf("Auf Wiedersehen!"); return 0; }
|
intervall.c:
C++: |
#include<stdio.h>
void intervall(int a, int b) {
int i,x[i],dx;
printf("Untere Intervallgrenze a?\n"); scanf("%i",&a); getchar();
printf("Obere Intervallgrenze b?\n"); scanf("%i",&b); getchar();
dx=(b-a)/999;
for (i=1;i<1000;i++) { x[i]=a+(i-1)*dx; } }
|
integrieren.c:
C++: |
#include<stdio.h>
int integrieren(int a, int b, int A)
{
int i,x[i], y[1000], Summe, dx;
dx=x[2]-x[1]; Summe=0;
for (i=1;i<1000;i++) { Summe=Summe+y[i]; } A=(Summe-(y[1]/2)-(y[1000]/2))*dx; return A; }
|
potenz.c:
C++: |
#include<stdio.h> #include<math.h>
void potenz() {
int i,x[i],y[i]; float c,k;
printf("Koeffizient C?\n"); scanf("%f", &c); getchar();
printf("Exponent k?\n"); scanf("%f", &k); getchar();
printf("Die Funktion lautet: %f *x^ %f ", c, k);
for (i=1;i<1000;i++) { y[i]=c*(pow(x[i],k)); } }
|
Schon mal vielen Dank, wenn ihr euch die Mühe macht Patricia Dieser Post wurde am 29.06.2011 um 13:05 Uhr von Trishi editiert. |