Buenas танго el siguiente código que me понимают el cálculo de un número combinacional:
int combinacional(int_pair par) {
int i,j;
int tabla[par.a+1][par.b+1] ;
if(par.b == 0 || par.b == par.a) {
return 1;
}
else if (par.b == 1 || par.b == (par.a - 1)) {
return par.a;
}
else {
for (i=0; i<=par.a; i++) {
tabla[i][0] = 1;
}
for (i=1; i<=par.a; i++) {
tabla[i][1] = i;
}
for (i=2; i<=par.b; i++) {
tabla[i][i] = 1;
}
for (i=3; i<=par.a;i++) {
for (j=2; j<par.a; j++) {
if(j<=par.b) {
tabla[i][j] = tabla[i-1][j-1] + tabla[i-1][j];
}
}
}
}
return tabla[par.a][par.b];
}
En ella hago uso de "int_pair" que sería un equivalente una кортеж доблесть en el cuál se puede seleccionar el primer o Эль-Сегундо, también creo ООН выстраивают двумерный параграф poder guardar Лос доблесть del triángulo se Паскаль y шулер al заключительный el resultado de este. Ошибка El viene al mostrar la salida, параграф ello uso lo siguiente:
void test() {
list enteros = leerFichero4("ficheros/entradaE4.txt");
for (int i = 0; i < enteros.size; i++) {
int_pair tupla = *(int_pair*) list_get(&enteros, i);
int result = combinacional(tupla);
printf("Entrada = %s; ", int_pair_tostring(&tupla, mem));
printf("Salida = %i\n", result);
printf("========================================\n");
}
}
int main() {
test();
}
Esto я muestra lo siguiente:
Entrada = (10,1); Salida = 10
========================================
Entrada = (9,2); Salida = 36
========================================
Entrada = (8,3); Salida = 7105
========================================
Entrada = (7,4); Salida = -996404052
========================================
Entrada = (6,5); Salida = 6
========================================
Сын La dos primeras salidas y la última correctas. Эмбарго греха, сер las demás deben 56 лет 35 лет aparecen punteros posiciones de memoria imagino. Ошибка Supongo que será algún de punteros pero никакой logro encontrarlo.
так как я издаю ответ, чтобы делать ее mГЎs ясная, если кто-то входит в нее ища informaciГіn. Как хорошо я respondiГі в комментариях @PaperBirdMaster. Ошибка находилась, в котором она versiГіn использованная не permitГ - в нее creaciГіn arrays, где размеры менялись. Следовательно array tabla
был зачинщиком проблемы, так как construГ - в в зависимости от стоимости, полученных из-за parГЎmetro. Следовательно, она soluciГіn он состоял в том, чтобы строить это с tamaГ±o [100][100], имея эту форму одного tamaГ±o закрепил.