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 :

Compilation petit Programme.


Sujet :

C

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 79
    Points
    79
    Par défaut Compilation petit Programme.
    Bonjour,

    Est ce que quelqu'un pourrait me compiler et corriger c petit programme. Je code actuellement sous matlab et essaye de compiler un programme C pour matlab grace a une option de matlab mex.
    Donc pour tester il me faudrait un code C avec boucle for ( c pour comparer le temps d'execution une fois fini). Voici mon code C si qq'un pouvait le corriger et verifier en le compilant. si vous pouviez egalement me preciser les librairies necessaire a son excution (stdio.h)
    merci d'avance.

    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
    int R[30,5]=0;    // intialiser les variables 
    int C[30,5]=0;
    int e=0;
    int Nb_ngh=5;
    int Nb=30;
    int Diff[30*30*5*5]=0;
    for (int r1=0;r1<Nb_ngh;r1++)
       {
          for (int r2=0;r2<Nb;r2++)
             {
                R(r2,r1) = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
                C(r2,r1) = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
             }
          }
     
    for (int c=0 ;c<Nb;c++)
       {
          for (int r=0 ;r<;r++) 
             {
                for (int i=0 ;i<Nb_ngh;i++) 
                   {
                      for (int j=0 ;j<Nb_ngh;j++) 
                         {
                            Diff(e)=R(r,i)-C(c,j);
                         }
                   }
             }
       }

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Points : 65
    Points
    65
    Par défaut
    deja ton int tab[30,5] j'ai jamais vu c'est quoi a la base tab[30][5] l'indice d'un tableau est un entier autrement tu pourrais mettre tab[30.999999....]

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Points : 65
    Points
    65
    Par défaut
    c'est en polus bizarre ton diff(e) et R(r,j) c'est des fonctions alors que tu les déclares en tableaux c'est une notation spécifique a matlab ou tu as fais n'imp ???

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 79
    Points
    79
    Par défaut
    Merci ca fait trop longtemps que je n'ai pas coder en C, j'ai des gros trou de memoire.

    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
    // intialisation des variables 
    int R[30][5]=0;    
    int C[30][5]=0;
    int e=0;
    int Nb_ngh=5;
    int Nb=30;
    int Diff[30*30*5*5]=0;
    // remplissage de deux tables a deux dimensions
    for (int r1=0;r1<Nb_ngh;r1++)
       {
          for (int r2=0;r2<Nb;r2++)
             {
                R(r2,r1) = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
                C(r2,r1) = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
             }
          }
    // Calcul de difference entre chaque elements du tableau      
    for (int c=0 ;c<Nb;c++)
       {
          for (int r=0 ;r<;r++) 
             {
                for (int i=0 ;i<Nb_ngh;i++) 
                   {
                      for (int j=0 ;j<Nb_ngh;j++) 
                         {
                            Diff(e)=R(r,i)-C(c,j);
                         }
                   }
             }
       }
    Et maintenant Quelqu'un peu t'il me confirmer qu'il n'y a pas d'erreur (en le compilant par exemple)
    stdio.h est la seule bibliotheque necessaire a ce programme??

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 79
    Points
    79
    Par défaut
    j'ai fait n'imp comme tu dit je bloque fo que je retrouve des exemple de code C je me fais peur

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 79
    Points
    79
    Par défaut
    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
    // intialisation des variables 
    int R[30][5]=0;    
    int C[30][5]=0;
    int e=0;
    int Nb_ngh=5;
    int Nb=30;
    int Diff[30*30*5*5]=0;
    // remplissage de deux tables a deux dimensions
    for (int r1=0;r1<Nb_ngh;r1++)
       {
          for (int r2=0;r2<Nb;r2++)
             {
                R[r2][r1] = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
                C[r2][r1] = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
             }
          }
    // Calcul de difference entre chaque elements du tableau      
    for (int c=0 ;c<Nb;c++)
       {
          for (int r=0 ;r<;r++) 
             {
                for (int i=0 ;i<Nb_ngh;i++) 
                   {
                      for (int j=0 ;j<Nb_ngh;j++) 
                         {
                            Diff[e]=R[r][i]-C[c][j];
                         }
                   }
             }
       }
    et maintenant c bon?
    et pour les bibli ?

    Desoler pour ce post bizarre mais bon pas de compileur C sous la main et pas de droit admin pour installer qqch.

  7. #7
    Membre actif Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Points : 297
    Points
    297
    Par défaut
    le test n'est pas bon : r< ?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 79
    Points
    79
    Par défaut
    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
    // intialisation des variables 
    int R[30][5]=0;    
    int C[30][5]=0;
    int e=0;
    int Nb_ngh=5;
    int Nb=30;
    int Diff[30*30*5*5]=0;
    // remplissage de deux tables a deux dimensions
    for (int r1=0;r1<Nb_ngh;r1++)
       {
          for (int r2=0;r2<Nb;r2++)
             {
                R[r2][r1] = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
                C[r2][r1] = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
             }
          }
    // Calcul de difference entre chaque elements du tableau      
    for (int c=0 ;c<Nb;c++)
       {
          for (int r=0 ;r<Nb;r++) 
             {
                for (int i=0 ;i<Nb_ngh;i++) 
                   {
                      for (int j=0 ;j<Nb_ngh;j++) 
                         {
                            Diff[e]=R[r][i]-C[c][j];
                            e++;
                         }
                   }
             }
       }
    et maintenant c bon?
    et pour les bibli ?

    Desoler pour ce post bizarre mais bon pas de compileur C sous la main et pas de droit admin pour installer qqch.

  9. #9
    Membre actif Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Points : 297
    Points
    297
    Par défaut
    enleve les "=0" dans les declarations de tes tableaux

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 79
    Points
    79
    Par défaut
    merci et pour les bibliotheques j'ajoute:

    je suis meme pas sur d'en avoir besoin vu que je n'ai aucune entre/sortie.
    Qu'en pensez vous??

    Mise a jour du 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
    #include <stdio.h>
     
    // intialisation des variables 
    int R[30][5];    
    int C[30][5];
    int e=0;
    int Nb_ngh=5;
    int Nb=30;
    int Diff[30*30*5*5];
    // remplissage de deux tables a deux dimensions
    for (int r1=0;r1<Nb_ngh;r1++)
       {
          for (int r2=0;r2<Nb;r2++)
             {
                R[r2][r1] = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
                C[r2][r1] = 1 + (int) ((double) rand() * (200 - 1 + 1) / (200));
             }
          }
    // Calcul de difference entre chaque elements du tableau      
    for (int c=0 ;c<Nb;c++)
       {
          for (int r=0 ;r<Nb;r++) 
             {
                for (int i=0 ;i<Nb_ngh;i++) 
                   {
                      for (int j=0 ;j<Nb_ngh;j++) 
                         {
                            Diff[e]=R[r][i]-C[c][j];
                         }
                   }
             }
       }

  11. #11
    Membre actif Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Points : 297
    Points
    297
    Par défaut
    le rand est surement mal utilise : voir http://c.developpez.com/faq/c/?page=..._random_bornes
    stdio.h n'est pas utile par contre stdlib.h l'est pour le rand

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 79
    Points
    79
    Par défaut
    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
    #include <stdlib.h>
     
    // intialisation des variables 
    int R[30][5];    
    int C[30][5];
    int e=0;
    int Nb_ngh=5;
    int Nb=30;
    int Diff[30*30*5*5];
    // remplissage de deux tables a deux dimensions
    for (int r1=0;r1<Nb_ngh;r1++)
       {
          for (int r2=0;r2<Nb;r2++)
             {
                R[r2][r1] = rand() % (100+1);
                C[r2][r1] = rand() % (100+1);
    	 }
          }
    // Calcul de difference entre chaque elements du tableau      
    for (int c=0 ;c<Nb;c++)
       {
          for (int r=0 ;r<Nb;r++) 
             {
                for (int i=0 ;i<Nb_ngh;i++) 
                   {
                      for (int j=0 ;j<Nb_ngh;j++) 
                         {
                            Diff[e]=R[r][i]-C[c][j];
                         }
                   }
             }
       }

    Et maintenant ca compile?
    je m'en fous des nombre aleatoire, je veux juste qu'il compile.

  13. #13
    Membre actif Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Points : 297
    Points
    297
    Par défaut
    je dirai que oui mais tu ne rempli que la case 0 du tableau Diff depuis que tu as enleve le "e++;"

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 79
    Points
    79
    Par défaut
    Autant pour moi. je corrige ca de ce pas et te remercie pour ton aide.
    Bonne PM.
    Merci encore

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

Discussions similaires

  1. Compiler un petit programme avec plusieurs fichiers avec g++
    Par Ourcoulouncoulou dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 16/12/2008, 13h48
  2. Réponses: 8
    Dernier message: 04/03/2008, 23h30
  3. Petit programme. Erreurs de compilation!
    Par jbarreau-mainson dans le forum Débuter
    Réponses: 14
    Dernier message: 03/03/2008, 10h38
  4. Compiler et executer un petit programme sous windows
    Par nistelsof dans le forum Langage
    Réponses: 6
    Dernier message: 30/05/2007, 17h31

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