problem mit compiler

xarados

GNU'ianer
Beiträge
61
Abend alle zusammen.
kann mir jemand sagen warum ich denn code nicht zum laufen kriege:

#include<stdio.h>
#include<math.h>

int i,n;
float anfang, ende, interv, wert, sum_u, sum_o;

double funktion();

void main()
{
printf("Die Untere Integrationsgrenze eingeben: ");
scanf("%f",&anfang);
printf("Die obere Integrationsgrenze Angeben: ");
scanf("%f",&ende);
printf("Die anzahl der Intervalle: ");
scanf("%d",&n);

wert =0.0;
sum_u =0.0;
sum_o =0.0;

interv = (ende - anfang) / n;

for (i=0;i<=n-1;i++)
{
sum_u = sum_u + funktion(anfang + i * interv) * interv;
sum_o = sum_o + funktion(anfang + (i+1) * interv) * interv;
}
wert = (sum_o+sum_u)/2;
printf("Das integral der oberen grenze hat denn wert: %f \n",wert);

double funktion (double x)
{
return (exp (-x*x));
}
}
ich compiliere es mit gcc -o xxx xxx.c -lm oder unter anjuta.
 

megamimi

Nörgler vom Dienst
Beiträge
469
hi...

Was sagt den dein compiler? Ein bischen mehr Infos wären schon wünschenswert...und: versuchs mal mit dem code-tag und ein paar Einrückungen;) :]

cu mimi
 

xarados

GNU'ianer
Beiträge
61
triangle_count.c: In function `main':
triangle_count.c:10: warning: return type of `main' is not `int'
/tmp/cci5M5FL.o: In function `main':
/tmp/cci5M5FL.o(.text+0x138): undefined reference to `funktion'
/tmp/cci5M5FL.o(.text+0x17e): undefined reference to `funktion'
collect2: ld returned 1 exit status

sorry habe vergessen ihn anzuhängen. was meinst du mit code tag ??
 

Zaphod

)=-=[MySelf]=-=(
Beiträge
86
Wer lesen kann, ist klar im Vorteil:

8><--------------------------------------------------------------------------
frank@wintermute:~/src/c$ gcc -o unixboardcode unixboardcode.c
unixboardcode.c: In function `main':
unixboardcode.c:10: warning: return type of `main' is not `int'
/tmp/ccCChUFe.o(.text+0x34): In function `funktion.0':
: undefined reference to `exp'
/tmp/ccCChUFe.o(.text+0x137): In function `main':
: undefined reference to `funktion'
/tmp/ccCChUFe.o(.text+0x17d): In function `main':
: undefined reference to `funktion'
collect2: ld returned 1 exit status
frank@wintermute:~/src/c$
--------------------------------------------------------------------------><8
 

xarados

GNU'ianer
Beiträge
61
soweit war ich auch schon aber warum sagt er mir das "exp" nicht definiert ist sie ist doch in der math.h mit itegriert oder nicht ?
 

megamimi

Nörgler vom Dienst
Beiträge
469
Original geschrieben von xarados
sorry habe vergessen ihn anzuhängen. was meinst du mit code tag ??

Das ist der Button wo PHP drauf steht. Da solltest du deinen Code reinposten, dann ist er besser lesbar. Das ganze sieht dann so aus:
PHP:
blabla;
balba;

cu mimi
 

MTS

Kaiser
Beiträge
1.242
also ich hab noch nicht viel mit C gemacht, aber:
deine implementation von funktion steht erstens ganz unten und zweitens innerhalb von main ...
also sollteste du die erstmal nach oben packen...
dann sind schonmal die meisten fehler weg.

exp findet er dann immer noch nicht. da hab ich aber keine ahnung wie das bei C geht



#include<stdio.h>
#include<math.h>

int i,n;
float anfang, ende, interv, wert, sum_u, sum_o;

double funktion();

double funktion (double x)
{
return (exp (-x*x));
}


void main()
{
printf("Die Untere Integrationsgrenze eingeben: ");
scanf("%f",&anfang);
printf("Die obere Integrationsgrenze Angeben: ");
scanf("%f",&ende);
printf("Die anzahl der Intervalle: ");
scanf("%d",&n);

wert =0.0;
sum_u =0.0;
sum_o =0.0;

interv = (ende - anfang) / n;

for (i=0;i<=n-1;i++)
{
sum_u = sum_u + funktion(anfang + i * interv) * interv;
sum_o = sum_o + funktion(anfang + (i+1) * interv) * interv;
}
wert = (sum_o+sum_u)/2;
printf("Das integral der oberen grenze hat denn wert: %f \n",wert);

}
 

megamimi

Nörgler vom Dienst
Beiträge
469
hi....

Also exp() ist müsste schon in math.h sein, zumindest steht sie in cmath, was ja das C++ Äquivalent zur math.h ist.

cu mimi
 

xarados

GNU'ianer
Beiträge
61
danke für die hilfe habe es hinbekommen was mich aber stört ist ich habe denn code aus
einen buch (jetzt lerne ich C vom M&T verlag ) abgetippt und da steht es so drin.
 

megamimi

Nörgler vom Dienst
Beiträge
469
hi...

Ich hab die 2 C-Bücher von Helmut Erlenkötter, daraus hab ich gelernt....btw, das mit dem auf den Müll schmeißen hab ich scherzhaft gesagt, also bitte nicht wirklich wegschmeißen:D

cu mimi
 

Ähnliche Themen

Aufgabe in C

sem_open - Problem mit Semaphoren

Kommando gesucht

Segmentation fault -- warum?

C Programm unter Unix

Oben