begin process at 2012 05 29 15:50:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

petits problèmes à la compilation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

petits problèmes à la compilation

vendredi 9 septembre 2005 à 05:41:00 | petits problèmes à la compilation

tomalille

Bonjour,
j'ai quelques petits problèmes à la compilation de mon programme.
Dans le main je veux construire un tableau en demandant sa taille.
Je veux ensuite trier son contenu en faisant appel à une fonction ayant comme paramètre ce tableau.

Le problème est qu'à la compilation Visual C++ me donne toutes ces erreurs:
C:\Disque D\Poly\algorithmique\tp1\main.c(15) : error C2143: syntax error : missing ';' before 'type'
C:\Disque D\Poly\algorithmique\tp1\main.c(22) : error C2065: 'tab' : undeclared identifier
C:\Disque D\Poly\algorithmique\tp1\main.c(22) : error C2109: subscript requires array or pointer type
C:\Disque D\Poly\algorithmique\tp1\main.c(22) : error C2106: '=' : left operand must be l-value
C:\Disque D\Poly\algorithmique\tp1\main.c(27) : error C2109: subscript requires array or pointer type
C:\Disque D\Poly\algorithmique\tp1\main.c(29) : warning C4047: 'function' : 'int *' differs in levels of indirection from 'int '
C:\Disque D\Poly\algorithmique\tp1\main.c(29) : warning C4024: 'bulle' : different types for formal and actual parameter 1
C:\Disque D\Poly\algorithmique\tp1\main.c(34) : warning C4028: formal parameter 1 different from declaration
C:\Disque D\Poly\algorithmique\tp1\main.c(44) : error C2109: subscript requires array or pointer type
C:\Disque D\Poly\algorithmique\tp1\main.c(44) : error C2109: subscript requires array or pointer type
C:\Disque D\Poly\algorithmique\tp1\main.c(47) : error C2109: subscript requires array or pointer type
C:\Disque D\Poly\algorithmique\tp1\main.c(48) : error C2109: subscript requires array or pointer type
C:\Disque D\Poly\algorithmique\tp1\main.c(48) : error C2109: subscript requires array or pointer type
C:\Disque D\Poly\algorithmique\tp1\main.c(48) : error C2106: '=' : left operand must be l-value
C:\Disque D\Poly\algorithmique\tp1\main.c(49) : error C2109: subscript requires array or pointer type
C:\Disque D\Poly\algorithmique\tp1\main.c(49) : error C2106: '=' : left operand must be l-value
C:\Disque D\Poly\algorithmique\tp1\main.c(58) : error C2109: subscript requires array or pointer type
Error executing cl.exe.

voici mon code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>


void bulle(int tab[],int max);

void main(void)
{
 int max;
 int i;
 printf("\n Entrer la longueur du tableau");
 scanf("%d",&max);
 int tab[max];


 printf("\n Entrer la longueur du tableau");
 scanf("%d",&max); 
 srand( (unsigned)time( NULL ));
    for( i = 0;i < max;i++ )
   tab[i]=rand();

  //Présentation du tableau
 printf("\n **** Tableau de depart **** \n");
 for(i=0;i<max;i++)
  printf("%d \n",tab[i]);
 
 bulle(tab,max);

}

void bulle(int tab,int max)
{
 int i;
 int ok;
 int temp;

 do
 {
  ok=1;
  for(i=1;i<max;i++)
   {
   if(tab[i-1]>tab[i])
    {
   ok=0;
   temp=tab[i-1];
   tab[i-1]=tab[i];
   tab[i]=temp;
   }
  }

 }while(!ok);

 //Résultat final
 printf("\n **** Tableau final **** \n");
 for(i=0;i<max;i++)
  printf("%d \n",tab[i]);
 printf("\n");
 
}

Merci pour votre aide, j'en ai bien besoin

vendredi 9 septembre 2005 à 09:09:54 | Re : petits problèmes à la compilation

louis14

Réponse acceptée !

bonjour,
voilà le code corrigé
il faut faire des allocations dynamiques des variables ou bien une constante avec une valeur élevée. de plus il faut déclarer les variables au début.
bonne programmation
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>


void bulle(int* tab,int max);

void main(void)
{
  int max =0;//initialisé les valeurs
  int i = 0;
  int* tab = NULL;
  printf("coucou\n");
  printf("\n Entrer la longueur du tableau");
  scanf("%d",&max);
  //int tab[max];//il faut allouer de la mémoire ou déclarer une connstate MAXIMUM
  tab = (int*)malloc(max*sizeof(int));
 //pourquoi 2fois?
  //printf("\n Entrer la longueur du tableau");
  //scanf("%d",&max);
  srand( (unsigned)time( NULL ));
  for( i = 0;i < max;i++ )
    tab[i]=rand();

   //Présentation du tableau
  printf("\n **** Tableau de depart **** \n");
  for(i=0;i<max;i++)
   printf("%d \n",tab[i]);
 
  bulle(tab,max);

    free(tab);
}

void bulle(int* tab,int max)
{
 int i =0;
 int ok = 1;
 int temp = 0;

 do
 {
  ok=1;
  for(i=1;i<max;i++)
   {
   if(tab[i-1]>tab[i])
    {
   ok=0;
   temp=tab[i-1];
   tab[i-1]=tab[i];
   tab[i]=temp;
   }
  }

 }while(!ok);

 //Résultat final
 printf("\n **** Tableau final **** \n");
 for(i=0;i<max;i++)
  printf("%d \n",tab[i]);
 printf("\n");
 
}

louis14

vendredi 9 septembre 2005 à 13:24:46 | Re : petits problèmes à la compilation

tomalille

merci beaucoup


Cette discussion est classée dans : disque, main, algorithmique, poly, tp1


Répondre à ce message

Sujets en rapport avec ce message

Variable int sur le disque... [ par nullspace ] Je cherche à enregistrer et lire sur le disque par ofstream et ifstream à partir de variables de type int.Seulement il m'écrit sous format texte.En vb comment on fait pourn trouver un fichier sur le disque un c++ [ par Wipet2k ] boujour J'aimerais savoir comment on fait pour trouverun ficher sur le disque dur en c++Merci d'avence :) Comment faire pour rechercher un fichier dans tout le disque dur ? [ par appstmd ] Salut !J'ai besoin de savoir comment on peut scanner le disque dur à la recherche d'un fichier déterminé. Quelqu'un connait-il une astuce ou un algori crypter un mot de passe et créer un répertoire [ par Vinsou ] salut,je cherchais une focntion qui permetrai de crypter un mot de passe sous linux pour pouvoir l'ajouter dans /etc/passw (dans un script bien sûr).O main form et form modal !!!!!!! [ par Kinamstrong ] Comment changer une propriete d'un item d'un menu dans une mainform a partir d'une form modale main form et form modal !!!!!!! [ par Kinamstrong ] Comment changer une propriete d'un item d'un menu dans une mainform a partir d'une form modale glisser déposer avec main toujours le même [ par golum ] voila mon extrait de code C#include void main(void){unsigned char caract;int i;FILE *fic; if ((fic=fopen("aaa.txt","wb"))==NULL){ printf("Impossible scanf() [ par clb ] bonjour à tous,j'ecris par exemple :int fonction(){ if(true) return 0; else return -1}dans main, si cette fonction retourne 0,alors j'appli [ C++ Builder] Loader un sous menu dans un main menu [ par ashram ] Bonjourje voudrais savoir si cela est possibled'ajouter un sous menudans un menu principalen C++ Builder( en fait ce que j'essaye de trouver c l'équiv D3D : Comment savoir si un poly a finalement ete utilise dans le rendu apres le Z buffer [ par Ostrogoth22 ] Voila, je voudrai rendre un ensemble de polygones, et pour chacun savoir si finalement une partie de ce polygone sera affichee meme un seul pixel(avec


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales