Traduire un programme de langage c vers langage pyhton

fafa1995 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
nidhogg-59 Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
voici le programme que je veut traduire

# include <stdio.h>
# include <stdlib.h>
# define LEN 3
# define POWER(n) ((1)-(2)*(n%2))

void input(int** matrix, int len);
void afficher(int** matrix, int len);
int** minor(int** matrix, int len, int i, int j);
double deter(int** matrix, int len);
void destroyMatrix(int** matrix, int len);

int main (void) {

int **matrix = (int**)malloc(sizeof(*matrix)*LEN);

for (int i=0 ; i < LEN ; i++)
matrix[i] = (int*)malloc(sizeof(*matrix[i])*LEN);

input(matrix, LEN);

system("cls");
afficher(matrix, LEN);
printf("\nDeterminant: %lf", deter(matrix, LEN));

destroyMatrix(matrix, LEN);

return 0;
}

void destroyMatrix(int** matrix, int len) {
for (int i=0 ; i < len ; i++)
free(matrix[i]);

free(matrix);
}

void afficher(int** matrix, int len) {
int i, j;

putchar('\n');

for (i=0 ; i < len ; i++) {
for (j=0 ; j < len ; j++)
printf("%3d ", matrix[i][j]);

putchar('\n');
}
}

void input(int** matrix, int len) {
int i, j;

for (i=0 ; i < len ; i++)
for (j=0 ; j < len ; j++)
scanf("%d", &matrix[i][j]);
}

int** minor(int** matrix, int len, int i, int j) {
int k, l, m, n;
int **minor = NULL;

minor = (int**)malloc((len-1)*sizeof(int*));

if (!minor)
exit(0);

for (k=0 ; k < len-1 ; k++) {
minor[k] = (int*)malloc((len-1)*sizeof(int));

if (!minor[k])
exit(0);
}

for (k=0, l=0, m=0, n=0 ; k != len || l != 0 <img src="../../bundles/tinymce/vendor/tiny_mce/plugins/emotions/img/clin.png" title=";)" alt=";)"> {

if (k != i && l != j)
minor[m][n++] = matrix[k][l++];

if (k == i || l == j)
l++;

if (l == len) {
k++;
l=0;
}

if (n == len-1) {
m++;
n=0;
}
}

return minor;
}

double deter(int** matrix, int len) {

int j, k, **min = NULL;
double det=0;

if (len == 1)
return (double)matrix[0][0];

if (!len)
return 0;

for (j=0 ; j < len ; j++) {
min = minor(matrix, len, 0, j);
det += POWER(j)*matrix[0][j]*deter(min, len-1);

for (k=0 ; k < len-1 ; k++)
free(min[k]);

free(min);
}

return det;
}
A voir également:

1 réponse

nidhogg-59 Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   28
 
Heu, wè, et c'est quoi la question?
Si tu t'attend à ce qu'on fasse le boulot à ta place, t'es un peu gonflé!
Commence déjà par mettre ton code dans le balises 'code' et apprend le python!
Et entre autre, si t'as su faire ça tout seul, en une aprèm, tu devrais pouvoir apprendre les bases et le traduire en Python!
0