mercredi 11 décembre 2024

public static int firstOccurrence(string text, string searchPattern)

 en C#, On 'a deux paramètres de type string "s" et "x", Nous devrons retourner la l'indice de la première occurrence de x sur s. the "x" may include a signle wildcard character '*' which matches any one character. Implementation function public static int firstOccurrence(string text, string searchPattern)


using System;


class Program

{

    public static void Main(string[] args)

    {

        string text = "Bonjour tout le monde";

        string searchPattern = "t*ut";


        int index = firstOccurrence(text, searchPattern);

        Console.WriteLine($"L'indice de la première occurrence de \"{searchPattern}\" dans \"{text}\" est : {index}");

    }


    public static int firstOccurrence(string text, string searchPattern)

    {

        if (string.IsNullOrEmpty(text) || string.IsNullOrEmpty(searchPattern))

            return -1; // Entrée invalide.


        int textLength = text.Length;

        int patternLength = searchPattern.Length;


        if (patternLength > textLength)

            return -1; // Le motif ne peut pas être trouvé si sa longueur dépasse celle du texte.


        // Parcourir le texte avec une fenêtre de la taille du motif

        for (int i = 0; i <= textLength - patternLength; i++)

        {

            bool match = true;


            for (int j = 0; j < patternLength; j++)

            {

                // Vérifier la correspondance ou le caractère générique '*'

                if (searchPattern[j] != '*' && text[i + j] != searchPattern[j])

                {

                    match = false;

                    break;

                }

            }


            if (match)

                return i; // Retourner l'indice de la première correspondance.

        }


        return -1; // Aucune correspondance trouvée.

    }

}


Aucun commentaire:

Enregistrer un commentaire