TABLEAU AVEC ALLOCATION DYNAMIQUE

Signaler
Messages postés
64
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
7 mars 2003
-
Messages postés
368
Date d'inscription
jeudi 13 mars 2003
Statut
Membre
Dernière intervention
27 janvier 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10493-tableau-avec-allocation-dynamique

Messages postés
368
Date d'inscription
jeudi 13 mars 2003
Statut
Membre
Dernière intervention
27 janvier 2010

merci tout le monde ça ma permis de comprendre un peu tout ça !
Messages postés
368
Date d'inscription
jeudi 13 mars 2003
Statut
Membre
Dernière intervention
27 janvier 2010

merci tout le monde ça ma permis de comprendre un peu tout ça !
Messages postés
8
Date d'inscription
lundi 13 mai 2002
Statut
Membre
Dernière intervention
8 juin 2005

en ce qui concerne les noms de variables e et
>cin>>*(adr+i);
> cout<<"tab["<<j<<"]="<<*(adre+j)<<", ";

c est une consigne qu on m a donné!!!


merci pour le reste!!
Messages postés
64
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
7 mars 2003

>#include

Déprécié, préferer :

# include
using namespace std;

>void saisie(int,int *);
>void affich(int,int *);

Préférer spécifier le nom des variables pour plus de lisibilité.

> palloc=new int[taille];
> if(palloc==NULL)
> cout<<"
*****Problème d'allocation!!!******

";

La logique est bonne, mais le problème est que new ne retourne pas 0 si l'allocation a échoué, il lance une exception. La façon de le forcer à retourner 0 est de spécifier (nothrow) :

palloc = new (nothrow) int[taille];

Ou tout simplement d'attraper l'exception :

try
{
palloc = new int[taille];
}catch (...)
{
cout << "l'allocation a échoué";
}


> cin>>*(adr+i);
> cout<<"tab["<<j<<"]="<<*(adre+j)<<",
";

Cette syntaxe est à éviter, préférer

cin >> adr[i];
cout<< adre[j];

qui sont beaucoup plus lisibles et sécuritaires.

Finalement, on dirait que tu ne veux pas nommer tes arguments du même nom. Sache que c'est légal :

int f(int mavariable);
int g(int mavariable);
int h(int mavariable);

Les arguments de fonctions différentes peuvent avoir le même nom. Je te recommande ces noms :

void saisie(int taille,int *adresse);

À part ça, tout est bien!

Jonathan
Afficher les 7 commentaires