Задача: Написать программу, которая из имеющегося массива строк формирует массив из строк, длина которых меньше либо равна 3 символа. Первоначальный массив можно ввести с клавиатуры, либо задать на старте выполнения алгоритма. При решении не рекомендуется пользоваться коллекциями, лучше обойтись исключительно массивами.
Декомпозиция задачи
- Формируем водной массив руками пользователя или используется уже заготовленный при старте программы.
- Находим необходимый размер выходного нового массива исходя из значений имеющегося массива
- В новый созданный массив присваиваем значения удовлетворяющие условиям поставленной задачи
- Вывод нового массива в консоль
- Оптимизация алгоритма с применением методов, рекурсии и т.д.
- Тестирование и исправление
Главный алгоритм
Используется цикл for для всех значений имеющегося массива, внутри которого проверяется условие: размер длины значения ячейки имеющегося массива меньше или равно трем и если результат условия удовлетворен, то записываем в новую ячейку нового массива это значение. Значения длины ячейки могут принимать значения от 0 включительно.
Комментарии и заметки
В ходе написания программы была введена переменная flag для оптимизации кода, т.к. для подсчета количества удовлетворяющих условиям задачи элементов, а в последствии для инициализации переменного массива NTempArr и заполнение этого массива значениями, требуется один и тот же цикл for, который был выведен в метод. Массив NTempArr, при переменной flag = 0 принимает в нулевой индекс значение суммы количества значений исходного массива, удовлетворяющих условиям задачи - метод возвращает массив с 1 элементом, размер для нового массива. Инициализируется новыйвый массив для вывода резултата, flag присваивается значение 1, и в следующем прогоне метода инициализируется заново переменный массив NTempArr с требуемым количеством ячеек, где результат метода - новый массив нужной длины и значениями удовлетворяющие условиям задачи. Так же написан метод для вывода элементов массива в консоль.