Inscription / Connexion Nouveau Sujet
Niveau école ingénieur
Partager :

Supprimer doublons d'une variable en C

Posté par
Seenaghost
24-10-18 à 15:03

Bonjour tout le monde alors voila, on m'a demandé il y a peu de temps de créer un programme en C qui permettrais de récupérer la saisie numérique d'un utilisateur et de l'afficher, sans afficher les doublons ex: je tape 12234 et cela m'afficherais 1234. 1125=125 ou 1236544= 123654 etc.. Les tableaux ne sont pas autorisés. J'ai pensé à une boucle qui permettrais de parcourir ma variable en divisant par 10 ou 100 etc mais je n'arrive pas a trouver comment lui dire ba "Si tu trouve deux chiffre pareil tu divise par.." Pourriez m'aiguiller du mieux que vous pouvez je débute dans le code. Merci à tous

Posté par
carpediem
re : Supprimer doublons d'une variable en C 24-10-18 à 17:58

salut

n = ton nombre
m = E(ln n) est le nombre de chiffre de n
p = 0
pour i = m to 1
   a = E(n/10^i)
   n = n - 10^i a
   b = E(n/10^(i - 1))
   p = p + 10^i a
   si b <> a
            p = p + 10^(i - 1)b
            i = i + 1

Posté par
Razes
re : Supprimer doublons d'une variable en C 24-10-18 à 23:31

Bonsoir,

carpediem @ 24-10-2018 à 17:58

salut

[code]n = ton nombre
m = E(ln n) est le nombre de chiffre de n
C'est plutôt m = {\rm E}(\log n)+1 Logarithme décimal.

Posté par
carpediem
re : Supprimer doublons d'une variable en C 25-10-18 à 09:42

oui effectivement ...

Posté par
flight
re : Supprimer doublons d'une variable en C 25-10-18 à 10:49

salut

une proposition sur excel :

Citation :
Sub retour_sans_doublons()
nombre = InputBox("saisis ton nombre:")
z = ""
  For i = 1 To Len(nombre)
   If InStr(z, Mid(nombre, i, 1)) = 0 Then
     z = z & Mid(nombre, i, 1)
   End If
  Next
  MsgBox z

End Sub

Posté par
flight
re : Supprimer doublons d'une variable en C 25-10-18 à 10:53

Sub retour_sans_doublons()
nombre = InputBox("saisi ton nombre:") 'saisi de l'entier avec doublons
z = ""   'variable qui prend les nombre  de la saisie une et une seule fois
  For i = 1 To Len(nombre)  'parcours chaque entier de la saisie
   If InStr(z, Mid(nombre, i, 1)) = 0 Then  ' vois si l'entier scanné existe dans z
     z = z & Mid(nombre, i, 1) 'si il ne s'y trouve pas il est placé dans z
   End If
  Next
  MsgBox z  ' retourne la saisie sans doublons

End Sub

Posté par
carpediem
re : Supprimer doublons d'une variable en C 25-10-18 à 11:37

saisir le nombre comme variable alphanumérique permet de travailler plus efficacement et plus simplement ...



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !