Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2019, 00:47   #1
Fantamim
Новичок
Джуниор
 
Регистрация: 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
вот мой код, из за пробелов знании я не понимаю как многое реализовывается, может кто поможет как это все записывается правильно коде?

Код:
namespace ConsoleApp2
{

    class Program

    {

        static void Main(string[] arg)
        {
            string text = "";
            int isType;
            string element;

            string path = @"C:\Users\mv\Downloads\Файл.txt";
            try
            {
                using (StreamReader s = new StreamReader(path))
                {
                    Console.WriteLine(text = s.ReadToEnd());

                }
                Console.Read();
            }

            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            if ((int)text[0] > 47 && text[0] < 58)
            {
                isType = 1;
            }
            else
            {
                isType = 1;
            }

            element = text[0].ToString();

            for (int i = 1; i < text.Length; i++)
            {
                if ((int)text[i] > 47 && (int)text[i] < 58)
                {
                    if (isType == 1 || isType == 2)
                       {
                         element = text[i];
                         break;
                       }
                     else
                    {
                        List<string> stroka = new List<string>();
                            stroka.Add(text[i]);
                        elemenеt.clea
                        isType = 1;
                    }
                    if ((int) text[i] == 46)
                    {
                        if (isType == 1)
                        {
                            float element
                            isType = 2;
                        }
                        if (isType == 0)
                        {
                            element

                        }
                        if (isType == 2)
                        {
                            element

                        }
                        else
                        {
                            if
                                {
                                List<int>  number = new List<int>();
                                number.Add();
                            }
                        }
                    }
                 }
             }



            }
        }
    }
}
______________________
Форматируйте код (отступы) и используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ

Последний раз редактировалось Вадим Мошев; 30.10.2019 в 01:26.
Fantamim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с реализацией 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