Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Создание массива
KASaLEXДата: Вс, 04 Декабря 2022, 00:36 | Сообщение # 1
Новичок
Подскажите, можно ли реализовать запись по два символа в массив данных. Есть строка нужно считать её и записать в массив каждую пару символов
 
СообщениеПодскажите, можно ли реализовать запись по два символа в массив данных. Есть строка нужно считать её и записать в массив каждую пару символов

Автор - KASaLEX
Дата добавления - 04 Декабря 2022 в 00:36
frolandrДата: Вс, 04 Декабря 2022, 13:56 | Сообщение # 2
Участник
Цитата KASaLEX ()
Подскажите, можно ли реализовать запись по два символа в массив данных. Есть строка нужно считать её и записать в массив каждую пару символов


Вот примерно так можно реализовать:
Код

.Исходная строка
SetVar "[string]" "Воттакаястрокабезпробелов"

.Получаем длину строки
StrLen "[string]" "[lengthstr]"
.Делим длину строки на 2
Math "[lengthstr] / 2" "0" "[length]"
.Если строка имеет нечетное количество символов, то увеличим на 1
If "[lengthstr] % 2" "<>" "0"
   Math "[length] + 1" "0" "[length]"
EndIf

.Создаем пустой массив
SetVar "[array]" ""
.Также инициализируем указатель на символ, начинать будем с первого символа
SetVar "[position]" "1"

.Создаем цикл перебора символов строки
Loop "1" "[length]" "[counter]"
   .Получаем два символа из строки и записываем их в ячейку массива
   SubStr "[string]" "[position]" "2" "[array[counter]]"
   .Сдвигаем указатель на 2
   SetVar "[position]" "[position] + 2"
EndLoop


После этого у вас в массиве [array] в каждой ячейке будет по 2 символа
[array1] => "Во" , [array2]=>"тт" , [array3]=>"ак" и т.д.

Добавлено (05 Декабря 2022, 16:33)
---------------------------------------------
Вот с помощью While можно так:

Код

.Исходная строка
SetVar "[string]" "Воттакаястрокабезпробелов"
.Счетчик для индексов массива
SetVar "[i]" "1"

.Выполнять, пока строка не станет пустой
While "[string]" "<>" ""
   .Получаем из строки первые 2 символа и записываем их в ячеку массива
   SubStr "[string]" "1" "2" "[array[i]]"
   .Удаляем первые 2 символа из строки
   StrDel "[string]" "1" "2" "[string]"
   .Увеличиваем счетчик
   SetVar "[i]" "[i] + 1"
EndWhile


Сообщение отредактировано
frolandr - Пн, 05 Декабря 2022, 16:39
 
Сообщение
Цитата KASaLEX ()
Подскажите, можно ли реализовать запись по два символа в массив данных. Есть строка нужно считать её и записать в массив каждую пару символов


Вот примерно так можно реализовать:
Код

.Исходная строка
SetVar "[string]" "Воттакаястрокабезпробелов"

.Получаем длину строки
StrLen "[string]" "[lengthstr]"
.Делим длину строки на 2
Math "[lengthstr] / 2" "0" "[length]"
.Если строка имеет нечетное количество символов, то увеличим на 1
If "[lengthstr] % 2" "<>" "0"
   Math "[length] + 1" "0" "[length]"
EndIf

.Создаем пустой массив
SetVar "[array]" ""
.Также инициализируем указатель на символ, начинать будем с первого символа
SetVar "[position]" "1"

.Создаем цикл перебора символов строки
Loop "1" "[length]" "[counter]"
   .Получаем два символа из строки и записываем их в ячейку массива
   SubStr "[string]" "[position]" "2" "[array[counter]]"
   .Сдвигаем указатель на 2
   SetVar "[position]" "[position] + 2"
EndLoop


После этого у вас в массиве [array] в каждой ячейке будет по 2 символа
[array1] => "Во" , [array2]=>"тт" , [array3]=>"ак" и т.д.

Добавлено (05 Декабря 2022, 16:33)
---------------------------------------------
Вот с помощью While можно так:

Код

.Исходная строка
SetVar "[string]" "Воттакаястрокабезпробелов"
.Счетчик для индексов массива
SetVar "[i]" "1"

.Выполнять, пока строка не станет пустой
While "[string]" "<>" ""
   .Получаем из строки первые 2 символа и записываем их в ячеку массива
   SubStr "[string]" "1" "2" "[array[i]]"
   .Удаляем первые 2 символа из строки
   StrDel "[string]" "1" "2" "[string]"
   .Увеличиваем счетчик
   SetVar "[i]" "[i] + 1"
EndWhile

Автор - frolandr
Дата добавления - 04 Декабря 2022 в 13:56
KASaLEXДата: Пн, 12 Декабря 2022, 01:54 | Сообщение # 3
Новичок
Спасибо, с помощью While интересная реализация.
 
СообщениеСпасибо, с помощью While интересная реализация.

Автор - KASaLEX
Дата добавления - 12 Декабря 2022 в 01:54
  • Страница 1 из 1
  • 1
Поиск: