|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.10.2019, 00:47 | #1 |
Новичок
Джуниор
Регистрация: 30.10.2019
Сообщений: 1
|
[C#] Проблема с реализацией кода
У меня есть задание,Разделить объекты на 4 листа (List<T>) с типами: char, int, float(только нецелые числа с .), String и вывести отсортированные результаты по каждому листу.
Тут я опишу алгоритм,как я думаю должно работать: 1. Создаем переменную int isType (если символ строка - 0, int - 1, float - 2); 2. Создаем переменную string element, в которой будем хранить символы текущего элемента 3. Определяем что за первый символ в строке (text[0]): 3.1. Если код символа((int)text[0]) больше 47 и меньше 58, до isType = 1; 3.2. Иначе это строка, поэтому isType = 0; 4. Присваиваем element значение первого символа строки (text[0]); 5. Запускаем цикл for от 1 до длины строки (text.Length()) 6. Проверяем, какой тип элемента у символа text[i] 6.1. Если это цифра (см пункт 3.1): 6.1.1. Если предыдущий элемент тоже цифра или дробное число (условие: isType == 1 || isType == 2), то добавляем этот символ к element и заканчиваем эту итерацию 6.1.2. Иначе, предыдущий элемент символ, поэтому добавляем element в лист со строками, element обнуляем и присваем значение текущего символа, запоминаем, что текущий символ - число (isType = 1); 6.2. Если это точка (код символа = 46): 6.2.1. Если предыдущий символ int (isType==1), то элемент становиться float, поэтому isType = 2, и добавляем точку к element 6.2.2. Если предыдущий символ строка (isType==0), то добавляем точку к element 6.2.3. Если предыдущий символ float (isType==2), то 6.3. Иначе это символ, значит делаем: 6.3.1. Если предыдущий символ int, то добавляем в лист с числами element, который пропарсили - int.Parse(element), element обнуляем и присваем значение текущего символа, запоминаем, что текущий символ - строка (isType = 0); 6.3.2. Если предыдущий символ float, то добавляем в лист с float element, который пропарсили - float.Parse(element), element обнуляем и присваем значение текущего символа, запоминаем, что текущий символ - строка (isType = 0); 6.3.3. Иначе предыдущий символ - строка, поэтому добавляем текущий символ в element вот мой код, из за пробелов знании я не понимаю как многое реализовывается, может кто поможет как это все записывается правильно коде? Код:
Форматируйте код (отступы) и используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ Последний раз редактировалось Вадим Мошев; 30.10.2019 в 01:26. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с реализацией HTML+CSS | Mrg.Dweller | HTML и CSS | 5 | 06.08.2018 08:00 |
проблема с реализацией | KSUwa | Помощь студентам | 3 | 12.11.2010 18:18 |
проблема с реализацией многопоточности в c# | whitebrain | Помощь студентам | 0 | 19.03.2010 01:23 |
проблема с реализацией на складе | 4321 | БД в Delphi | 3 | 30.10.2008 13:30 |
Проблема с реализацией потока | InseR | Общие вопросы Delphi | 11 | 19.08.2008 12:20 |