CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[c++] Passer une matrice par adresse ?

le_duche
le_duche
Niveau 10
23 août 2005 à 17:34:48

en fait, ca me donne meme envie de programmer toutes une classe sur les matrices...
avec tous les trucs de math que j´ai pu voir la dessus, il y a dejà pas mal de fonctions à faire...

Mais j´ai qmeme un ptit problème conceptuel:
si je veux programmer une fonction produit_matriciel qui recoit deux matrices, quelle syntaxe adopter ?
Ha je sais !
je peux faire
c.prod(&a,&b);
où c recoit le produit des deux... :oui:

le_duche
le_duche
Niveau 10
23 août 2005 à 17:35:43

grrr [tab]

mais est-ce qu´il y a mieux ? donnez moi vos idées...

dnob700
dnob700
Niveau 10
23 août 2005 à 18:43:33

tu peut même écire c.prod(a,b) si la fonction est déclaré comme tel :

class matrice
{
prod(matrice& a,matrice& b);
}

mais c´est pas terrible car ça n´a pas trop de sens vu que le produit est indépendant de c.

Et appeler a.prod(a,b) risque de faire des erreurs.
Donc il vaut mieux définir juste une fonction :
matrice prod(matrice& a,matrice& b);
Ne pas oublier de faire un bon destructeur pour la classe matrice et l´utiliser comme ça, même si c´est plus lent.

Si pour commencer tu te restraint à utiliser que des matrice de taille carré alors une solution consiste à écrire :

a*=b ou on stocke dans a le produit a*b ce qui a l´avantage d´économiser la mémoire et donc surtout le temps d´exécution puice que l´on ne cré pas d´objet intermédiaire : on stocke le résultat directement dans son emplacement finale (contrairement à la méthose précédente).

le_duche
le_duche
Niveau 10
25 août 2005 à 20:57:19

non non le produit matriciel s´adapte à des matrice non carrées...

Mais j´ai pensé à faire ceci:
ma fonction c.prod(*a,*b) stocke le produit de a et b dans la matrice c et la fonction renvoie une variable booléenne pour dire si le produit a pu s´effectuer ou non (puisqu´il y a des conditions sur les produits matriciels...)

dnob700
dnob700
Niveau 10
25 août 2005 à 20:59:58

Bien sur que le produit peut se faier avec des matrices pas carré, mais justement arrive le problème de savoir si le prodit à pu se faire ou non.

Ce que je veux dire en disant que c.prod(a,b) est bizarre c´est que c n´intervient pas dans le stockage. On pourrait écrire b.prod(a) ou alors c=prod(a,b) mais je trouvais juste qu´écrire c.prod(a,b) était bizarre.

Par contre la bone méthode si la multiplcation en peut pas se faire est bien sûr de lever une exception.

le_duche
le_duche
Niveau 10
25 août 2005 à 21:02:53

ca j´ai pas encore appris...
chuis un ptit débutant moi ^^ et j´ai deja trop de projets faisable en tete que pour progresser en théorie pour l´instant...

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment