Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

I. Блок-схема

Block diagram

II. Алгоритм

1. Блок инициализации

У нас есть некий одномерный массив строчных данных array:

array = [dog, zebra, bat, giraffe, elephant, cat, bear, fox]

Задаем 2 переменные счетчика, для последующего использования в 2х циклах. Назовем их count и index:

count = 0
index = 0

2. Цикл для подсчета количества элементов, не превышающих 3 символов

Задаем цикл, используя пеоременную i, где стартовый элемент равен 0, конечный равен длинне оригинального массива array, а шаг цикла 1 на каждое новое повторение.

i = 0, len(array), 1

Внутри цикла прописываем условие: если длинна текущего значения элемента массива array[i] меньше или равна 3,

len(array[i]) <= 3 ?

то увеличиваем значение count на единицу.

count = count + 1

Таким образом, мы подсчитываем сколько элементов оригинального массива array имеют длинну меньше или равную 3м символам. Результатом станет значение переменной count.

3. Задаем новый массив для элементов, не превышающих 3 символов

Зададим новвый массив newArray, с количеством элементов count.

len(newArray) = count

Значение count, это количество элементов в оригинальном массиве array, длинна которых не превышает 3х символов, следовательно длинна нового массива newArray будет точно соответствовать количеству этих элементов, для дальнейшей их записи в созданный новый массив.

4. Цикл для записи в новый массив элементов, не превышающих 3 элементов

Задаем цикл, используя пеоременную i, где стартовый элемент равен 0, конечный равен длинне оригинального массива array, а шаг цикла 1 на каждое новое повторение.

i = 0, len(array), 1

Внутри цикла прописываем условие: если длинна текущего значения элемента массива array[i] меньше или равна 3,

len(array[i]) <= 3 ?

то, используя переменную index, записываем текущее значение оригинального массива array[i] в текущий элемент нового массива newArray[index]. После этого увеличиваем значение index на единицу.

newArray[index] = array[i]
index = index + 1

Таким образом происходит заполнение массива newArray только элементами, не превышающими 3 символов.

5. Вывод нового массива

Выводим наш новый массив newArray на экран. Он содержит только элементы меньшие или равные 3 символам. Задача решена.

III. Написание кода на С#

1. Очистим консоль

Чтобы предыдущая информация в консоли не мешала нам в нашей программе, используем Console.Clear

Console.Clear();

2. Зададим исходный массив

string[] array = { "dog", "zebra", "bat", "giraffe", "elephant", "cat", "bear", "fox" };

3. Выделим преобразование массива в отдельный метод

Для простоты использования и возможного избежания повторения одного и того же куска кода, создадим метод, который принимает массив на вход и выдает обратно массив типа string. Назовем его ThreeSymbolsArray. Он будет преобразовывать входящий массив в новый, так чтобы в новом массиве все элементы были не больше 3х символов.

Для этой цели используем 2 цикла for. В первом цикле посчитаем количества элементов исходного массива array, не превышающих 3 символов, запишем количество таких элементов в переменную count. Далее внутри метода инициализируем новый массив newArray, содержащий столько элементов, сколько соответствует значению count. Во втором цикле заполним новый массив newArray по порядку теми элементами оригинального массива array, которые не превышают 3 символов. Для этого будем использовать переменную index, которая будет считать элементы в новом массиве. Вернем массив newArray.

string[] ThreeSymbolsArray(string[] array)
{
    int count = 0;
    for (int i = 0; i < array.Length; i++)
    {
        if (array[i].Length <= 3)
        {
            count++;
        }
    }

    string[] newArray = new string[count];

    int index = 0;
    for (int i = 0; i < array.Length; i++)
    {
        if (array[i].Length <= 3)
        {
            newArray[index] = array[i];
            index++;
        }
    }
    return newArray;
}

4. Инициализируем новый массив

Вызовем метод ThreeSymbolsArray, и оправим на вход оригинальный массив array. Создадим новый массив newArray и присвоим ему выходное значение ThreeSymbolsArray.

string[] newArray = ThreeSymbolsArray(array);

5. Вывод результата

Для вывода требуемого массива будем использовать Console.Writeline() и string.Join(), чтобы объеденить на выводе все элементы массива.

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

Console.WriteLine($"Исходный массив:\t[" + string.Join(", ", array) + "]");
Console.WriteLine($"Преобразованный массив:\t[" + string.Join(", ", newArray) + "]");

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages