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:

Java : fonction insererDistinct(int[] t, int m, int nbr)


C.J.

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

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 !
Lien vers le commentaire
Partager sur d’autres sites

  • Tonton a modifié le titre en Java : fonction insererDistinct(int[] t, int m, int nbr)

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...