int sumatoria( int j ) { if(j == 0) { return j; } else { return j + sumatoria( j-1 ); } }
int main() { int h; printf("\tPrograma que realiza una sumatoria Recursivamente.\n\n"); printf("Introduzca el valor para calcular su sumatoria: "); scanf("%d",&h); printf("El valor de la sumatoria de %d es: %d.\n",h,sumatoria(h)); printf("Fin del Programa.\n"); return 0; }
int sumatoria(int iteracion, int x, int y) { int * temp = (int*)malloc(sizeof(int)); printf("x%d: #%p\n", iteracion, &x); printf("y%d: #%p\n", iteracion, &y); printf("temp%d: #%p\n", iteracion, temp); if (x==y) { return y; } return x + sumatoria(iteracion+1, x+1, y); }
int main() { int a = 1; int b = 5; int c = sumatoria(1, a, b); printf("sumatoria %d -> %d = %d\n", a, b, c); printf("main: #%p\n", main); printf("sumatoria: #%p\n", sumatoria); printf("a: #%p\n", &a); printf("b: #%p\n", &b); return 0; }
gsl_matrix* cov_calculate2(gsl_matrix *m) { int i,j; float sum; gsl_matrix *covariance = gsl_matrix_alloc (m->size2,m->size2); for (i=0;i<3;i++) { for (j=0;j<3;j++) { sum = sumatoria(m, i, j, 3); gsl_matrix_set(covariance, i, j, sum); } } return covariance; }
Numero main(Numero argc, char* argv[]) { // No es puede porq utilizamos stack // Numero enteros[] = {1,2}; unsigned cant = 5; Numero* enteros = (Numero*)malloc(cant * sizeof(Numero)); inicializar(enteros, cant); enteros[1] = 4; imprimir(enteros, cant); printf("sumatoria: %d\n", sumatoria(enteros, cant) ); free(enteros); enteros = 0; return 0; }