Produit de 2 matrices de format différent et inversion de matrice - Delphi/Pascal - Programmation
Marsh Posté le 20-03-2004 à 14:03:37
Ca fait longtemps que je n'ai pas vu une ligne de Turbo Pascal, donc je ne pourrai pas te sortir de code.
Sinon:
- Produit de 2 matrices. Pour multiplier 2 matrices, il suffit que le nombre de lignes de la 2ème matrice soit égal au nombre de colonnes de la 1ère matrice si mes souvenirs sont corrects. Donc le test sur les "formats compatibles" est vite fait...
- Inversion d'une matrice. La matrice doit être carrée (nxn). Son déterminant ne doit pas être nul. La matrice peut être inversée
voilà voilà
Marsh Posté le 20-03-2004 à 21:50:07
pour la vérification avant de multiplier :
dans le corp du program tu demande a l'utilisateur de saisir le nombre de lignes / colones de chaque matrice
tu passe ca dans une fonction boolean qui compare et te dis si l'opération est possible
si la fonction est "true" alors tu apelle une procédure saisie pour la 1ére matrice, ensuite tu la rapelles pour la seconde matrice
une foi la saisie effectué tu apelle une procédure calcul qui te renvera la matrice resultat
enfin une fonction affichage qui affichera le resultat
sinon un writeln pour dire que l'opération est impossible
pour l'inversion c'est le meme principe
Marsh Posté le 12-04-2004 à 23:12:24
Astuce:
Utiliser la directive de compilation {-I} pour éviter la vérification de resultat des E/S, puis verifier cette resultat avec la directive {+I} et la fonction IOResult.
exemple
{-I}
x:= M1[1]+ M2[1];
{-I}
if IOResult = 0{0 ou 1} then
// opération éfectuée avec succer
else
// opération échouée...
Bonne chance...
Marsh Posté le 12-04-2004 à 23:14:09
Utiliser la directive de compilation {-I} pour éviter la vérification de resultat des E/S, puis verifier cette resultat avec la directive {+I} et la fonction IOResult.
exemple
{-I}
x:= M1[1]+ M2[1];
{-I}
if IOResult = 0{0 ou 1} then
// opération éfectuée avec succer
else
// opération échouée...
Bonne chance...
Marsh Posté le 20-03-2004 à 11:06:41
Salut, je dois écrire un programme calculant le produit de 2 matrices, ces matrices étant de format quelconques (avec un nombre maximal Maxl de lignes et un nombre maximal Maxc de colonnes où Maxl et Maxc sont des constantes fixées en début de programme), le programme devant comporter un test indiquant si les matrices sont de formats compatibles ou non .... comment faire ?
Je dois aussi écrire un programme déterminant si une matrice carrée est inversible et calculant sa matrice inverse si elle existe ... j'imagine qu'il faut coder le pivot de Gauss sur la matrice à inverser et sur la matrice identité de format correspondant, mais pour la suite, je suis dans le flou, là ...
Merci d'avance à tous les cracks du code pour leur aide précieuse !
radical_dreamer