Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поиск или выборка по маске #00, ##0, 00# / 10 сообщений из 10, страница 1 из 1
12.03.2013, 12:05
    #38181019
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
Задача:
• если 1, 2 разряды не нулевые, а последний 0, то родительским кодом следует считать тот, у которого 1 разряд совпадает с данным кодом, а 2, 3 разряды равны 0;
• если 1, 2, 3 разряды не нулевые, то родительским кодом следует считать тот, у которого 1, 2 разряд совпадает с данным кодом, а третий равен 0;
• если 1, 2 разряды нулевые, то Родительский код отсутствует, поле при этом не заполняется.

Код: c#
1.
2.
string[] input  = new string[] { "101", "223", "356", "009", "590", "656", "756" };
string[] parent = new string[] { "100", "220", "300", "460", "590", "600", "750" };


Есть мысли как это осуществить?
...
Рейтинг: 0 / 0
12.03.2013, 12:33
    #38181088
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
2king2Задача:
• если 1, 2 разряды не нулевые, а последний 0, то родительским кодом следует считать тот, у которого 1 разряд совпадает с данным кодом, а 2, 3 разряды равны 0;
• если 1, 2, 3 разряды не нулевые, то родительским кодом следует считать тот, у которого 1, 2 разряд совпадает с данным кодом, а третий равен 0;
• если 1, 2 разряды нулевые, то Родительский код отсутствует, поле при этом не заполняется.

Код: c#
1.
2.
string[] input  = new string[] { "101", "223", "356", "009", "590", "656", "756" };
string[] parent = new string[] { "100", "220", "300", "460", "590", "600", "750" };



Есть мысли как это осуществить?

тупо в лоб проверять разряды
...
Рейтинг: 0 / 0
12.03.2013, 14:27
    #38181334
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
pationтупо в лоб проверять разряды
Разделить входное число превратить в массив интеджеров по разрядное, получается фигня какая то

Код: c#
1.
int[] ia = str.Distinct().ToString().Select(n => Convert.ToInt32(n)).ToArray();
...
Рейтинг: 0 / 0
12.03.2013, 14:45
    #38181380
mril
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
а что должно происходить для 101? или если родительский массив не содержит нужного кода, например для 356 это должен быть 350, а его нет
...
Рейтинг: 0 / 0
12.03.2013, 14:57
    #38181416
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
2king2pationтупо в лоб проверять разряды
Разделить входное число превратить в массив интеджеров по разрядное, получается фигня какая то

Код: c#
1.
int[] ia = str.Distinct().ToString().Select(n => Convert.ToInt32(n)).ToArray();



можно поинтерисоваться ? накуя дистинкт?
...
Рейтинг: 0 / 0
12.03.2013, 15:01
    #38181423
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
mrilа что должно происходить для 101? или если родительский массив не содержит нужного кода, например для 356 это должен быть 350, а его нет

Ноль по середине не может быть во входных данных, простите ошибся.
...
Рейтинг: 0 / 0
12.03.2013, 15:03
    #38181431
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
pationможно поинтерисоваться ? накуя дистинкт?
Чтобы получилось вот так
Мой код
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
                                string[] input  = new string[] { "120", "223", "356", "009", "590", "656", "756" };
				string[] parent = new string[] { "100", "220", "300", "460", "590", "600", "750" };

				foreach (var str in input)
				{
					int[] ia = str.Distinct().Select(n => Convert.ToInt32(n.ToString())).ToArray();
					if (ia[0] != 0 & ia[1] != 0 & ia[2] == 0)
					{
						var like = ia[0] + "00";
					}

					if (ia[0] != 0 & ia[1] != 0 & ia[2] != 0)
					{
						var like = ia[0] + ia[1] + "0";
					}

					if (ia[0] == 0 & ia[1] == 0)
					{
						//Нет род. кода. 
					}



...
Рейтинг: 0 / 0
12.03.2013, 16:25
    #38181615
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
2king2pationможно поинтерисоваться ? накуя дистинкт?
Чтобы получилось вот так
Мой код
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
                                string[] input  = new string[] { "120", "223", "356", "009", "590", "656", "756" };
				string[] parent = new string[] { "100", "220", "300", "460", "590", "600", "750" };

				foreach (var str in input)
				{
					int[] ia = str.Distinct().Select(n => Convert.ToInt32(n.ToString())).ToArray();
					if (ia[0] != 0 & ia[1] != 0 & ia[2] == 0)
					{
						var like = ia[0] + "00";
					}

					if (ia[0] != 0 & ia[1] != 0 & ia[2] != 0)
					{
						var like = ia[0] + ia[1] + "0";
					}

					if (ia[0] == 0 & ia[1] == 0)
					{
						//Нет род. кода. 
					}






а накуя дистинкт?
...
Рейтинг: 0 / 0
12.03.2013, 17:29
    #38181761
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
pationа накуя дистинкт?
А ну да, вот исправил
Код: c#
1.
2.
foreach (var str in input) 
        char[] ca = string.Join(string.Empty, str).ToCharArray();
...
Рейтинг: 0 / 0
13.03.2013, 09:57
    #38182545
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск или выборка по маске #00, ##0, 00#
2king2pationа накуя дистинкт?
А ну да, вот исправил
Код: c#
1.
2.
foreach (var str in input) 
        char[] ca = string.Join(string.Empty, str).ToCharArray();


=)) я фигею, накуя джойн?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поиск или выборка по маске #00, ##0, 00# / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]