Modifier une chaine de caractere ??

defcon -  
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je voudrais savoir comment je pourrai faire pour modofier les lettres de l'alphabet ( en language c ) en un mot "clé" je m'explique :

abcdefghijklmnopqrstuvwxyz
bonjourbonjourbonjourbonjo

Sachant que j'ai mis l'alphabet dans un tableau, est-ce que en choisissant n'importe quel mot à la place de bonjour, je peux de cette manère remplacer les lettres de l'alphabet ??

merci d'avance ^^
A voir également:

7 réponses

godLike Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   26
 
j'ai rien compri.
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
moi non plus
0
defcon
 
en fait j'ai l'alphabet dans un tableau et je veux coder l'alphabet en utilisant cette méthode :

abcdefghijklmnopqrstuvwxyz
bonjourbonjourbonjourbonjo


ce qui donnerait par exemple : informatique ->ouubjouonuo

c'est plus clair la ??
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
oui :)

alors un algo simple (mais peu efficace, mais c'est pas grave) serait :

on a une chaine, un alphabet, et un alphabet modifié
pour chaque caractère (indice i) de la chaine :
  chercher dans l'alphabet (à l'aide d'une boucle for par exemple) à quoi il correspond. Garder l'indice k de la lettre dans l'alphabet.
  remplacer chaine[i] par alphabetmodifié[k]
fin pour
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663 > Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention  
 
remarque : si tu veux qqchose d'efficace il faudrait jouer avec la valeur ascii des caractères de ta chaînes, mais il faudrait que tu vois ce que c'est
0
defcon
 
oui certe mais je le cherche en c ...
ce qui est moins évident ...
au fait ca marche ton programme ?
une idée pour le programme en c ?
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
essaye de coder cet algorithme toi-même, et on verra après ce qui ne joue pas je ne vais pas te faire tout le travail ;)
0
defcon
 
.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
defcon
 
mais en fait la vrai difficulté est de saisir le mot clé et de le modifié c-a-d de ne plus avoir bonjour mais "courage" ou "defcon" ce qui change radicalement le programme ... ainsi que la difficulté ...
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
Il faut créer l'alphabet modifié avant alors. Pour cela, tu fais ceci :

on a 2 tableaux : "l'aphabet de base" et "l'alphabet modifié"
une variable chaine "mot", une variable int "taille"

Demander un mot (comme courage ou bonjour) l'utilisateur, le stocker dans mot.
calculer sa taille (avec strlen() je crois)

Pour chaque indice i de 0 à 26
  alphabetmodifié[i] = mot[  QQCHOSE ]
fin pour
  


pour le QQCHOSE, il faut que ce truc passe en boucle sur chaque caractère de mot et revienne à zéro quand i fait la taille du mot.

on utilise pour cela les modulos (qui donnent le reste de la division)

le QQCHOSE est i % taille
0
defcon
 
pffiou ca me fais mal à la tête tout ca ... bon pour l'instant j'en suis là mais c pas fini :

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int taille,l;
char alpha[]={"abcd...z"},mot[50],alphabetmodifie[];
char mot[]
int main() {

printf("\nDonner le mot clé :\n");
scanf("%s",mot);
l=strlen(mot);
for (i=0;i<=26;i++)
{
for(j=0;j<=l;j++)
{

alphabetmodifie [i]=mot[j];

}
}

system ("PAUSE");
return 0;
}

oui pour le modulo mais je ne sait pas ou le mettre ??
0
defcon
 
oulala dsl ya plein de faute je le remet :
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
En fait, pour avoir moins mal la tête ;), il faut bien décomposer ton programme. D'ailleurs, une grosse partie d'un travail de programmeur est d'abord de concevoir son programme en gros.


1) tu fais un morceau de code qui fonctionne déjà avec ton exemple (bonjourbonjour...)

2) Ensuite tu rajouteras un morceau de code avant ça qui va créer un alphabet modifié comme bonjourbonjour ou un autre, mais ça ce sera une fois que ton exemple avec bonjourbonjour... fonctionne


C'est à dire : au départ ton tableau "alphabetmodifié" est fixé dès le début, et tu programmes de sorte que ce que tu veux faire fonctionne.

Ensuite tu conçois quelquechose qui permettra à l'utilisateur de donner son propre "alphabet modifié" à l'aide d'un mot et le programme se chargera d'en faire un alphabet modifié en le répétant comme il faut.


Ce sont deux choses bien séparées, et le truc du modulo ce sera seulement pour créer l'alphabet modifié.


Et la prochaine étape sera de séparer ça en deux fonctions distinctes, pour que ce soit plus propre. En fait en théorie il faudrait le faire dès le début cette séparation en deux fonctions. Mais je ne connais pas ton niveau, je ne sais pas si tu as bien compris ce que sont les fonctions. Après cela je te montrerai volontier comment séparer ça en deux fonctions et tu verras à quel point ce sera plus clair et agréable à comprendre et à lire ;)
0