begin process at 2012 05 27 21:04:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > TRANSFORMER UN ENTIER EN DEUX NOMBRES COMPOSÉ DES MEMES CHIFFRES ORDONNÉS PAR ORDRE CROISSANT ET DÉCROISSANT

TRANSFORMER UN ENTIER EN DEUX NOMBRES COMPOSÉ DES MEMES CHIFFRES ORDONNÉS PAR ORDRE CROISSANT ET DÉCROISSANT


 Information sur la source

Note :
Aucune note
Catégorie :Maths & Algorithmes Classé sous :classement, croissant, décroissant, nombre, math Niveau :Débutant Date de création :16/03/2010 Date de mise à jour :30/03/2010 10:40:40 Vu / téléchargé :2 560 / 47

Auteur : thebroyeur

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


 Description

Programme permettant de transformer un nombre en deux nombres composés des mêmes chiffres ordonnés de manière croissante et décroissante sans utiliser de tableaux.

Source

  • /* =============================================================================
  • OBJET : Programme permettant de transformer un nombre en deux nombres composés
  • des mêmes chiffres ordonnés de manière croissante et décroissante.
  • N'utilise pas les tableaux
  • --------------------------------------------------------------------------------
  • DATE DE CREATION : 10/03/2010
  • AUTEUR : Thebroyeur
  • --------------------------------------------------------------------------------
  • MODIFICATIONS ( n) date - auteur - description )
  • ============================================================================= */
  • #include <stdio.h>
  • /*=================================
  • FONCTION nombreCroissant
  • =================================*/
  • // retourne un entier contenant les memes chiffres que nombre dans l'ordre croissant
  • // Pour chaque chiffre de nombre, la fonction insère le chiffre dans nb_croissant de telle sorte que
  • // nb_croissant est ses chiffres triès par ordre croissant
  • /*===============================*/
  • void nombreCroissant(long nombre)
  • {
  • long nb_croissant=0;
  • long puis=1; /* utiliser pour gerer les puissance de 10*/
  • long reste=0;
  • long chiffre;
  • while (nombre!=0)
  • {chiffre=nombre%10;
  • puis=1;reste=0;
  • while ((nb_croissant!=0)&&(nb_croissant%10>chiffre))
  • /* nb_croissant contient les chiffres de nombre classé par ordre croissant. Ces chiffres sont ceux obtenus
  • par les %10*/
  • { reste+=puis*(nb_croissant%10);
  • puis*=10;
  • nb_croissant/=10;
  • }
  • /* reste contient les chiffres classé par ordre croissant de nb_croissant se situant entre la virgule et la place
  • final de chiffre dans nb_croissant*/
  • nb_croissant=(nb_croissant*10+chiffre)*puis+reste;
  • nombre/=10;
  • }
  • printf("Croissant : %ld \n",nb_croissant);
  • }
  • /*=================================
  • FONCTION nombreDecroissant
  • =================================*/
  • // retourne un entier contenant les memes chiffres que nombre dans l'ordre decroissant
  • // Pour chaque chiffre de nombre, la fonction insère le chiffre dans nb_decroissant de telle sorte que
  • // nb_decroissant est ses chiffres triès par ordre decroissant
  • /*===============================*/
  • void nombreDecroissant(long nombre)
  • /* retourne un entier contenant les memes chiffres que nombre dans l'ordre decroissant*/
  • {
  • long nb_decroissant=0;
  • long puisd=1;
  • long rested=0;
  • long chiffred;
  • while (nombre!=0)
  • {chiffred=nombre%10;
  • puisd=1;rested=0;
  • while ((nb_decroissant!=0)&&(nb_decroissant%10<chiffred))
  • /* nb_decroissant contient les chiffres de nombre classé par ordre decroissant. Ces chiffres sont ceux obtenus
  • par les %10*/
  • { rested+=puisd*(nb_decroissant%10);
  • puisd*=10;
  • nb_decroissant/=10;
  • }
  • /* reste contient les chiffres classé par ordre decroissant de nb_decroissant se situant entre la virgule et la place
  • final de chiffre dans nb_decroissant*/
  • nb_decroissant=(nb_decroissant*10+chiffred)*puisd+rested;
  • nombre/=10;
  • }
  • printf("Decroissant : %ld \n",nb_decroissant);
  • }
  • /*=================================
  • FONCTION main
  • =================================*/
  • /*===============================*/
  • int main()
  • {
  • long nombre;
  • printf("Entrez un nombre \n");
  • scanf("%ld",&nombre);
  • nombreCroissant(nombre);
  • nombreDecroissant(nombre);
  • return 1;
  • }
/* =============================================================================
  
   OBJET            : Programme permettant de transformer un nombre en deux nombres composés
                      des mêmes chiffres ordonnés de manière croissante et décroissante. 
                      N'utilise pas les tableaux
   --------------------------------------------------------------------------------
   DATE DE CREATION : 10/03/2010
   AUTEUR           : Thebroyeur
   --------------------------------------------------------------------------------
   MODIFICATIONS (   n) date - auteur - description )
   ============================================================================= */


#include <stdio.h>

/*=================================
     FONCTION nombreCroissant
=================================*/
// retourne un entier contenant les memes chiffres que nombre dans l'ordre croissant
// Pour chaque chiffre de nombre, la fonction insère le chiffre dans nb_croissant de telle sorte que
// nb_croissant est ses chiffres triès par ordre croissant
/*===============================*/

void nombreCroissant(long nombre)

{
 
  long nb_croissant=0;
  long puis=1;   /* utiliser pour gerer les puissance de 10*/
  long reste=0; 
  long chiffre;


  while (nombre!=0)
    {chiffre=nombre%10;
      puis=1;reste=0;
      while ((nb_croissant!=0)&&(nb_croissant%10>chiffre))
	/* nb_croissant contient les chiffres de nombre classé par ordre croissant. Ces chiffres sont ceux obtenus 
           par les %10*/
	{ reste+=puis*(nb_croissant%10);
	  puis*=10;
	  nb_croissant/=10;
	}
      /* reste contient les chiffres classé par ordre croissant de nb_croissant se situant entre la virgule et la place 
	 final de chiffre dans nb_croissant*/
      nb_croissant=(nb_croissant*10+chiffre)*puis+reste;
      nombre/=10;
    }

      
  
  printf("Croissant :  %ld \n",nb_croissant);  
  
}



/*=================================
     FONCTION nombreDecroissant
=================================*/
// retourne un entier contenant les memes chiffres que nombre dans l'ordre decroissant
// Pour chaque chiffre de nombre, la fonction insère le chiffre dans nb_decroissant de telle sorte que
// nb_decroissant est ses chiffres triès par ordre decroissant
/*===============================*/

 
void nombreDecroissant(long nombre)
/* retourne un entier contenant les memes chiffres que nombre dans l'ordre decroissant*/
{
 
  long nb_decroissant=0;
  long puisd=1;
  long rested=0;
  long chiffred;


  while (nombre!=0)
    {chiffred=nombre%10;
      puisd=1;rested=0;
      while ((nb_decroissant!=0)&&(nb_decroissant%10<chiffred))
	/* nb_decroissant contient les chiffres de nombre classé par ordre decroissant. Ces chiffres sont ceux obtenus 
           par les %10*/
	{ rested+=puisd*(nb_decroissant%10);
	  puisd*=10;
	  nb_decroissant/=10;
	}
      /* reste contient les chiffres classé par ordre decroissant de nb_decroissant se situant entre la virgule et la place 
	 final de chiffre dans nb_decroissant*/
      nb_decroissant=(nb_decroissant*10+chiffred)*puisd+rested;
      nombre/=10;
    }

      
  
  printf("Decroissant :  %ld \n",nb_decroissant);  
  
}


/*=================================
     FONCTION main
=================================*/
/*===============================*/


int main()
{
  long nombre;
  printf("Entrez un nombre \n");
  scanf("%ld",&nombre);
  nombreCroissant(nombre);
  nombreDecroissant(nombre);

  return 1;
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

30 mars 2010 10:40:40 :
Ajout d'une capture d'écran

 Sources du même auteur

Source avec une capture ALGORITHME DE MAURICE KRAITCHIK (1882&#65533;1957)
Source avec Zip Source avec une capture JEUX DU MORPION EN CONSOLE

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture TROUVER LES NOMBRES PREMIERS INFÉRIEURS À UNE LIMITE DONNÉE par angrevol
RESOLUTION D'UNE EQUATION DU SECOND DEGRÉ AVEC RACINES REEL... par maloum41
Source avec Zip Source avec une capture ALGORITHME DE TRI D'UN TABLEAU PAR ORDRE CROISSANT OU DÉCROI... par Thuzhen
CALCULER LE PRODUIT DE DEUX MATRICES DE TAILLE DIFFERENT par aymenet1
[C/C++] DÉTERMINER LES DIVISEURS D'UN NOMBRE AVEC DES INFORM... par soso62fr

Commentaires et avis

Commentaire de mickbad le 22/03/2010 09:21:46

salut,

marche pas pour tous les nombres dommage!
exemple : 10, 1023456789 (oulala le décroissant comme 96308520741)

voilà :)
Mick

Commentaire de thebroyeur le 22/03/2010 18:25:42

salut,

Regarde si tu a bien copié le code parce-que cela marche très bien chez moi

voilà :)

thebroyeur

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

code + C++ + nombre croissant + caractere entre les nombre 3+5+5 avec = et somme [ par pimash ] code + C++  + nombre croissant +  caractere entre les nombre 3+5+5 avec = et somme nombre du mot d'une chaine [ par mqsi ] bsr a tous,j'ai une chaine dynamique de ce type :  str = "aaa;bbb;ccc;ddd" , je cherche a calculer le nombre du mot de la chaine;et merci d'avance . ransformation d' une chaîne de caractère en le nombre en base 8 [ par badboy93120 ] salut a tous,voila j'ai un petit algo a faire si quelqu'un pouvait m'aider j'en serais reconnaissant...Ecr Comment faire pour qu'un string soit egal a un int? en c++ [ par ndubien ] Salut, Comment faire pour qu'un string soit egal a un int? (en c++)int nombre(1);Je veux que :string a soit egal a "mot1" + nombre + "mo ofstream, positionnement [ par Metrox ] Salut à tous,mon fichier se compose de la sorte:1 2 3 4 ... (nombre inconnu de chiffre)1' 2' 3' 4' ... (nombre inconnu de chiffre)1'' 2'' 3'' 4'' ... Nombre d'enfants dans un Tree ? [ par eddie5150 ] Salut, J'aimerai savoir comment récupérer le nombre d'enfants d'un noeud dans un tree control.En effet, il y a une fonction GetCount() qui permet de r Déplacer les contrôles dans une fenêtre. [ par Superweight ] Bonjour  à  tous, <fon dénombrement: nombre de boucle [ par Pierebean ] Bonjour à tous,Je suis nouveau sur ce forum j'espère que je respecter les rêgles(en fait je ne sais pas si je suis dans la bonne section).Voici mon pr listes chainées (création de n listes) [ par IH2MCBETA ] Bonjour , je désir créer un nombre n de liste chainées.Ma liste :CLayer current2;POSITION current2_pos;CList &lt;CLayer,CLayer&gt; list_lay EDITTEXT Comment faire pour qu'un EDITTEXT d'une seule ligne, contienne un nombre infini de caractères ? [ par ndubien ] Bonjour, Comment faire pour qu'un EDITTEXT d'une seule ligne, contienne un nombre infini de caractères ?en C API Win32Lorsque je metEDITTEXT IDE_SUJ


Nos sponsors


Sondage...

Comparez les prix

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,359 sec (4)

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