Giter Site home page Giter Site logo

controlwork1's Introduction

Приветствую тебя, уважаемый пользователь. Благодарю за приобретение моего бесплатного приложения "СортировкаПоДлине".

С помощью данного приложения ты сможешь выбрать из текста все слова и элементы, которые по длине не превышают трех символов и получить их в виде массива, кроме запятых и точек. Пример: [Мы, с, и, и, и, с, по, и, для]

Далее я объясню тебе как работает данное приложение.

Текст, слова которого нужно отфильтровать присваиваем переменной "myString" в условиях приложения.

Далее в работу вступает метод "ConvertStringToArray". И как не трудно догадаться по названию, в этом методе происходит преобразование текста в массив поэлементно. Игнорируются пробелы, запятые, точки, табуляция и переходы строк, а также из результата выкидываются пустые элементы. на выходе мы получаем массив, состоящий только из слов. Ты увидишь этот массив в терминале под заголовком "original array".

Далее полученный массив отправляем в другой метод под названием "FilterText". Туда же отправляем заранее подготовленную числовую переменную "elementLength", содержащую информацию о максимальной длине искомых слов. Тут-то и происходит настоящая магия...

Наша задача проверить каждое слово на соответствие нужной длине. Длину мы знаем. Поэтому создаем цикл и проходим по каждому элементу полученного в предыдущем методе массива. При помощи выражения "text[i].Length" узнаем длину каждого очередного элемента, сравниваем ее с образцом. Если слово нам подходит, то вписываем его вместо первого элемента этого же массива. Следующее вместо следующего и так далее. Если слово превышает длину, то проверяем новое очередное.

За количество проходов цикла "for" по всей длине массива отвечает переменная "i". Она приращивается при каждом завершении цикла. За учет и порядок обновления ячеек массива отвечает переменная "count". Она приращивается при каждой успешной проверке на искомую длину очередного элемента. Таким образом в итоге все слова искомой длины будут скопированы в начало массива в том порядке, в котором они были в исходном тексте.

Нам останется в конце лишь произвести "Resize" массива (преобразование длины), а мы как раз знаем номер последнего скопированного элемента, он записан в переменную "count". Команда "Array.Resize(ref text, count)" в методе "FilterText" выполняет эту работу и остается только вывести обновленный массив при помощи метода "PrintArray" в терминал. Его ты увидишь под заголовком "filtered array".

Так и работает данное приложение. Желаю приятного использования. С уважением.

controlwork1's People

Contributors

mex1me avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.