powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перебор элементов массива
25 сообщений из 68, страница 1 из 3
Перебор элементов массива
    #38908441
Добрый день.

Создаю test case. Необходимо сделать перебор элементов массива для общего случая N. Ниже дал пример для случаев когда N=2, N=3, N=4.

N=2
1221

N=3
123132213231312321

N=4
123412431324134214231432213421432314234124132431312431423214324134123421412341324213423143124321
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908496
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новопашин ВладимирНеобходимо сделать перебор элементов массива для общего случая N
Делай. Я не против.
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908500
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНовопашин ВладимирНеобходимо сделать перебор элементов массива для общего случая N
Делай. Я не против.
Разрешаешь?
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908557
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новопашин Владимир,

NUnit - CombinatorialAttribute . Не?
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908563
МСУНовопашин ВладимирНеобходимо сделать перебор элементов массива для общего случая N
Делай. Я не против.
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908580
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908581
petalvikНовопашин Владимир,

NUnit - CombinatorialAttribute . Не?

Может и то, вопрос в том, что таких case будет много. Для примера даю case для N=5.
111111111211113111211112211123111311113211133112111121211213112211122211223112311123211233113111131211313113211132211323113311133211333121111211212113121211212212123121311213212133122111221212213122211222212223122311223212233123111231212313123211232212323123311233212333131111311213113131211312213123131311313213133132111321213213132211322213223132311323213233133111331213313133211332213323133311333213333211112111221113211212112221123211312113221133212112121221213212212122221223212312123221233213112131221313213212132221323213312133221333221112211222113221212212222123221312213222133222112221222213222212222222223222312223222233223112231222313223212232222323223312233222333231112311223113231212312223123231312313223133232112321223213232212322223223232312323223233233112331223313233212332223323233312333223333311113111231113311213112231123311313113231133312113121231213312213122231223312313123231233313113131231313313213132231323313313133231333321113211232113321213212232123321313213232133322113221232213322213222232223322313223232233323113231232313323213232232323323313233232333331113311233113331213312233123331313313233133332113321233213332213322233223332313323233233333113331233313333213332233323333313333233333
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908583
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новопашин Владимир,

блин, я только начал въезжать, как тут case N=5 попутал все карты. Можно с N=6?
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908588
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новопашин Владимир,
А можно в спойлер только пример с N6? И что-то явно не так с N5 - аж в глазах рябит
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908589
PallarisНовопашин Владимир,

блин, я только начал въезжать, как тут case N=5 попутал все карты. Можно с N=6?
Пожалуйста-111111111112111113111121111122111123111131111132111133111211111212111213111221111222111223111231111232111233111311111312111313111321111322111323111331111332111333112111112112112113112121112122112123112131112132112133112211112212112213112221112222112223112231112232112233112311112312112313112321112322112323112331112332112333113111113112113113113121113122113123113131113132113133113211113212113213113221113222113223113231113232113233113311113312113313113321113322113323113331113332113333121111121112121113121121121122121123121131121132121133121211121212121213121221121222121223121231121232121233121311121312121313121321121322121323121331121332121333122111122112122113122121122122122123122131122132122133122211122212122213122221122222122223122231122232122233122311122312122313122321122322122323122331122332122333123111123112123113123121123122123123123131123132123133123211123212123213123221123222123223123231123232123233123311123312123313123321123322123323123331123332123333131111131112131113131121131122131123131131131132131133131211131212131213131221131222131223131231131232131233131311131312131313131321131322131323131331131332131333132111132112132113132121132122132123132131132132132133132211132212132213132221132222132223132231132232132233132311132312132313132321132322132323132331132332132333133111133112133113133121133122133123133131133132133133133211133212133213133221133222133223133231133232133233133311133312133313133321133322133323133331133332133333211111211112211113211121211122211123211131211132211133211211211212211213211221211222211223211231211232211233211311211312211313211321211322211323211331211332211333212111212112212113212121212122212123212131212132212133212211212212212213212221212222212223212231212232212233212311212312212313212321212322212323212331212332212333213111213112213113213121213122213123213131213132213133213211213212213213213221213222213223213231213232213233213311213312213313213321213322213323213331213332213333221111221112221113221121221122221123221131221132221133221211221212221213221221221222221223221231221232221233221311221312221313221321221322221323221331221332221333222111222112222113222121222122222123222131222132222133222211222212222213222221222222222223222231222232222233222311222312222313222321222322222323222331222332222333223111223112223113223121223122223123223131223132223133223211223212223213223221223222223223223231223232223233223311223312223313223321223322223323223331223332223333231111231112231113231121231122231123231131231132231133231211231212231213231221231222231223231231231232231233231311231312231313231321231322231323231331231332231333232111232112232113232121232122232123232131232132232133232211232212232213232221232222232223232231232232232233232311232312232313232321232322232323232331232332232333233111233112233113233121233122233123233131233132233133233211233212233213233221233222233223233231233232233233233311233312233313233321233322233323233331233332233333311111311112311113311121311122311123311131311132311133311211311212311213311221311222311223311231311232311233311311311312311313311321311322311323311331311332311333312111312112312113312121312122312123312131312132312133312211312212312213312221312222312223312231312232312233312311312312312313312321312322312323312331312332312333313111313112313113313121313122313123313131313132313133313211313212313213313221313222313223313231313232313233313311313312313313313321313322313323313331313332313333321111321112321113321121321122321123321131321132321133321211321212321213321221321222321223321231321232321233321311321312321313321321321322321323321331321332321333322111322112322113322121322122322123322131322132322133322211322212322213322221322222322223322231322232322233322311322312322313322321322322322323322331322332322333323111323112323113323121323122323123323131323132323133323211323212323213323221323222323223323231323232323233323311323312323313323321323322323323323331323332323333331111331112331113331121331122331123331131331132331133331211331212331213331221331222331223331231331232331233331311331312331313331321331322331323331331331332331333332111332112332113332121332122332123332131332132332133332211332212332213332221332222332223332231332232332233332311332312332313332321332322332323332331332332332333333111333112333113333121333122333123333131333132333133333211333212333213333221333222333223333231333232333233333311333312333313333321333322333323333331333332333333
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908590
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новопашин Владимир,

Учитесь использовать спойлеры для простыней!
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908593
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Инкрементируй, инкрементируй его полностью!
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908594
AxeleronНовопашин Владимир,
А можно в спойлер только пример с N6? И что-то явно не так с N5 - аж в глазах рябит

Пожалуйста - предыдущий пример коряво вывелся

111111111112111113111121111122111123111131111132111133111211111212111213111221111222111223111231111232111233111311111312111313111321111322111323111331111332111333112111112112112113112121112122112123112131112132112133112211112212112213112221112222112223112231112232112233112311112312112313112321112322112323112331112332112333113111113112113113113121113122113123113131113132113133113211113212113213113221113222113223113231113232113233113311113312113313113321113322113323113331113332113333121111121112121113121121121122121123121131121132121133121211121212121213121221121222121223121231121232121233121311121312121313121321121322121323121331121332121333122111122112122113122121122122122123122131122132122133122211122212122213122221122222122223122231122232122233122311122312122313122321122322122323122331122332122333123111123112123113123121123122123123123131123132123133123211123212123213123221123222123223123231123232123233123311123312123313123321123322123323123331123332123333131111131112131113131121131122131123131131131132131133131211131212131213131221131222131223131231131232131233131311131312131313131321131322131323131331131332131333132111132112132113132121132122132123132131132132132133132211132212132213132221132222132223132231132232132233132311132312132313132321132322132323132331132332132333133111133112133113133121133122133123133131133132133133133211133212133213133221133222133223133231133232133233133311133312133313133321133322133323133331133332133333211111211112211113211121211122211123211131211132211133211211211212211213211221211222211223211231211232211233211311211312211313211321211322211323211331211332211333212111212112212113212121212122212123212131212132212133212211212212212213212221212222212223212231212232212233212311212312212313212321212322212323212331212332212333213111213112213113213121213122213123213131213132213133213211213212213213213221213222213223213231213232213233213311213312213313213321213322213323213331213332213333221111221112221113221121221122221123221131221132221133221211221212221213221221221222221223221231221232221233221311221312221313221321221322221323221331221332221333222111222112222113222121222122222123222131222132222133222211222212222213222221222222222223222231222232222233222311222312222313222321222322222323222331222332222333223111223112223113223121223122223123223131223132223133223211223212223213223221223222223223223231223232223233223311223312223313223321223322223323223331223332223333231111231112231113231121231122231123231131231132231133231211231212231213231221231222231223231231231232231233231311231312231313231321231322231323231331231332231333232111232112232113232121232122232123232131232132232133232211232212232213232221232222232223232231232232232233232311232312232313232321232322232323232331232332232333233111233112233113233121233122233123233131233132233133233211233212233213233221233222233223233231233232233233233311233312233313233321233322233323233331233332233333311111311112311113311121311122311123311131311132311133311211311212311213311221311222311223311231311232311233311311311312311313311321311322311323311331311332311333312111312112312113312121312122312123312131312132312133312211312212312213312221312222312223312231312232312233312311312312312313312321312322312323312331312332312333313111313112313113313121313122313123313131313132313133313211313212313213313221313222313223313231313232313233313311313312313313313321313322313323313331313332313333321111321112321113321121321122321123321131321132321133321211321212321213321221321222321223321231321232321233321311321312321313321321321322321323321331321332321333322111322112322113322121322122322123322131322132322133322211322212322213322221322222322223322231322232322233322311322312322313322321322322322323322331322332322333323111323112323113323121323122323123323131323132323133323211323212323213323221323222323223323231323232323233323311323312323313323321323322323323323331323332323333331111331112331113331121331122331123331131331132331133331211331212331213331221331222331223331231331232331233331311331312331313331321331322331323331331331332331333332111332112332113332121332122332123332131332132332133332211332212332213332221332222332223332231332232332233332311332312332313332321332322332323332331332332332333333111333112333113333121333122333123333131333132333133333211333212333213333221333222333223333231333232333233333311333312333313333321333322333323333331333332333333
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908597
PallarisИнкрементируй, инкрементируй его полностью!
))) А я чем занимался?!
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908598
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему при N=4 значения от 1 до 4, а при N=5,6 от 1 до 3

Автор что-то явно недоговаривает
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908608
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор, давай для ясности приведи примеры до N10 хотя бы - что-то там с логикой не то... не проглядывается...
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908613
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronАвтор, давай для ясности приведи примеры до N10 хотя бы - что-то там с логикой не то... не проглядывается...

Интересно, раз он это как-то генерит (не вручную же??), значит есть какая-то генерилка. Значит, вопрос решен!
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908623
Shocker.ProА почему при N=4 значения от 1 до 4, а при N=5,6 от 1 до 3

Автор что-то явно недоговаривает

Ну при N=4 я для примера дал. А те данные которые действительно надо перебрать это я дал при N=5,6 . То есть каждую строчку нужно перебрать как я показал. У нас что-то типа троичной система, только цифры идут от 1 до 3. 1,2,3,11,12,13,21,22,23,31,32,33 и так далее.
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908665
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новопашин Владимир,
До N-2 147 483 647 хватит.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public static IEnumerable<IEnumerable<T>> Permute<T>(IEnumerable<T> list)
        {
            if (list.Count() == 1)
                return new List<IEnumerable<T>> { list };
            return list
                .Select((a, i1) => {
                    var res = Permute(list.Where((b, i2) => i2 != i1)).Select(c =>
                    {
                        var res1 = (new T[] { a }).Union(c);
                        return res1;
                    });
                    return res;
                })
                .SelectMany(c => c);
        }
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908666
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять нестыковка
Что такое 1,2,3?
00001, 00002, 00003?
Но цифры 0 в вашей системе нет, и в примерах такую комбинацию вы тоже не привели.
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908667
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronУчитесь использовать спойлеры для простыней!
С первого вопроса уже было ясно, что чел не в адеквате.
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908675
МСУAxeleronУчитесь использовать спойлеры для простыней!
С первого вопроса уже было ясно, что чел не в адеквате.
Что посоветуете по вопросу?
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908680
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новопашин ВладимирМСУпропущено...

С первого вопроса уже было ясно, что чел не в адеквате.
Что посоветуете по вопросу?
Использовать механизм, использовавшийся для забивания значений в простыни. Или это было сделано вручную?
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908682
Мне нужно решить задачу Задача 2011 .
Сделал код для ее решения.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _2011
{
    class Program
    {
        static void Main(string[] args)
        {
            int N = int.Parse(Console.ReadLine());
            if (N > 100 || N < 1)
            {
                Console.WriteLine("No");
                return;
            }

            string[] arrS = Console.ReadLine().Split(' ');
            string[] arrS1 = null;
            if (arrS.Length == 1 && arrS[0].Length > 1)
            {
                arrS1 = new string[arrS[0].Length];
                for (int i = 0; i < arrS[0].Length; i++)
                    arrS1[i] = arrS[0].Substring(i, 1);

            }
            else
                arrS1 = arrS;

            bool blnRes = IsYes(arrS1);
            
            if (blnRes)
                Console.WriteLine("Yes");
            else
                Console.WriteLine("No");
        }

        static bool IsYes(string[] arrS)
        {
            int N = arrS.Length;
            if (N <= 2 || N>100) return false;
            int c1 = 0;
            int c2 = 0;
            int c3 = 0;
            for (int i = 0; i < N; i++)
            {
                switch (arrS[i])
                {
                    case "1":
                        c1++;
                        break;
                    case "2":
                        c2++;
                        break;
                    case "3":
                        c3++;
                        break;
                }
            }
            
            if ((N >= 3 ) && (N<=5))
                if (c1 == (N - 1) || c2 == (N - 1) || c3 == (N - 1)) return false;
            else if (N > 5)
                if (c1 == N || c2 == N || c3 == N) return false;

            return true;
        }

    }
}


Вот пытаюсь найти в чем он не корректен. Вот создаю разные тесткейзы и хочу проверить на каких код ведет правильно, а на каких нет.
...
Рейтинг: 0 / 0
Перебор элементов массива
    #38908697
AxeleronНовопашин Владимирпропущено...

Что посоветуете по вопросу?
Использовать механизм, использовавшийся для забивания значений в простыни. Или это было сделано вручную?
Спасибо - вашим советом воспользовался.
...
Рейтинг: 0 / 0
25 сообщений из 68, страница 1 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перебор элементов массива
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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