Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Rekursive Ableitungsfunktion für Polynome mit C » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Rekursive Ableitungsfunktion für Polynome mit C
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
dghst
Grünschnabel


Dabei seit: 15.01.2017
Beiträge: 5

Rekursive Ableitungsfunktion für Polynome mit C Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Ich möchte ein Programm schreiben in welchem ein Polynom eingegebn wird und danach die n-te Ableitung ausgegeben wird, mein Problem ist, dass bei der Ausgabe nicht die Ableitung raus kommt, ich meinen fehler in der Umsetztung allerdings nicht finde, kann mir jemand einen Tipp geben? Hier mein aktueller stand:

Meine Ideen:
#include <stdio.h>
#include <math.h>


int main (void)
{
int n,i,k;
int an[11], a_strich[11], a[11];
while (n<1 || n>11)
{
printf("Grad eingeben: \n");
scanf("%d" , &n);
}
for (i=0; i<=n; i++)
{
printf("Bitte den Koeffizienten a%d eingeben: " , i);
scanf ("%d" , &an[i]);
}
printf("P(x)=");
for (i=n; i>=0; i--)
{
if (i>>1)
printf("%d*x^%d +" , an[i], i);
else if (i==1)
printf ("%d*x +" , an[1]);
else
printf("%d \n" , an[0]);
}

printf("Bitte Ableitungsgrad eingeben: \n");
scanf ("%d" , &k);
for (int i=0; i<=n; i++)
{ a[i]=an[i];

}

printf ("P %d (x)=" , k);
for (int a=n; a>>0; a--)
{
if(a_strich[a] !=0)
printf("%dx^%d " , a_strich[a] , a-k);

getch();
}



void ableitung(int a[11], int a_strich[11], int k)
{


for (int j=0; j<=n; j++)
{
if (j==0)
a_strich[j]=0;
else
a_strich[j]=a[j]*j;
}

if (k==1)
return a_strich[k];
else
k=k-1;
return ableitung;


}
}
15.01.2017 20:48 dghst ist offline Beiträge von dghst suchen Nehmen Sie dghst in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.858

RE: Rekursive Ableitungsfunktion für Polynome mit C Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Habe etwas aufgeräumt:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
#include <stdio.h>
#include <math.h>

//Funtion aus main herausgezogen
void ableitung(int* a, int n, int k)
{
	for (int i = 1; i <= k; i++) { //Schleife ergänzt
		for (int j=1; j<=n+1; j++) //j startet bei 1
		{
			a[j-1]=a[j]*j; //a[j] zu a[j-1] geändert
		}
	}
}

int main (void)
{
	int n,i,k;
	int a[11];
	while (n<1 || n>10) //11 zu 10 als Grenze gemacht (a0 braucht auch Speicher)
	{
	printf("Grad eingeben: \n");
	scanf("%d" , &n);
	}
	for (i=0; i<=n; i++)
	{
		printf("Bitte den Koeffizienten a%d eingeben: " , i);
		scanf ("%d" , &a[i]);
	}
	printf("P(x)=");
	for (i=n; i>=0; i--)
	{
		if (i>>1)
			printf("%d*x^%d +" , a[i], i);
		else if (i==1)
			printf ("%d*x +" , a[1]);
		else
			printf("%d \n" , a[0]);
	}

	printf("Bitte Ableitungsgrad eingeben: \n");
	scanf ("%d" , &k);
	ableitung(a, n, k);
	
	printf ("P %d (x)=" , k);
	for (int i=n; i>=0; i--) //a ist schon vergeben, heißt jetzt i
	{
		if(a[i] !=0)
		printf("%dx^%d " , a[i] , i);
	}
}


__________________
Syntax Highlighting fürs Board (Link)
15.01.2017 21:19 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Rekursive Ableitungsfunktion für Polynome mit C