Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Conversion octal à décimal, je ne sais pas comment écrire l'algorithme.... [ Archives / Maths & Algorithmes ] (Acidkepler)

dimanche 26 février 2006 à 20:58:14 | Conversion octal à décimal, je ne sais pas comment écrire l'algorithme....

Acidkepler

Ceci est le code en c# pour convertir la valeur octal en décimal...

int
Decimal, Longueur1, carInt;

string Longueur;

Longueur = txtValeur.Text;

Longueur1 = Longueur.Length;

int i = 1;

string car;

Decimal = 0;

for(i=1 ; i <= Longueur1 ; i++)

{

car = Longueur.Substring(Longueur1 - i,1);

carInt = Convert.ToInt16(car);

Decimal= Decimal+ (int)(carInt*Math.Pow(8,i-1));

}

J'aimerais écrire l'algorithme de ceci... je ne sais pas trop comment...


dimanche 26 février 2006 à 22:35:33 | Re : Conversion octal à décimal, je ne sais pas comment écrire l'algorithme....

Charles Racaud

Membre Club
Salut,

Qu'entend tu par algorithme de ton code ?
Une fonction simplifier peut-être ?
Ceci ? :

private long OctToDec(long nOct)
{
 
long nDec = 0;
 
for (int i = 0; i < (nOct.ToString()).Length; i++)
  {
   
int n = Convert.ToInt32((nOct.ToString()).Substring(i, 1));
    nDec += (n * (
int)System.Math.Pow(8, (nOct.ToString()).Length - i - 1));
  }
 
return nDec;
}

Kenji

Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.

dimanche 26 février 2006 à 22:41:21 | Re : Conversion octal à décimal, je ne sais pas comment écrire l'algorithme....

Acidkepler

Exemple :

for(j=0; j<Longueur1; j++)

{

if (Longueur[j] == '8' || Longueur[j] == '9')

{

Valeur = false;

}

}

 cela donnera ceci en algo:

Pour j = 0; j< Longueur1;  j++
   
   Si Longueur[j] = '8' Ou Longueur[j] ='9'

         Valeur = Faux

Donc je veux savoir comment faire ce que j'ai fais plus haut en algo comme dans mon exemple, sans utilisé de fonction math, etc.
à la main quoi!

Merci à l'avance


lundi 27 février 2006 à 07:11:54 | Re : Conversion octal à décimal, je ne sais pas comment écrire l'algorithme....

Lutinore

Administrateur CodeS-SourceS

Salut, même si tu veux réécrire entièrement l'algo, c'est inutile de remplacer la fonction Pow, elle fait partie du langage, d'ailleurs dans certains langages c'est un opérateur.

Mais bon si vraiment tu veux la réécrire :

// Avec des entiers.
long Pow( long val, long pow )
{
    long res = val;

    while( --pow > 0 )
    {
        res *= val;
    }

    return res;
}

Et tu peux remplacer ça :

car = Longueur.Substring(Longueur1 - i,1);
carInt = Convert.ToInt16(car);

par :

int carInt = ( int )Longueur[ Longueur1 - i ] - 48; // Si Longueur contient des chiffres.


lundi 27 février 2006 à 09:58:33 | Re : Conversion octal à décimal, je ne sais pas comment écrire l'algorithme....

MorpionMx

Membre Club Administrateur CodeS-SourceS

Salut,

En reprenant la fonction Pow de Lutinore, ca doit donner quelque chose comme ca


Fonction OctalVersDecimal (textValeur : chaine) : reel

Var Decimal, Longueur1, carInt, i : reel
Var Longueur, car : chaine

Debut
 Longueur := chaine
 Longueur1 := chaine.Length // Pas sur pour la notation algo
 Decimal := 0
 
 Pour i = 1 a Longueur1
  car := Longueur[i - 1] // Pas sur pour la notation algo
  CarInt := RetourneEntier(car) // Faire une fonction RetourneEntier
  Decimal := Decimal + carInt * Pow(8, i-1)
 Fin Pour
 valret := Decimal
Fin


Fonction Pow (val : reel, pow : reel) : reel
var res : reel

Debut
 res := val
 tant que pow > 0
  res := res * val
  pow := pow - 1
 fin tant que
 valret := res
Fin



Cependant, tout est relatif. Tu n'utilises peut etre pas la meme syntaxe, et il y a des choses qu'il faudra que tu vérifies. Par exemple :
   Longueur1 := chaine.Lenghth
Pas sur qu'en notation algo, on puisse aller chercher les propriétés d'une chaine...

Enfin bon, voila, tu as un début, a toi de terminer ca a ta facon

Mx
MVP C#
 




Cette discussion est classé dans : écrire, decimal, décimal, longueur, octal


Répondre à ce message

Sujets en rapport avec ce message

Pb de synthaxe (guillemets) [ par Franckyom50 ] Fr@nckyx Salut à tous ! Voilà, g un petit pb de synthaxe, comment je peux faire pour écrire le caractères \ entre guillemets (en faisant "\", ça m Problème decimal dans bd [ par wynxo ] Voila mon problème est le suivant:Je veux recuperer du texte d'un text box de maniere a faire un update dans une bd avec cette valeur.Seulement la tex Environnement 3D et proportions [ par Trollien ] Bonjour,j'essai de créer un moteur 3D en C# avec DirectX 9.0b.J'ai donc créer une classe pour les parallèpipèdes, cette classe construit les triangles [Appli Windows][c#] problème de longueur de chaine avec StreamReader [ par Julos59 ] Voila j'ai un fichier txt, chaque ligne fait 266 Charactères, j'ai ouvert le fichier avec ultraEdit pour vérifier.Quand je l'ouvre en utilisant Stream Cryptage de string en C# ?????????????? [ par shinkan ] Bonjour,Je suis débutant en C#, j'aimerais crypter et décrypter des chaines de caracteres avant de les écrire ou lire.Je ne cherche pas à crypter des Lire et écrire avec Seek [ par moihenry ] Bj,Voila j'aimerais écrire dans un fichier(string) avec Seek, donc de pouvoir écrire du texte dans un fichier a un endroit spécial et puis de savoir l Longueur d'un fichier Média [ par bucherb ] Hello!!Est-ce que qqun connait une combine pour lire la durée d'un ficher média (lire la propriété "Duration") sans devoir l'ouvrir avec un quelconque Comment écrire dans un répertoire protégé par login et mot de passe [ par mohamed_bn ] med belhassenje suis en train de développer une application , dans laquelle je voudrais écrire dans un répertoire protégé par un login et mot de passe Decimal.Compare [ par bip98 ] M.MorpionMx M'a parlé de la méthode Decimal.Compare, j'en aurai besoin ! car il faudrait que je teste juste des décimals, faudrait qui me dise si elle convertion C -> C# [ par LordBob ] Bonjour a tous, voila je cherche à convertire une fonction que j'ai codé en C en C#... voila la fonction C:         static private int MSNBruteForce(


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,686 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.