У нас есть некий одномерный массив строчных данных array:
array = [dog, zebra, bat, giraffe, elephant, cat, bear, fox]
Задаем 2 переменные счетчика, для последующего использования в 2х циклах. Назовем их count и index:
count = 0
index = 0
Задаем цикл, используя пеоременную i, где стартовый элемент равен 0, конечный равен длинне оригинального массива array, а шаг цикла 1 на каждое новое повторение.
i = 0, len(array), 1
Внутри цикла прописываем условие: если длинна текущего значения элемента массива array[i] меньше или равна 3,
len(array[i]) <= 3 ?
то увеличиваем значение count на единицу.
count = count + 1
Таким образом, мы подсчитываем сколько элементов оригинального массива array имеют длинну меньше или равную 3м символам. Результатом станет значение переменной count.
Зададим новвый массив newArray, с количеством элементов count.
len(newArray) = count
Значение count, это количество элементов в оригинальном массиве array, длинна которых не превышает 3х символов, следовательно длинна нового массива newArray будет точно соответствовать количеству этих элементов, для дальнейшей их записи в созданный новый массив.
Задаем цикл, используя пеоременную 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 символов.
Выводим наш новый массив newArray на экран. Он содержит только элементы меньшие или равные 3 символам. Задача решена.
Чтобы предыдущая информация в консоли не мешала нам в нашей программе, используем Console.Clear
Console.Clear();
string[] array = { "dog", "zebra", "bat", "giraffe", "elephant", "cat", "bear", "fox" };
Для простоты использования и возможного избежания повторения одного и того же куска кода, создадим метод, который принимает массив на вход и выдает обратно массив типа 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;
}
Вызовем метод ThreeSymbolsArray, и оправим на вход оригинальный массив array. Создадим новый массив newArray и присвоим ему выходное значение ThreeSymbolsArray.
string[] newArray = ThreeSymbolsArray(array);
Для вывода требуемого массива будем использовать Console.Writeline() и string.Join(), чтобы объеденить на выводе все элементы массива.
Для наглядности программы сначала добавим вывод исходного массива array, а потом уже выведем преобразованный массив newArray. Так мы будем нагляднее видеть результат действия программы. Добавим комментарии: "исходный массив" и "преобразованный массив", а чтобы информация выглядела визуально ровнее, используем табуляцию.
Console.WriteLine($"Исходный массив:\t[" + string.Join(", ", array) + "]");
Console.WriteLine($"Преобразованный массив:\t[" + string.Join(", ", newArray) + "]");
