none
emploi de split RRS feed

Réponses

  • Ce code marche.
        /*----------------------------------------------------------------------------*/
        /*Name          CheckListParagraph                                            */
        /*Role          etablit la continuité d'une chaine listPargraph               */
        /*Interface                                                                   */
        /*In            la liste comprenant des nombres                              */
        /*In/Out        None                                                          */
        /*Result        None                                                          */
        /*----------------------------------------------------------------------------*/
        
        bool assertCoherence::CheckListParagraph( System::String^ ListeParagraph)
        {
            int min = 99999;
            int max = 0;
            int i;
            int iLen;
            int j;
            int val;
            int itemp;
            bool b0;
            bool b1;
            bool bIsContigue = false;
            array<System::String^,1>^ wsNombre;
            System::String^ wsNbre;
            std::wstring wsTemp;
            // si il y a une continuité dans la chaine on renvoie true;
            i = 0;
            wchar_t delimiter = ' ';
            wsNombre = ListeParagraph->Split( (wchar_t)delimiter);
            iLen = wsNombre.Length;
            j = 0;
            while( j < iLen)
            {
                b0 = wsNombre[j] != L"0";
                b1 = wsNombre[j] != L"";
                if( b0 || b1)
                {
                    wsTemp = L"";
                    wsNbre = wsNombre[j];
                    const wchar_t* chars = (const wchar_t*)(Marshal::StringToHGlobalUni( wsNbre)).ToPointer();
                    wsTemp.append( chars);
                    Marshal::FreeHGlobal(IntPtr((void*)chars));
                    itemp = _wtoi( (wchar_t*) wsTemp.c_str());
                    val = itemp;
                    if( val > 0)
                    {
                        if( val < min)
                            min = val;
                        if( val > max)
                            max = val;
                        if(  i == val)
                        {
                            bIsContigue = true;
                        }
                        i++;
                    }
                }
                j++;
             }
            return( bIsContigue);
        }


    Jean Noël Martin



    • Marqué comme réponse JeanNoel53 mercredi 17 décembre 2014 13:24
    • Modifié JeanNoel53 mercredi 17 décembre 2014 14:31
    mercredi 17 décembre 2014 13:23

Toutes les réponses

  • Bonjour,

    Pour bien utiliser les chaines des caractères, suivez ces lien, car votre code n'est pas bien écrit en c++ :

    http://fr.wikibooks.org/wiki/Programmation_C%2B%2B/La_librairie_standard

    http://www.commentcamarche.net/contents/193-les-chaines-de-caracteres-en-c

    http://cpp.developpez.com/cours/cpp/?page=page_17

    mercredi 17 décembre 2014 08:34
  • toutes vos références utilisent le standard C++. Je suis sur un cas managé

    Jean Noël Martin

    mercredi 17 décembre 2014 09:40
  • OK,

    Voir ces liens ça peut vous aider :

    http://msdn.microsoft.com/en-us/library/ms177218.aspx

    http://www.codeproject.com/Articles/11634/Managed-C-Learn-by-Example-Part

    http://www.functionx.com/cppcli/builtinclasses/Lesson20.htm

    http://www.functionx.com/cppcli/functions/Lesson03c.htm

    mercredi 17 décembre 2014 10:22
  • Ce code marche.
        /*----------------------------------------------------------------------------*/
        /*Name          CheckListParagraph                                            */
        /*Role          etablit la continuité d'une chaine listPargraph               */
        /*Interface                                                                   */
        /*In            la liste comprenant des nombres                              */
        /*In/Out        None                                                          */
        /*Result        None                                                          */
        /*----------------------------------------------------------------------------*/
        
        bool assertCoherence::CheckListParagraph( System::String^ ListeParagraph)
        {
            int min = 99999;
            int max = 0;
            int i;
            int iLen;
            int j;
            int val;
            int itemp;
            bool b0;
            bool b1;
            bool bIsContigue = false;
            array<System::String^,1>^ wsNombre;
            System::String^ wsNbre;
            std::wstring wsTemp;
            // si il y a une continuité dans la chaine on renvoie true;
            i = 0;
            wchar_t delimiter = ' ';
            wsNombre = ListeParagraph->Split( (wchar_t)delimiter);
            iLen = wsNombre.Length;
            j = 0;
            while( j < iLen)
            {
                b0 = wsNombre[j] != L"0";
                b1 = wsNombre[j] != L"";
                if( b0 || b1)
                {
                    wsTemp = L"";
                    wsNbre = wsNombre[j];
                    const wchar_t* chars = (const wchar_t*)(Marshal::StringToHGlobalUni( wsNbre)).ToPointer();
                    wsTemp.append( chars);
                    Marshal::FreeHGlobal(IntPtr((void*)chars));
                    itemp = _wtoi( (wchar_t*) wsTemp.c_str());
                    val = itemp;
                    if( val > 0)
                    {
                        if( val < min)
                            min = val;
                        if( val > max)
                            max = val;
                        if(  i == val)
                        {
                            bIsContigue = true;
                        }
                        i++;
                    }
                }
                j++;
             }
            return( bIsContigue);
        }


    Jean Noël Martin



    • Marqué comme réponse JeanNoel53 mercredi 17 décembre 2014 13:24
    • Modifié JeanNoel53 mercredi 17 décembre 2014 14:31
    mercredi 17 décembre 2014 13:23