IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Pascal Discussion :

[Débutant] Transposée d'une matrice


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 67
    Par défaut [Débutant] Transposée d'une matrice
    Bonsoir à tous !
    Voilà, j'ai essayé de faire un petit programme qui calcule la transposée d'une matrice mais j'ai deux problèmes en fait !
    Est-il possible d'afficher sous forme d'une matrice dans un programme Pascal ou pas ? Car là, à la fin, il ne m'affiche les chiffres comme si c'était un tableau d'une dimension; je ne vois pas pourquoi
    Voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Program Transposee;
     
    var i,j,a,b : integer;
    Tab  : array [1..20 , 1..20] of integer;
    Tab2 : array [1..20 , 1..20] of integer;
    begin
     writeln(' Colonnes ? ');
       readln(a);
     writeln(' lignes ?  ' );
       readln(b);
     
     for i:= 1 to a do
       begin
          for j:=1 to b do
             begin
               writeln( ' Donner les valeurs ', i, ' ' ,j, '  de votre matrice ');
                    read(Tab[i,j]);
             end;
        end;
     
      for i:=1 to b do
        begin
          for i:=1 to a do
            Tab2[i,j] := Tab[j,i];
         end;
     
       for i:=1 to b do
        begin
         for j:=1 to a do
           write(' la transposée de votre matrice est ==>',Tab2[i,j]);
          readln;
         end;
    end.
    Je vous remercie pour vos réponses d'avance. A bientôt et bon courage à tous !

  2. #2
    Membre expérimenté Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Par défaut
    yep,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     for i:= 1 to a do
       begin
          for j:=1 to b do
             begin
               writeln( ' Donner les valeurs ', i, ' ' ,j, '  de votre matrice ');
                    read(Tab[i,j]);
             end;
        end;
    ceci est faux...Cela doit être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     for i:= 1 to b do
       begin
          for j:=1 to a do
             begin
               writeln( ' Donner les valeurs ', i, ' ' ,j, '  de votre matrice ');
                    read(Tab[i,j]);
             end;
        end;

    ensuite,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      for i:=1 to b do
        begin
          for i:=1 to a do
            Tab2[i,j] := Tab[j,i];
         end;
    tu fais 2 boucles imbriquées avec 'i' qui varie, et ton j?


    ++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 67
    Par défaut
    bonjour merci pour ta reponse Cher ''Tux ''jai rectifié la premiere boucle et pour lautre :
    2 boucles imbriquée dsl mais je ne sais pas du tt ce que cela veut dire
    cest faire une boucle ds une autre boucle ?
    voila mais dites moi est ce que cest possible dafficher une matrice ac pascal ou pas ? ou just les afficher genre dun tableau ?
    Ex: est ce que je peux afficher ceci?

    1 2 3
    3 5 4
    4 5 3

    dans ce sens la?
    car jai fais un simple exemple dafficher un tableau de deux dimensions mais il maffiche pas comme ca je ne sais pas pourquoi il me les mé tous ds une seule ligne et ( jai bien ecrit Write et non pas Writeln ) .

    merci pour vos reponse!

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Dai,
    Citation Envoyé par swayly Voir le message
    2 boucles imbriquée dsl mais je ne sais pas du tt ce que cela veut dire
    cest faire une boucle ds une autre boucle ?
    Bien deviné, et c'est ce que tu as déjà fait.

    Citation Envoyé par swayly Voir le message
    Ex: est ce que je peux afficher ceci?

    1 2 3
    3 5 4
    4 5 3

    dans ce sens la?
    car jai fais un simple exemple dafficher un tableau de deux dimensions mais il maffiche pas comme ca je ne sais pas pourquoi il me les mé tous ds une seule ligne et ( jai bien ecrit Write et non pas Writeln ) .

    merci pour vos reponse!
    Avec ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       for i:=1 to b do
        begin
         for j:=1 to a do
           write(' la transposée de votre matrice est ==>',Tab2[i,j]);
          readln;
         end;
    tu penses vraiment avoir une chance d'obtenir l'affichage que tu veux ?


    ps : évite le pseudo-sms. Ici, nous sommes sur un forum, pas sur un mobile ou un chat, tu as le temps d'écrire correctement.

  5. #5
    Membre expérimenté Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Par défaut
    Comme dit droggo, tu dois jouer avec des write(); entre les colonnes et des writeln() entre les lignes, et ce dans tes deux boucles for.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 67
    Par défaut
    Citation Envoyé par Tux++ Voir le message
    Comme dit droggo, tu dois jouer avec des write(); entre les colonnes et des writeln() entre les lignes, et ce dans tes deux boucles for.
    merci Tux nn Droggo ne ma donné aucune solution ou aucune idée comme tu le dis la amoin que je sois aveugle mais plutot des critiques oui !
    genre '' tu crois avois une solution comme ca '' lol mais si je le demande cest que je ne le sais pas lol bref je suis la pour apprendre et non pas pour passer du temp !
    merci quand meme

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 67
    Par défaut
    Citation Envoyé par droggo Voir le message
    Dai,

    Bien deviné, et c'est ce que tu as déjà fait.
    salut, merci pour ta reponse Cher monsieur
    en fait je ne comprend pas pourquoi il me demande de le faire alors si cest ce que jai deja fais ca je ne pige pas trop et merci de me lavoir expliquer

    Avec ton code
    tu penses vraiment avoir une chance d'obtenir l'affichage que tu veux ?
    si je le savais je nauré pas poser ca comme blem sur le forum tu ne penses pas ?


    ps : évite le pseudo-sms. Ici, nous sommes sur un forum, pas sur un mobile ou un chat, tu as le temps d'écrire correctement.
    et je necris pas pseudo sms comme tu le dis mais en fait jecris comme je peux et je sais tres bien que je suis dans un forum

    comme tu as pu le constater tu nas repondu sur aucune des questions tu nes pas la pour ca certe mais merci de garder tes critiques genre :

    Avec ton code
    tu penses vraiment avoir une chance d'obtenir l'affichage que tu veux ??
    chez toi hoo quand meme tu crois que si javais la reponse chez moi jauré perdu le temp de le demander ?? hoo quand meme bref
    allé merci quand meme !

  8. #8
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Fai,
    Citation Envoyé par swayly Voir le message
    salut, merci pour ta reponse Cher monsieur
    en fait je ne comprend pas pourquoi il me demande de le faire alors si cest ce que jai deja fais ca je ne pige pas trop et merci de me lavoir expliquer



    si je le savais je nauré pas poser ca comme blem sur le forum tu ne penses pas ?




    et je necris pas pseudo sms comme tu le dis mais en fait jecris comme je peux et je sais tres bien que je suis dans un forum

    comme tu as pu le constater tu nas repondu sur aucune des questions tu nes pas la pour ca certe mais merci de garder tes critiques genre :


    chez toi hoo quand meme tu crois que si javais la reponse chez moi jauré perdu le temp de le demander ?? hoo quand meme bref
    allé merci quand meme !
    Tu ferais bien d'ouvrir les yeux, et de tenir compte de ce qu'on te dit.

    Je ne reviens pas sur tous les points, mais par exemple, tu veux obtenir un affichage comme ceci:
    et ton code d'affichage contient ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       for i:=1 to b do
        begin
         for j:=1 to a do
           write(' la transposée de votre matrice est ==>',Tab2[i,j]);
          readln;
         end;
    d'où ma question
    tu penses vraiment avoir une chance d'obtenir l'affichage que tu veux ?
    car il est parfaitement clair que ça ne va pas, et ça doit être clair même pour un débutant.

    Quant au pseudo-sms, juste un petit extrait:
    pourquoi il me les mé tous ds une seule ligne
    et pour la réponse à cette question, tu connais la réponse, puisque tu as bien précisé que tu prenais la précaution d'utiliser Write et pas WriteLn, ce qui implique que tu sais ce que fait WriteLn, non ?

    Il faut réfléchir un peu, la programmation c'est comme pour tout : nous ne sommes pas nés en sachant comment faire.

Discussions similaires

  1. [Débutant] Création d'une matrice de confusion
    Par Alucard9800XT dans le forum MATLAB
    Réponses: 4
    Dernier message: 15/05/2007, 09h19
  2. [Débutant] Transformation d'une matrice 3D en une matrice 1D
    Par Alucard9800XT dans le forum MATLAB
    Réponses: 7
    Dernier message: 10/05/2007, 15h07
  3. [Débutant] Remplissage d'une matrice
    Par Keldou dans le forum Octave
    Réponses: 2
    Dernier message: 24/04/2007, 19h54
  4. Transposée d'une matrice
    Par Poseidon62 dans le forum Ada
    Réponses: 1
    Dernier message: 07/04/2007, 17h46
  5. Réponses: 9
    Dernier message: 21/02/2006, 18h40

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