Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 21

Тема: Удаление пробелов из текста

  1. #1
    Пользователь Аватар для MellikJKE
    Регистрация
    02.10.2011
    Сообщений
    66
    Репутация: 11

    Звание: на пути к лучшему

    Удаление пробелов из текста

    Привет всем!
    Решил выложить на всеобщее обозрение свою функцию, которая позволит удалять из текста пробелы.

    Например имеется следующий текст.

    Цитата Сообщение от Входные данные:
    312312312 i i 10231 2303 vsfsfsdfk l fk
    Цитата Сообщение от Выходные данные:
    312312312ii102312303vsfsfsdfklfk
    PHP код:
    stock RemoveSpaces_MellikJKE(String[])
    {
        new 
    i;
        static 
    ii;
        for(
    ii 0String[ii] != '\0'ii++)
        {
            switch(
    String[ii])
            {
                case 
    ' ': continue;
                default: 
    String[i++] = String[ii];
            }
        }
        
    String[i] = '\0';

    Пример использования:

    PHP код:
    new str[] = "любая строка для теста";
    printf("Результат: '%s'"RemoveSpaces_MellikJKE(str)); 
    В тестах функция немного опережает вариант от Daniel_Cortez. (Итерация: 200x200)


    С использованием плагина Jit - опережает все разработки:

    Последний раз редактировалось MellikJKE; 22.11.2015 в 16:11.

  2. #2
    Пользователь Аватар для #Denwer (Archibalt)
    Регистрация
    22.11.2015
    Сообщений
    7
    Репутация: 11

    Звание: на пути к лучшему
    Это не твоя функция.
    Это основа функции на C / C++, ты всего лишь предоставил ее на языке PAWN.

  3. #3
    Пользователь Аватар для MellikJKE
    Регистрация
    02.10.2011
    Сообщений
    66
    Репутация: 11

    Звание: на пути к лучшему
    Цитата Сообщение от #Denwer (Archibalt) Посмотреть сообщение
    Это не твоя функция.
    Это основа функции на C / C++, ты всего лишь предоставил ее на языке PAWN.
    Пруфы... Иначе это пустые слова...

  4. #4
    unknown2154
    Бродяга
    Суть в том, что это скорее моя функция или функция Daniel_Cortez, ибо мы-то написали с 0 и раньше тебя, у обоих вариантов были небольшие различия. Ты же опубликовал почти точно такой же мой вариант. И да. Где сурсы теста? С твоим первым вариантом (который тоже был опубликовал после моего) у "твоей" новой функции ничего общего нет. Твоя функция, должен напомнить, могла проигрывать до 11 секунд (у топовых вариантов менее одной).

    Последний раз редактировалось unknown2154; 26.11.2015 в 21:27.

  5. #5
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек
    Цитата Сообщение от MellikJKE Посмотреть сообщение
    Пруфы... Иначе это пустые слова...
    Вот мой пруф.

  6. #6
    Пользователь
    Регистрация
    22.11.2015
    Сообщений
    4
    Репутация: 14

    Звание: на пути к лучшему
    PHP код:
    stock RemoveSpaces_Dychuk(string[]) 

        new 
    newtext[128], b;
        for(new 
    0<= strlen(string); i++)
        {
            if(
    string[i] != ' ')
            {
                
    newtext[b] = string[i];
                
    b++;
            }
        }
        return 
    newtext;

    Мой вариант удаления пробелов. Сравните с вашими функциями. Я конечно сомневаюсь что она самая быстрая, но выполнена просто и понятно))

  7. #7
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек
    Цитата Сообщение от Dychuk Посмотреть сообщение
    PHP код:
    stock RemoveSpaces_Dychuk(string[]) 

        new 
    newtext[128], b;
        for(new 
    0<= strlen(string); i++)
        {
            if(
    string[i] != ' ')
            {
                
    newtext[b] = string[i];
                
    b++;
            }
        }
        return 
    newtext;

    Мой вариант удаления пробелов. Сравните с вашими функциями. Я конечно сомневаюсь что она самая быстрая, но выполнена просто и понятно))

    Пардон, результат выше неверен.

    Вот правильный:


  8. #8
    Пользователь
    Регистрация
    22.11.2015
    Сообщений
    4
    Репутация: 14

    Звание: на пути к лучшему
    Цитата Сообщение от Fallen A. Посмотреть сообщение
    WTF? Вроде бы удаляет пробелы моя функция... Можно код проверки?

  9. #9
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек
    Цитата Сообщение от Dychuk Посмотреть сообщение
    WTF? Вроде бы удаляет пробелы моя функция... Можно код проверки?
    Код закрыт. Сожалею. Все данные можно найти выше.

  10. #10
    Почетный пользователь LC Аватар для ziggi
    Регистрация
    15.07.2010
    Адрес
    St. Petersburg
    Возраст
    30
    Сообщений
    370
    Репутация: 151

    Звание: - весьма и весьма положительная личность
    Цитата Сообщение от Dychuk Посмотреть сообщение
    PHP код:
    stock RemoveSpaces_Dychuk(string[]) 

        new 
    newtext[128], b;
        for(new 
    0<= strlen(string); i++)
        {
            if(
    string[i] != ' ')
            {
                
    newtext[b] = string[i];
                
    b++;
            }
        }
        return 
    newtext;

    Мой вариант удаления пробелов. Сравните с вашими функциями. Я конечно сомневаюсь что она самая быстрая, но выполнена просто и понятно))
    Результат должен быть помещён в string, а не возвращён.
    Код теста лежит здесь: https://gist.github.com/ziggi/f1e3ec55cd520e1e133b

Страница 1 из 3 123 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •