Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

C.J.

question stupide en java

Messages recommandés

Bonjour,

 

j'ai un petit programme a faire en java.en fait c'est l'implementation d'une librairie qui manipule des tableau a 1 dimension.

je n'ai pas eu trop de problemes dans l'implementation de mes fonctions mais...je coice sur une betise.

en fait, je dois faire une fonction appelee : insererDistinct(int[] t, int m, int nbr)

 

j'ai deja commence un peu mais il y a quelque chose qui ne va pas. est ce que quelqu'un pourrait m'aider un peu s'il vous plait ?

/**
 * insertion d'un nombre dans le tableau contenant des elements tries disctincts en ordre croissant.
 * si le nombre existe deja, il n'est pas insere
 * @param t le tableau dans lequel on veut inserer un element
 * @param m la taille logique du tableau
 * @param nbr la valeur a inserer dans le tableau
 * @return la nouvelle taille logique du tableau
 */

public static int insererDistinct(int[] t, int m, int nbr){

	int longueur = m;

	if(longueur >= TAILLE){  //si le nombre d'elements est egal ou superieur a la longeur du tableau
						//le programme sort de la fonction
		System.exit(0);
	} 

	for(int i = 0; i < longueur; i++){  //verifie si le nombre est deja present dans le tableau
		if(nbr != t[i]){		   //s'il s'y trouve, le programme sort de la fonction
			inserer(t,longueur,nbr);

		} 
		else{
			System.exit(0);
		}
	} 

	return longueur; 
}

et la fonction inserer(int[] t, int m, int nbr) :

/**
 * insertion du nombre specifie dans le tableau.
 * @param t le tableau dans lequel on veut inserer un element
 * @param m la taille logique du tableau (nbr d'elements)
 * @param nbr la valeur a inserer
 * @return la nouvelle taille logique du tableau
 */
public static int inserer(int[] t, int m, int nbr){  //m represente le nombre d'elements deja
													 //presents dans le tableau

	int longueur = m + 1; //augmente le taille du tableau d'une unite'
	int i = longueur - 2; //indice de debut d'ajout'

	if(longueur <= TAILLE){
		//recherche de la position d'insertion'
		while((i >= 0) && (nbr < t[i])){
			t[i+1] = t[i];
			i -= 1;
		}

		//insertion de nbr
		t[i+1] = nbr;

	}
	return longueur;
}//end inserer

normalement je ne dois pas appeler ma fonction insere dans insererDistinct mais je dois l'utiliser comme modele pour faire la fonction insererDistinct.

 

je sais...c'est bete! mais...voila ! java script:emoticon(':P', 'smid_1') java script:emoticon(':P', 'smid_5')

:P

:P

 

Merci d'avance

Partager ce message


Lien à poster
Partager sur d’autres sites

J'espère que depuis le temps tu as trouvé où se situait le problème, mais juste au cas où....

//le programme sort de la fonction

System.exit(0);

"sort de la fonction" ça se fait avec un return. System.exit() c'est pour terminer le processus et retourner un code d'erreur au processus parent (généralement un shell). Là, si la condition n'est pas remplie, ton programme s'arrête net !

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×