Skip to content

POMAH333/ControlWork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание решения задачи

Задача: Написать программу, которая из имеющегося массива строк формирует новый массив из строк, длина которых меньше, либо равна 3 символам. Первоначальный массив можно ввести с клавиатуры, либо задать на старте выполнения алгоритма. При решении не рекомендуется пользоваться коллекциями, лучше обойтись исключительно массивами.

Содержание:

1. Основной метод (Main)
2. Метод решения задачи
3. Метод ввода целых чисел
4. Метод ручного заполнения массива
5. Метод автоматического заполнения массива
6. Метод отбора значений в новый массив
7. Метод выбора случайных значений

Основной метод (Main)

Основной метод программы представляет собой меню, организованное внутри бесконечного цикла. Меню позволяет посредством оператора switch выбрать способ заполнения стартового массива строк, либо завершить выполнение программы. Выбор способа заполнения массива выполняется посредством передачи методу TaskStr() соответствующего логического параметра.

Метод решения задачи - TaskStr()

Метод TaskStr() обеспечивает выполнение основных операций для решения поставленной задачи. Для этого в методе последовательно вызываются другие методы обеспечивающие выполнение необходимых действий.

Изначально, посредством метода SetNumber(), выполняется запрос к пользователю, с просьбой ввести количество элементов стартового массива. Затем, посредством оператора выбора, на основе переданного методу логического параметра autoArray, массив заполняется значениями. Для этого вызывается либо метод ManualArrayComplet(), для ручного заполнения пользователем с клавиатуры, либо вызывается метод AutoArrayComplet(), для автоматического заполнения массива строками из внешнего источника. Заданный массив выводится на экран посредством метода string.Join.

После этого стартовый массив передаётся методу StrMinLenArray(), который формирует новый массив строк, соответствующих заданной их длине.

Новый массив выводится на экран посредством метода string.Join, после чего организуется пауза, вплоть до нажатия пользователем любой клавиши, с помощью оператора Console.ReadKey().

После нажатия клавиши осуществляется возврат к главному меню программы.

Метод ввода целых чисел - SetNumber()

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

Метод ручного заполнения массива - ManualArrayComplet()

Данный метод в цикле запрашивает от пользователя значения элементов, с последующим возвратом заполненного массива.

Метод автоматического заполнения массива - AutoArrayComplet()

Данный метод заполняет массив заданной размерности случайтыми значениями возвращаемыми методом StrArray(). После объявления массива заданной длины, запрашивается размер хранилища строк вызовом метода StrArray() с нулевым параметром. Возвращённое значение переменной rndMax используется как верхняя граница генератора случайных чисел, посредством которого генерируются индексы хранилища строк, для заполнения, в цикле, стартового массива.

Метод отбора значений в новый массив - StrMinLenArray()

Данный метод решает основную задачу, выбирает из стартового массива значения отвечающие требованиям к длине строки, и формирует из них новый массив.

Так как при выполнении задачи рекомендуется использовать только стандартные циклы, в данном методе используются два цикла и вспомогательный массив arrayTemp[], используемый для хранения индексов найденных строк искомой длины.

В первом цикле осуществляется проверка всех элементов заданного массива на соответствие их длины заданным параметрам. Индексы найденных элементов последовательно заносятся в массив arrayTemp[], при этом ведётся подсчёт найденных элементов посредством переменной resultLen.

Далее объяыляется массив result длиной resultLen, который заполняется элементами стартового массива, посредством второго цикла. После чего метод возвращает полученный массив result.

Блок-схема данного алгоритма представлена ни рисунке ниже.

Блок-схема алгоритма

Метод выбора случайных значений - StrArray()

Данный метод возвращает строковое значение из одномерного индексированного хранилища, в соответствие с принятым индексом.

В качестве хранилища, в рамках данной работы, использован одномерный строковый массив, находящийся внутри метода. При необходимости выбора строк из какого-либо внешнего источника, необходимо лишь изменить данный метод. При этом остальные методы программы останутся неизменными. Данный способ хранения строковых значений выбран лишь для повышения универсальности данной программы.

Также метод возвращает значение вспомогательной переменной rndMax, в которую заносится размер хранилища.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages