begin process at 2012 02 08 08:44:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > CALCULS SUR LES MATRICES

CALCULS SUR LES MATRICES


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Niveau :Débutant Date de création :30/04/2005 Date de mise à jour :30/04/2005 15:59:05 Vu / téléchargé :7 128 / 783

Auteur : Taranael

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Salut :) Bon c'est ma première source , j'ai préféré attendre un moment histoire qu'elle soit un peu pertinente !
Il s'agit ici d'une classe Matrice capable de gérer pratiquement toutes les opérations matricielles sur des matrices carrees ( en coupant dans le code il serait facile de faire une classe Matrice PxQ mais on perd les trois quarts des calculs puisque pas d'inverse etc ... )

Pour l'utilisation les matrices sont remplies avec des méthodes Get et Set mais on peut utiliser aussi SetLigne et SetCol pour remplir une ligne ou nue colonne en une seule fois ( attention si vous donnez un tableau avec trop peu d'élément je n'ai pas prévu de gestion d'erreur)

Sinon j'anticipe sur certains commentaires , oui il y a déjà des codes qui gèrent les Matrices mais j'y ai jeté un oeil et elles ne sont pas aussi complètes. Oui j'utilise des MFC mais je suis en IUT et pour l'instant on ne m'a encore apprit que les MFC donc je les utilise , quand j'aurais fait STL ou un autre peut-être que je les utiliserais mais pour l'instant je fais avec ce que j'ai . Enfin pour le using namespace std , le void main , j'ai développé ça pour mon IUT donc je respecte ce qu'on m'a appris et les règles de codage , si ça vous plait pas ou si votre compilateur râle un peu je vous pense assez grand pour changer trois lignes :)

Source

  • // Tout le code avec le projet VC++ 6 est dans le zip
// Tout le code avec le projet VC++ 6 est dans le zip

 Conclusion

Je développe à un rythme spécial , je peux m'acharner pendant 1 semaine , puis plus rien faire pendant un mois donc je sais pas encore quand mais je pense ajouter plus tard des méthodes d'opérations élémentaires qui permettront de faire le pivot de Gauss , on evrra quand ça arrivera , sinon il y aura p'têtre des modifs en foncton des commentaires que je vais recevoir.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Matrice
    •   Debug
      • Matrice.exeTélécharger ce fichier [Réservé aux membres club]114 739 octets
      • Matrice.ilkTélécharger ce fichier [Réservé aux membres club]120 956 octets
      • Matrice.pchTélécharger ce fichier [Réservé aux membres club]187 044 octets
      • Matrice.pdbTélécharger ce fichier [Réservé aux membres club]304 128 octets
      • matrice1.objTélécharger ce fichier [Réservé aux membres club]27 434 octets
      • matrice2.objTélécharger ce fichier [Réservé aux membres club]28 022 octets
      • matrice3.objTélécharger ce fichier [Réservé aux membres club]23 211 octets
      • T_matrice.objTélécharger ce fichier [Réservé aux membres club]2 380 octets
      • T_matrice1.objTélécharger ce fichier [Réservé aux membres club]22 334 octets
      • T_matrice2.objTélécharger ce fichier [Réservé aux membres club]1 172 octets
      • T_matrice3.objTélécharger ce fichier [Réservé aux membres club]1 172 octets
      • vc60.idbTélécharger ce fichier [Réservé aux membres club]132 096 octets
      • vc60.pdbTélécharger ce fichier [Réservé aux membres club]69 632 octets
    • Matrice.datTélécharger ce fichier [Réservé aux membres club]40 octets
    • Matrice.dspTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 433 octets
    • Matrice.dswTélécharger ce fichier [Réservé aux membres club]Voir ce fichier537 octets
    • matrice.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 344 octets
    • Matrice.ncbTélécharger ce fichier [Réservé aux membres club]99 328 octets
    • Matrice.optTélécharger ce fichier [Réservé aux membres club]49 664 octets
    • Matrice.plgTélécharger ce fichier [Réservé aux membres club]1 123 octets
    • matrice1.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 471 octets
    • matrice2.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 545 octets
    • matrice3.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 597 octets
    • T_matrice1.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 541 octets
    • T_matrice2.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 387 octets
    • T_matrice3.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 196 octets

Télécharger le zip


 Historique

30 avril 2005 15:59:05 :
( correction orthographe et fautes de frappe )

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

Commentaires et avis

Commentaire de luhtor le 30/04/2005 19:22:34

Salut,

on t'a appris ca comme ca ?
Matrice& operator + ( Matrice& );

Moi je vais pas d'étude de prog, mais j'ai lu des choses différentes. En l'occurence ca:

Matrice operator + (const Matrice & m1, const Matrice & m2);

les const, c'est pas important, mais c'est la forme, ici c'est pas une fonction membre. Moi j'ai lu que lorsque les deux paramètres, comme ici, jouent un role symétrique, ca ne doit pas etre une fonction membre.

Tu devrais mettre des const partout ou c'est possible. Ca coute pas grand chose. Ca charge un peu le code, mais pesro je trouve ca préférable. On sait quel fonction peut modifier ou ne peut pas modifier les données et pour question de sécurité aussi.

Autrement, je sais pas si ca donne vraiment quelque chose: register int i, met plutot des fonctions en inline, si tu veux de la vitesse et encore, je suis meme pas sur que tu y gagnes vraiment. Met plutot une option optimisation du compileur.

Autrement, il faut quoi cet opérateur ?
Matrice& operator / ( Matrice& cM );

Enfin une dernière question, pourquoi ne pas faire une classe template plutot ? Ca serait bien plus utilisable et ca économiserait de la mémoire. Puisque si je fais des matrices uniquement de float ou d'entier, inutile de créer des double. Ou imagine, une matrice de fontion, ou donc chaque case n'est plus un nombre mais une fonction d'une ou plusieurs inconnu.

Bon aller, bon courage.

Commentaire de Taranael le 30/04/2005 19:43:29

Pour operator + oui on m'a apprit ça comme ça , ça doit être une fonction membre.
Sinon ouai les const je pourrais l'ajouter comme tu dis ça coute rien.
Pour les register , on y gagne un peu , disons que c'est idiot de perdre du temps pour aller chercher un indice de boucle.
L'opérateur / comme c'est indiqué permet de diviser une matrice par une autre , cad multiplier par l'inverse si elle existe.
Sinon pour les Templates je vois ça dans deux semaines donc on verra ça après :)

Merci des conseils en tout cas :)

Commentaire de Saros le 01/05/2005 11:52:28

Tu devrais faire une fonction qui prend un nombre d'arguments variable, et remplit toute la matrice, case après case, selon un certain ordre (de gauche à droite, de bas en haut) avec tous les arguments les uns après les autres. Ce serait plus pratique que de devoir définir chaque élément un par un...
Et puis tant qu'à faire, rajoute l'opérateur + et - avec des double, qui ajoute un même scalaire à tous les éléments de la matrice :)

Commentaire de Taranael le 01/05/2005 12:12:45

Oui bonne idée pour le nombre d'argument variable , je suppose que tu vois ça comme un tableau non ?
Sinon si tu veux pas mettre les éléments un par un j'ai mis des méthodes qui permettent de remplir ligne par ligne ou colonne par colonne :)

Sinon pour la surcharge de + et - avec des doubles , du point de vue de la programmation ça ne pose aucun problème , mais d'un point de vue mathématique ça ne veux rien dire ... ou alors on considère que par ce double on veut dire la matrice de taille n où chaque element est ce double , un peu comme 0 vecteur nul ...
Bah je le rajouterais dans un coin quand je ferais la prochaine mise à jour :) je suis en train de réfléchir au Pivot de Gauss là :D

Commentaire de Saros le 01/05/2005 14:09:08

'double' au sens C++-ique du terme, je voulais dire : ajouter ou soustraire un même nombre à tous les éléments de la matrice, comme pour / et *

Commentaire de Arnaud16022 le 04/05/2005 16:42:43

luthor, moi aussi je fis comme ca, voir Mgraphics, qui arrive dans quelques minutes sur le sommaire
j'ai aussi une classe de matrices (4*4 moi) pour les transfos, celle la est pas mal, mais PLEASE vire tous les .obj/.pch ou autres du zip, la il fait 200Ko, tu pourrais le faire en 40Ko
enfin bon C pas ca l'important
et donnes des noms plus explicites a tes .cpp je m'y perds :$
en tout cas ta classe est tres complete
8/10

Commentaire de Taranael le 05/05/2005 09:10:47

Des compliments venant de toi me vont droit au coeur parce que j'ai déjà vu à plusieurs reprises des codes que tu as déposé et je te respecte beaucoup :D
Pour les .onj c'est vrai j'ai pas pensé sur le coup , je vais changer ça :)
Et pour les noms de fichiers j'ai respecté la façon de faire de mon prof qui peut être déroutante , pour chaque classe il y a un .h et trois .cpp , le 1 correspond aux méthodes normales , le 2 à la surcharge des opérateurs et le 3 à la Serialization , mais c'est vrai que j'aurais pu changer ça , vais changer les noms pour que ça soit plus explicite :)

Commentaire de Arnaud16022 le 05/05/2005 11:14:54

c'est ton prof qui t'a appris ca? !!!
bon moi je peux rien dire j'ai tout appris sur le tas, mais c'est bien la premiere fois en 4 ans que je vois un truc comme ca
bref tu fais comme tu veux

Commentaire de Taranael le 05/05/2005 22:19:10

Chaque prof a ses idées , au premier semestre j'avais deux profs qui nous faisait mettre Le devant les variables du mail et les paramètres des fonction devait porter Un devant ...
J'ai vu qu'il trainait dans le coin tu peux demander à Neria il est avec moi et niveau normes des profs on en voit de toutes les couleurs :D

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,262 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales