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

C Discussion :

Malloc et matrices


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Finlande

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut Malloc et matrices
    Bonjour !!

    bon voila j'ai écris un petit code qui permet d'allouer dynamiquement une matrice j'ai donc voulu teste si ça marche 100% j'ai donc essayer de faire la somme de deux matrices mais le code plante lorsque je scan les valeurs après que j'ai mis un & au scanf la lecture passe mais pas le printf de la fonction showM

    voici 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int ** allocM (int , int);
    int ** addM (int **, int **,int **,int , int);
    int ** scanM (int,int);
    void showM(int **,int,int);
     
    int main()
    {
        int lines,cols;
        int **m1,**m2,**m3;
        printf("-------------------------------------\n");
        printf("lines ? :\n");
        scanf("%d",&lines);
        printf("\ncols ? :\n");
        scanf("%d",&cols);
        printf("-------------------------------------\n");
        m1=allocM(lines,cols);
        m2=allocM(lines,cols);
        m3=allocM(lines,cols);
        printf("-------------------------------------\n");
        printf("scan premiere Matrice 1 :");
        m1=scanM(lines,cols);
        showM(m1,lines,cols);
        printf("scan premiere Matrice 2 :");
        m2=scanM(lines,cols);
        printf("fin du scan !\a\n");
        printf("-------------------------------------\n");
        m3=addM(m1,m2,m3,lines,cols);
        printf("Resultat de l'addition des deux matrices :) \n");
        showM(m3,lines,cols);
        return 0;
    }
    int ** allocM (int lines, int cols)
    {
        int i,j;
        int** matrix = malloc(lines*sizeof(int *));
        for (i=0;i<lines;i++)
            matrix[i]= malloc(cols*sizeof(int));
        for(i=0;i<lines;i++)
            for(j=0;j<cols;j++)
                matrix[i][j]=0;
        return matrix;
    }
    int ** scanM (int lines,int cols)
    {
        int **m;
        int i,j;
        m=allocM(lines,cols);
        for(i=0;i<lines;i++)
            for(j=0;j<cols;j++)
                {
                   printf("\nline %d col %d :",i,j);
                   scanf("%d",m[i][j]);
                }
        return m;
    }
    void showM(int **m,int lines,int cols)
    {
        int i,j;
        for(i=0;i<lines;i++)
            {
                for(j=0;j<cols;j++)
                    printf("%d  ",m[i][j]);
                printf("\n");
            }
    }
    int ** addM (int **ma, int **mb,int **MC,int lines,int cols)
    {
        int i,j;
    	for(i=0;i<lines;i++)
    		for(j=0;j<cols;j++)
    			MC[i][j]=ma[i][j]+mb[i][j];
        return MC;
    }

    merci

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2011
    Messages : 247
    Par défaut
    Comme tu l'as dit il te faut un & pour le scanf():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                   scanf("%d",&m[i][j]);
    J'ai testé le code et ça marche normalement.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Finlande

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut
    aucune idée pour le printf ?
    merci pour le passage

  4. #4
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2011
    Messages : 247
    Par défaut
    Je ne vois pas où est le problème. Je l'ai compilé et exécuté et tout marche normalement.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Finlande

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut
    apparement c'est le compilateur qui me donnait des erreurs -.- le code est correcte pour les gens qui viennent apres ajoutez juste le & au scanf et tout ira bien

    merci a toi dré kam

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/02/2011, 11h11
  2. Initialisation d'une matrice carrée (malloc...)
    Par kilinette dans le forum C
    Réponses: 4
    Dernier message: 17/10/2005, 19h57
  3. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 09h44
  4. Gestion de matrice
    Par bzd dans le forum C
    Réponses: 4
    Dernier message: 12/08/2002, 18h19
  5. Comment définir le type matrice ?
    Par charly dans le forum Langage
    Réponses: 7
    Dernier message: 15/06/2002, 21h01

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