Also...ich krebs mich immo so ein bisschen mit C rum...an sich ist es nicht schwer...nur hab ich immo einen FEhler auf den komm ich einfach nicht.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
double a = atof(argv[1]);
if (a < 0.0) {
printf("sqrt(%.2f) = i * %.12f\n",wurzel(-a));
} else {
double result = wurzel(a);
printf("sqrt(%.2f) = %.12f\n",a,result);
}
}
double wurzel(double a) {
double s_alt = 1.0;
double s_neu;
double delta;
do {
s_neu = 0.5*(s_alt+a/s_alt);
delta = (s_alt-s_neu<0 ? s_neu-s_alt : s_alt-s_neu);
s_alt = s_neu;
} while(delta > 1.0E-12);
return(s_neu);
}
der Fehler tritt bei der wurzel funktion auf:
marvin@pavlo:~/dev/c$ gcc wurzel.c -o wurzel
wurzel.c:16: error: conflicting types for ‘wurzel’
wurzel.c:8: error: previous implicit declaration of ‘wurzel’ was here
warum hat der einen type conflict?