Problème boucle matrice triangulaire inférieure
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voici le programme qui porte sur un matrice 4*4
Et en fait je dois réécrire ce programme mais uniquement sur une matrice triangulaire inférieure et je n'arrive pas du tout à faire la boucle.
Voici l'un de mes essais :
Voici le programme qui porte sur un matrice 4*4
#include <stdio.h> #include <stdlib.h> int main() { int i, j, n=4, p=1, q=0; float A[4][4], A_pj, A_qj, c=0.957092 , s=0.289784, t=0.302776; A[0][0] = 1.; A[0][1] = 1.; A[0][2] = 0.; A[0][3] = 0.; A[1][0] = 1.; A[1][1] = 4.; A[1][2] = 1.; A[1][3] = 0.; A[2][0] = 0.; A[2][1] = 1.; A[2][2] = 4.; A[2][3] = 1.; A[3][0] = 0.; A[3][1] = 0.; A[3][2] = 1.; A[3][3] = 4.; for (i=0;i<n;i++) { for (j=0;j<n;j++) { printf("%f ",A[i][j]); } printf("\n"); } for (j=0;j<n;j++) { if ((j!=p) && (j!=q)) { A_pj = A[p][j]; A_qj = A[q][j]; A[p][j] = c*A_pj + s*A_qj; A[q][j] = -s*A_pj + c*A_qj; A[j][p] = A[p][j]; A[j][q] = A[q][j]; } } A[p][p] += t*A[p][q]; A[q][q] -= t*A[p][q]; A[p][q] = 0; A[q][p] = 0; printf("\n\n"); for (i=0;i<n;i++) { for (j=0;j<n;j++) { printf("%f ",A[i][j]); } printf("\n"); } return 0; }
Et en fait je dois réécrire ce programme mais uniquement sur une matrice triangulaire inférieure et je n'arrive pas du tout à faire la boucle.
Voici l'un de mes essais :
#include <stdio.h> #include <stdlib.h> int main() { int i, j, n=4, p=1, q=0; float A[4][4], A_pj, A_qj, c=0.957092 , s=0.289784, t=0.302776; A[0][0] = 1.; A[1][0] = 1.; A[1][1] = 4.; A[2][0] = 0.; A[2][1] = 1.; A[2][2] = 4.; A[3][0] = 0.; A[3][1] = 0.; A[3][2] = 1.; A[3][3] = 4.; for (i=0;i<n;i++) { for (j=0;j<=i;j++) { printf("%f ",A[i][j]); } printf("\n"); } for (j=0;j<n;j++) { A_pj = A[p][j]; A_qj = A[q][j]; if ((j<p) && (j!=q)) { A[p][j] = c*A_pj + s*A_qj; } if (j>p) { A[j][p] = c*A_pj + s*A_qj; } if (j<q) { A[q][j] = -s*A_pj + c*A_qj; } if ((j>q) && (j!=p)) { A[j][q] = -s*A_pj + c*A_qj; } } A[p][p] += t*A[p][q]; A[q][q] -= t*A[p][q]; printf("\n\n"); for (i=0;i<n;i++) { for (j=0;j<=i;j++) { printf("%f ",A[i][j]); } printf("\n"); } return 0; }
A voir également:
- Problème boucle matrice triangulaire inférieure
- Vous ne pouvez pas modifier une partie de matrice ✓ - Forum Excel
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Tv orange chargement en boucle ✓ - Forum TV & Vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel