begin process at 2008 08 28 09:51:34
1 232 958 membres
76 nouveaux aujourd'hui
14 291 membres club

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 : chaine de caractere [ Algorithme / Maths ] (krim43)

chaine de caractere le 30/06/2008 16:09:53

krim43
bonjour,
voila mon probleme:
créer une fonction strbrk qui retire de str1 les caracteres contenus dans str2 et retourne le resultat.

voila le code que j'ai fait, mais le problem c'est qu'il me retourne les caracteres qui sont seulement a la meme place.

static void Main(string[] args)
        {
            Console.WriteLine("entrez un premier mot");
            string str1 = Console.ReadLine();
            Console.WriteLine("entez un deuxieme mot");
            string str2 = Console.ReadLine();
            string str3 = "";
            strpbrk(str1,str2,str3);

        }
        private static void strpbrk(string str1,string str2,string str3)
        {
            int i = 0;
            int j = 0;
           
           
            if (str1.Substring(j, 1) == str2.Substring(i, 1))
            {
                Console.WriteLine(str1[j]);
                i++;
                j++;
            }
            Console.ReadLine();

si qu'elqu'un peut m'aider je le remercie d'avance.

Re : chaine de caractere le 30/06/2008 16:27:30

Liverion
Essaie avec str1.Contains(str2[i])

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!

Re : chaine de caractere le 30/06/2008 16:29:27

krim43

excuse moi mais je suis debutant.

peut tu expliquer plus precisément.


Re : chaine de caractere le 30/06/2008 16:34:05

Liverion
Tu as une fonction qui existe en C# qui s'applique sur les string (ou les String, a verifier ... ) qui est la fonction Contains qui te renvoie vrai si le caractère en paramètre est contenu dans ta chaîne appelante.
http://msdn.microsoft.com/fr-fr/library/dy85x1sa(VS.80).aspx

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!

Re : chaine de caractere le 30/06/2008 16:35:55

krim43

je vai essayé. je te remercie.

je vous dirai si ca fonctionne ou pas.


Re : chaine de caractere le 30/06/2008 16:44:42

leprov

plus simplement, tu as la méthodes "IndexOfAny" (ou LastIndexOfAny) qui te donne l'indice ou trouver l'ensemble des occurences de ton "str2", et string.Remove, pour retirer X caractères de ta string.
Pour exemple :

string str1 = "totatita";
string str2 = "ta";
string str3

int[] ind = str1.LastIndexOfAny("ta");
foreach(int i in ind)
{
str3 = str1.Remove(i, 2);
}

//ici str3 devrait valoir toti

Re : chaine de caractere le 30/06/2008 16:47:09

krim43
merci, pour tout votreaide et pour tout le temp que vous m'avez accordé.
je vous tiens au courant de l'evolution des choses.
Et merci encore.

Re : chaine de caractere le 01/07/2008 08:49:32

krim43
la solution que m' a donné le prov ne fonctionne pas a moins que se soit moi qui est mal utilisé la fonction, ce qui est surement le cas donc je vous affiche ce que j'ai fait:

private static void strpbrk(string str1,string str2,string str3)
        {
            int[] ind = str1.IndexOfAny(str2);
            foreach (int i in ind)
            {
                str3 = str1.Remove(i, 2);
            }
            Console.ReadLine();
         }

2 erreurs me sont retournés:
- impossible de convertir string en char[]
- la méthode surchargé correspondant le mieux a 'string.IndexOfAny(char[])'possède des arguments non valides.

merci encore.

Re : chaine de caractere le 01/07/2008 09:01:01

SharpMao
Membre Club
Réponse acceptée !
Hello,

Perso, je le ferais comme ça :

privatestaticstring strpbrk(string str1, string str2)
{
   string
result = str1;
   foreach (char c in
str2)
   {
      result = result.Replace(c.ToString(),
""
);
   }
   Console
.ReadLine(); 
   return
result;
}


Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)

Re : chaine de caractere le 01/07/2008 09:01:55

SharpMao
Membre Club
Petit problème d'espaces, il faut lire

private static string

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)


[Page 1 Page 2]
Classé sous : string, console, str1, writeline, str2

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS