Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2018
    Messages : 13
    Points : 7
    Points
    7

    Par défaut Formuler tableau de 2 matrices

    Bonjour,

    Je dois créer un tableau à partir d'une multiplication de 2 matrices, une de nombre entier, et l'autre avec des variables déjà déterminées soit
    1.35, 1.40, 1.60. Je dois afficher la multiplication dans un tableau avec ces 3 variables.

    Dans les colonnes sur le terminal, quand je vais faire ''Run'', je dois avoir 3 colonnes en voyant en titre 1.35, 1.40, 1.60 avec le résultat de la multiplication.

    J'ai fait les codes, mais ce n'est pas le bon résultat qui m'affiche.

    Où je me suis trompé?

    Merci
    Nom : Capture d’écran, le 2018-10-08 à 23.01.30.png
Affichages : 80
Taille : 41,3 KoNom : Capture d’écran, le 2018-10-08 à 22.59.09.png
Affichages : 76
Taille : 67,2 KoNom : Capture d’écran, le 2018-10-08 à 22.59.23.png
Affichages : 79
Taille : 35,9 Ko

  2. #2
    Membre actif Avatar de Seabirds
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2015
    Messages : 226
    Points : 252
    Points
    252

    Par défaut

    Bonjour!

    Mhh je pense que ton code ressemble plutôt à du C que du C++ Même si il y a une certaine rétrocompatbilité, les langages diffèrent, et les membres de ce forum C++ le rappellent souvent!
    Donc peut-être obtiendrais-tu plus de réponses du côté du forum C

    Sinon quelques petites remarques:

    • plutôt que d'insérer des images, tu as une balise de code (le dièse dans la barre des tâches) pour formater un copier/coller de ton code
    • scanf/printf sont définitivement des trucs à la C
    • tu n'utilises pas une seule fois la bibliothèque standard du C++ ... ce qui confirme que tu fais surtout du C
    Le débutant, lui, ignore qu'il ignore à ce point, il est fier de ses premiers succès, bien plus qu'il n'est conscient de l'étendue de ce qu'il ne sait pas, dès qu'il progresse en revanche, dès que s'accroît ce qu'il sait, il commence à saisir tout ce qui manque encore à son savoir. Qui sait peu ignore aussi très peu. [Roger Pol-Droit]
    Github
    Mon tout premier projet: une bibliothèque de simulation de génétique des populations

  3. #3
    Membre confirmé Avatar de emixam16
    Homme Profil pro
    GDPR
    Inscrit en
    juin 2013
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : GDPR

    Informations forums :
    Inscription : juin 2013
    Messages : 122
    Points : 470
    Points
    470

    Par défaut

    Quelques problèmes dans ton code en plus des remarques de seabirds.

    > Qu'est ce que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int A[1.35][1.40][1.60]
    est censé faire? Très clairement, ça ne marchera pas. Renseigne toi comment déclarer un tableau statique
    > Même question pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf("%d" A[1.35][1.40][1.60]);
    . D'une part c'est un truc à la C et d'autre part, c'est très faux.
    > Indente ton code!
    > Ton code n'a en l'état aucune chance de marcher. Règle ces problèmes, revois les bases et reviens nous voir après si tu as encore des problèmes.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    décembre 2015
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : décembre 2015
    Messages : 790
    Points : 4 091
    Points
    4 091

    Par défaut

    Bonjour,

    Ça n'est pas du C++, c'est du C à 100%. Ta question doit être posée dans la section "langage C".
    Un tableau de trois valeurs non entières initialisées (en C) s'écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double A[3] = {1.35, 1.40, 1.60};
    Et la lecture d'un nombre non entier s'écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double x;
    scanf( "%ld" , &x );
    En C++ c'est différent, on écrira à la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    std::array<double,3> A{1.35, 1.40, 1.60};
    double x;
    std::cin >> x;

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    Consultant informatique
    Inscrit en
    octobre 2004
    Messages
    10 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : octobre 2004
    Messages : 10 885
    Points : 25 387
    Points
    25 387

    Par défaut

    Salut,

    Que ce soit en C ou en C++, un tableau ne peut contenir qu'un nombre entier d'éléments : si tu crées un tableau de pommes, tu ne pourras décider d'y mettre trois pommes, ou tu pourras décider d'y mettre quatre pommes, mais tu ne pourras pas décider d'y mettre ... 3.1415 pommes!!!

    De même, lorsque tu essaye d'accéder à l'un des éléments du tableau, tu ne peux accéder qu'à des éléments entiers : tu peux accéder à la deuxième, à la troisième ou à la quatrième pomme, mais tu ne peux pas accéder à la 3.5eme pomme

    De plus, les taux qui te sont donnés (1.35, 1.40 et 1.60) sont clairement des valeurs réelles (des float ou des double). Si tu essayes de les représenter sous la forme d'entiers (comme des int), cela va poser problème, car il y aura au mieux un arrondi qui sera effectué, au pire, une perte "pure et simple" de la partie décimale (à toi de voir ce qu'il arrive )

    Si bien que, si tu veux regrouper ces taux dans un tableau, tu dois les regrouper dans un tableau de ... valeurs réelles (float ou double).

    Et, comme les deux monnaies utilisent deux chiffres après la virgule (pour représenter les cents), la conversion -- dans un sens ou dans l'autre -- produira forcément des résultats ... avec deux chiffres après la virgules (théoriquement, même au moins quatre chiffre derrière la virgule, si pas d'avantage )

    Si tu veux créer un tableau à deux dimensions qui reprennent plusieurs valeurs pour chacun de ces taux, il faudra commencer par définir l'ordre dans lequel tu veux obtenir ces valeurs : veux tu obtenir les valeurs en CAN$ à partir de valeurs en € pour les différents taux ou veux tu obtenir des valeurs en € pour les différents taux à partir de valeurs en CAN$

    Car, selon la réponse à cette question, l'organisation des données au niveau de ta matrice sera différente.

    Enfin, retiens toujours que, si tu veux créer une matrice composée de L lignes et de C colonnes, c'est que tu veux pouvoir représenter L*C éléments, et que tu peux donc les représenter dans un tableau "classique" capable de contenir ces L*C éléments.

    Pour accéder à l'élément qui se trouve à la ligne line et à la colonne row, il suffit d'utiliser la formule element_recherche = line * C + rowA l'inverse, pour retrouver la ligne et la position de l'élément dont tu connais l'indice dans ce tableau, la formule sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    row = indice % C;
    line = indice / C;
    Pour le reste, je ne peux que valider ce qu'ont dit mes collègues : tu devrais relire ton cours, car je suis sur que tu devrais y trouver toutes les informations dont tu as besoin pour résoudre le problème (pourtant simple) qui t'est présenté!
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    6 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 6 485
    Points : 18 218
    Points
    18 218
    Billets dans le blog
    1

    Par défaut

    Bonjour

    Un tout petit détail: ce n'est pas parce que le résultat doit être affiché sous forme de tableau qu'il faut obligatoirement stocker le résultat dans un tableau avant. On peut très bien, pour une somme, afficher les 3 taux différents et passer à la somme suivante. Le résultat sera alors bien affiché sous forme de tableau.

    D'ailleurs quand je lis l'énoncé j'ai de plus en plus de doute sur la nécessité d'avoir deux matrices. En effet, c'est écrit "programme qui effectue la conversion en euro d'une somme exprimée en dollars". Pour moi, "une somme" ne nécessite pas de la stocker dans une matrice. Seule la matrice des taux de change suffit. Et encore, comme il s'agit de 3 taux, c'est donc un simple tableau de 3 doubles qui ne justifie alors plus vraiment le terme de "matrice". Bref voilà comment on passe de "tableau de 2 matrices" à "valeur simple et tableau de 3 doubles" ce qui est nettement plus facile à traiter.

    Citation Envoyé par mohck Voir le message
    J'ai fait les codes, mais ce n'est pas le bon résultat qui m'affiche.
    Je suis surpris que ce code arrive à compiler assez loin pour afficher quelque chose !!!

    Citation Envoyé par mohck Voir le message
    Où je me suis trompé?
    Euh... partout en fait. Rien que ici int A[1.35][1.40][1.60] montre que tu es très loin d'avoir les bases des bases.
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

Discussions similaires

  1. formule pour créer une matrice
    Par valenton dans le forum Excel
    Réponses: 14
    Dernier message: 02/09/2012, 20h36
  2. [XL-2002] [FORMULE] Tableau croisé dynamique et cellules vides
    Par jipie dans le forum Excel
    Réponses: 3
    Dernier message: 07/03/2010, 14h18
  3. Conversion tableau 2D ou matrice en chaîne
    Par Florian V dans le forum LabVIEW
    Réponses: 2
    Dernier message: 25/01/2010, 15h09
  4. chercher un tableau dans une matrice
    Par devdébuto dans le forum C
    Réponses: 12
    Dernier message: 11/12/2005, 01h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo