Language C Probleme sur les Tableaux
Fermé
dossier15
Messages postés
2
Date d'inscription
mardi 20 novembre 2007
Statut
Membre
Dernière intervention
31 août 2010
-
16 mars 2008 à 12:47
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 5 mai 2008 à 03:49
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 5 mai 2008 à 03:49
A voir également:
- Language C Probleme sur les Tableaux
- "Winamp language pack" ✓ - Forum Logiciels
- Tableaux croisés dynamiques - Guide
- Afficher un tableau en c - Forum C
- Impossible d'afficher le rapport de tableau croisé dynamique sur un rapport existant ✓ - Forum Excel
- The language dll vb6fr.dll could not be found - Forum Windows
1 réponse
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
130
17 mars 2008 à 23:35
17 mars 2008 à 23:35
Bonsoir,
Je te propose cette correction, dis-moi ce que tu en penses. Ca tourne chez moi en environnement C++, il se peut qu'il y ait une ou deux incompatibilités, je crois que tu développes dans un environnement C, à tout hasard j'ai laissé les principales instructions C++.
La mise en page c'est pas ça !.............
Je te propose cette correction, dis-moi ce que tu en penses. Ca tourne chez moi en environnement C++, il se peut qu'il y ait une ou deux incompatibilités, je crois que tu développes dans un environnement C, à tout hasard j'ai laissé les principales instructions C++.
//Rappel :
// L'expression *T signifie : acces a l'emplacement memoire dont
// T contient l'adresse.
// & : obtention de l'adresse d'un objet occupant un emplacement de la memoire.
//Ici il faut passer l'adresse de N (&N) car la fonction modifiesa valeur (N++).
//Valeur max. pouvant être contenue dans une variable de type int:
// 2147483647. Prévoir également un contrôle de numéricité.....
void ajout_tab(int (*T), int &N)
{
printf ( " T[%d]=", N ) ;
scanf ( "%d", &T [N] ) ;
N++ ;
}
//Ici ce n'est pas nécessaire de passer l'adresse de N.
void affich_tab (int (*T), int N)
{
int i = 0 ;
for ( i = 0; i < N; i++)
{
printf ( "T[%d] = %d\n", i, T [i] ) ;
}
}
// int (main) permet de gérer un code retour (return)
int main ()
{
int I = 0 ;
int N = 0 ;
clrscr () ;
int nb_elemts_T = 100 ;
//Valeur 5 pour tester
int nb_val_T = 5 ;
//Affectation des ressources mémoire au tableau.
int * T = NULL ;
T = (int*) malloc (nb_elemts_T * sizeof (int*)) ;
//Spécifique C++ (à tout hasard) remplacé ici par malloc
// int * T = NULL ;
// T = new int [nb_elemts_T] ;
//Fin spécifique C++
IF (T == NULL)
{printf ("nom_pgm: Probleme a la creation du tableau T") ;
return (1) ;}
N = 0 ;
for ( I = 0; I < nb_val_T; I++)
{
printf ("\n\nSaisissez l'element %i du tableau ", I + 1) ;
ajout_tab (T, N) ;
affich_tab (T, N) ;
}
//Libération des ressources mémoire affectées au tableau.
free (T) ;
//Spécifique C++ (à tout hasard) remplacé ici par free
// delete [] T ;
//Fin spécifique C++
IF (T == NULL)
{printf ("\nom_pgm: Probleme a la destruction du tableau T");
return (2) ;}
printf ("\n nom_pgm: tableau T entieremnt renseigne: "
"(%i elements).\n\n", nb_val_T) ;
printf ("\n Fin du traitement nom_du_pgm.\n\n" ) ;
getch () ;
return (0) ;
}
La mise en page c'est pas ça !.............
5 mai 2008 à 02:03
je voudrais te remercier pour votre attention
Desole pour le retard.
5 mai 2008 à 03:49
Merci pour le retour, ce n'est pas grave pour le retard,
5 mai 2008 à 03:49
Merci pour le retour, ce n'est pas grave pour le retard,
5 mai 2008 à 03:49
Merci pour le retour, ce n'est pas grave pour le retard,