Ciao a tutti!
sono nuovo in questo forum(anche se sono passto di quà varie volte) e anche nuovo nella programmazione C.
devo fare un homework per l'università che consiste nelllo scrivere due funzioni: una che derivi ripetutamente un polinomio fino ad ottenere 0 e l'altra che faccia il prodotto della derivata 0-esima e della derivata prima ( sempre se possibile).
spero di essermi spiegato bene, altrimenti i link sono questi:
{prima funzione} http://tmancini.di.uniroma1.it/index...ttaglioHW&hw=2
{seconda funzione}http://tmancini.di.uniroma1.it/index...ttaglioHW&hw=2


le funzioni devono derivare un polinomio semplice, cioè un polinomio di grado k>=0 che è un array di interi di lunghezza k+1, in cui p[i] rappresenta il coefficiente di grado i.
assumendo queste definizioni :
codice:
typedef int  *poli;
typedef poli *der;


der derivata(poli P, int N, int k);
poli prodDeriv(der d, int k);
ho scritto le due funzioni
codice:
der prodDeriv(poli P, int N, int k){

	der D;

	int r, lato, deg, i;

	if(k < 0 || N > k) return;					
					
	for(lato = 0; lato < (N+1); lato++){				
		D[0][lato] = D[1][lato] = P[lato];
	}
	i = deg = k;
	for(r = 1; r < (N+1); r++, k--){
		for(lato = 0, i = k; lato < i+1; lato++){
			D[r][lato] *= deg;
			deg--;
		}
			
	}

return D;
}


poli prodDeriv(der D, int k){
	
	int deg = k + (--k);		
	int elem = 2 * k;		
	poly R[elem];
	int pos, i, j;
	
	for(i = 0; i <= elem; i++) R[i] = 0;			
	
	for(i = 0; i < k+1; i++){
		for(j = 0; j < k; j++){
			pos = deg - ((k-i) + (k-1) - j);
			R[pos] += D[0][i] * D[1][j];
		}
	}
	
	return *R;
}
ora il mio problema è che non riesco a scrivere un main adatto che mi permetta di provare le funzioni.
ho provato in tutti i modi ma dato che non sono bravo con i puntatori non ci sono riuscito:mc: ; questo è il main che ho scritto:
codice:
int main(){

poly P;
int A[4];
int N=3;
int k=3;

*P[4] = {4, 2, 7, 5}

derivata(P, N, k);
prodDeriv(&D, k);


return 0;
}
spero di essere stato abbastanza chiaro ed esauriente, vi prego di aiutarmi se potete.
qualsiasi commento è ben gradito.
Ciao!
Gabriele
p.s. spero di non aver sbagliato nulla nello scrivere e collocare il messaggio, in caso negativo mi scuso anticipatamente.