Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1088 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Inversion de matrices en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Inversion de matrices en C

n°2205940
killerbot
Posté le 08-10-2013 à 18:34:59  profilanswer
 

Bonjour tout le monde,
ON travaille en TP à faire un programme C où l'on doit écrire les éléments d'une matrice carrée et on cherche à l'inverser (sinon on dira qu'elle est singulière).
C compliqué de le faire, et c pour ça que je fais appel à vous :D Voilà le début du programme et la fonction qui peut déclarer les éléments de la matrice mais apparemment y a un truc qui va pas :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void declaration_elements_matrice (void);
  4. short int dimension_matrice;
  5. short int ligne;
  6. short int colonne;
  7. short int matrice[dimension_matrice][dimension_matrice];
  8. int main()
  9. {
  10. fprintf(stdout, "Entrez la dimension de la matrice : " );
  11. fscanf(stdin, "%hd", &dimension_matrice );
  12. declaration_elements_matrice();
  13. return 0;
  14. }
  15. void declaration_elements_matrice (void)
  16. {
  17. short int matrice[dimension_matrice][dimension_matrice];
  18.      fprintf(stdout, "Entrez les éléments de la matrice %hdx%hd\n", dimension_matrice, dimension_matrice);
  19.      for (ligne=1 ; ligne<=(dimension_matrice) ; ligne++)
  20.      {
  21.          fprintf(stdout, "Ligne %d : ", ligne);
  22.          fscanf(stdin, "%hd,%hd,%hd,%hd", &matrice[ligne-1][0], &matrice[ligne-1][1],&matrice[ligne-1][2], &matrice[ligne-1][3]);
  23.      }
  24. printf("Prêt à tester ?\n" );
  25.         getchar();
  26.         printf("Voici la matrice écrite : \n" );
  27.      for (ligne=1 ; ligne<=taille_matrice ; ligne++)
  28.      {
  29.         printf("%hd,%hd,%hd,%hd \n", matrice[ligne-1][0], matrice[ligne-1][1],matrice[ligne-1][2], matrice[ligne-1][3]);
  30.      }
  31. }


 
Merci pour votre aide ;)


Message édité par gilou le 08-10-2013 à 20:26:54
mood
Publicité
Posté le 08-10-2013 à 18:34:59  profilanswer
 

n°2205948
Totoche17
Posté le 08-10-2013 à 18:55:08  profilanswer
 

1/ évite les variables globales
2/ si tu veux travailler sur des matrices de taille variable, il faudra faire de l'allocation dynamique de mémoire, ce que tu as écrit ne peux pas fonctionner.

n°2205954
killerbot
Posté le 08-10-2013 à 18:58:40  profilanswer
 

ca marche comment ? (Je débute en C j'ai oublié de préciser :p)

n°2205955
Totoche17
Posté le 08-10-2013 à 19:13:53  profilanswer
 

Si tu débutes (je m'en doutais), je vais pas t'abreuver avec des double pointeurs (**matrice) et des malloc.
Dans ce cas tu es obligé de travailler avec des matrices de taille fixe (ou du moins ayant une certaine taille max).

n°2205964
killerbot
Posté le 08-10-2013 à 20:18:30  profilanswer
 

Bon j'vais commencer par une matrice max 4x4 alors.  
Alors maintenant c'est comment calculer le déterminant de la matrice ? (on a choisi le déterminant car ce dernier montre si la matrice est inversible ou pas => si elle n'est pas nulle)

n°2206067
rufo
Pas me confondre avec Lycos!
Posté le 09-10-2013 à 14:54:04  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Inversion de matrices en C

 

Sujets relatifs
[C=débutant] Boucle WhileDébutant en C...
Comment générer un nombre aléatoire en C++ ?Configurer les registres d'un PIC18F en C
Resoudre une equation du second degre en C (suite)Besoin d'idée coulée faire le code source en C + +
[C++] PX, Un toolkit X11 sous LinuxImport de la fonction C Math modf et utilisation.
C# ADO.NET DataSet et DataTable[C/C++] Cherche fun en prog à plusieurs (social coding)
Plus de sujets relatifs à : Inversion de matrices en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR