Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
23 / 24 / 8
Регистрация: 03.12.2013
Сообщений: 202

Задача перебора возможных значений для 3-х в 8-й степени

24.08.2021, 16:32. Показов 4314. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Существует 8 int переменных - int arr[8].
Каждая переменная может принимать только 3 значения: 0, 1, 2
Как перебрать все допустимые варианты? Не могу сообразить.
Заранее спасибо!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.08.2021, 16:32
Ответы с готовыми решениями:

Алгоритм перебора всех возможных значений
Здравствуйте, суть задачи алгоритма состоит в поиске всех возможных сочетаний букв в слове. Параметром в функцию передаются вектор,...

Доказать (путем перебора возможных значений)
Доказать (путем перебора возможных значений), что для любых вели-чин A, B, C типа Boolean следующие пары логических выражений имеют...

Доказать (путем перебора возможных значений), что для любых величин а, b, с типа boolean следующие пары логических выражений имеют одинаковые значения
Доказать (путем перебора возможных значений), что для любых величин а, b, с типа boolean следующие пары логических выражений имеют...

33
23 / 24 / 8
Регистрация: 03.12.2013
Сообщений: 202
25.08.2021, 12:42  [ТС]
Студворк — интернет-сервис помощи студентам
повар1, Получилось, работает. Код стал ещё красивее.
C++ (Qt)
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
#include  <iostream>
#include <algorithm>
using namespace std;
 
///////////////////////////////////////////// 
int main()                                 //   
{
    
   int count = 0;
   
   while(count < 6561)
   {
      string s;
      int n = count;
      
      while(n){
         s+=n%3+'0';
         n/=3;
      }
      string t(8-s.length(),'0');
      s+=t;
      reverse(s.begin(),s.end());
 
      cout<<s<<"\n";
 
      count++;
  }
  return 0;
}
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
25.08.2021, 12:46
например так
C++
1
2
 cout<<s[0]-'0'<<s[1]-'0'<<s[2]-'0'<<s[3]-'0'<<s[4]-'0'
      <<s[5]-'0'<<s[6]-'0'<<s[7]-'0'<<"\n";
1
23 / 24 / 8
Регистрация: 03.12.2013
Сообщений: 202
25.08.2021, 13:00  [ТС]
Изначальная задача была такой, как на картинке ниже....

Первое впечатление о её простоте было обманчивым для меня. Вот моё решение, выполненное с вашей помощью.
Не считаю его совсем убогим, но думаю, что можно сделать код нагляднее (проще для чтения).

C++ (Qt)
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include     <stdio.h>
 
 
 
// 0) p p p p p p p p 
// 1) + + + + + + + + 
// 2) - - - - - - - -
   
 
 
 
int arr[9];
 
char szMath_expression[33];
 
int expression();
int   analysis();
 
 
 
////////////////////////////////////////////////////
int main()                                        // 
{
 
    bool StopFlag = false;
    
    int                 c, 
                        n;
 
    while(!StopFlag)
    {
 
        arr[7]++;                                                         //  +1
        
        for(n = 7; n > 0; n--)
        {
            c = arr[n];
                arr[n]    = c%3;
                arr[n-1] += c/3;
        } 
         
        expression();
        
        if(analysis() == 100) printf("%17s = 100\n", szMath_expression);  
           
        StopFlag = true;                                                  //  StopFlag
        
        for(n = 0; n < 8; n++)
            if(arr[n] != 2)
            {
                StopFlag = false;
                break;
            }
    }
}
 
 
 
 
 
 
//  Используется функцией  int analysis()   
//////////////////////////////////////////////////////////////////
void opr(int &op, int &res, int &arg)                           //
{
    
     if(res == 0) res = arg;
     else
     {  
       
        if(op == 1) res += arg; 
        if(op == 2) res -= arg;         
     }
}
 
//  Возвращает арифметическое значение (int) выражения "szMath_expression"
//  Использует функцию void opr()
//////////////////////////////////////////////////////////////////
int analysis()                                                  //  
{
    
    int arg = 0,
        op  = 1,
        res = 0;
        
        
    for(int i = 0; szMath_expression[i]; i++)
    {
        if(szMath_expression[i] == '+') 
        { 
            
           opr(op, res, arg);   
           
           op  = 1; 
           arg = 0; continue; 
        }
        
        if(szMath_expression[i] == '-') 
        { 
            
           opr(op, res, arg);   
           
           op  = 2; 
           arg = 0; continue; 
        }           
        arg = (arg * 10) + szMath_expression[i] - 48;
    }   
 
    if(op == 1) res += arg; 
    if(op == 2) res -= arg;    
    
return  res;    
}
 
 
 
// Формирует выражение "szMath_expression"
//////////////////////////////////////////////////////////////////
int expression()                                                //  
{ 
     int c = 0;
     
     szMath_expression[c] = '1';
    
     for(int i = 0; i < 8; i++)
     {
         c++;
                
         if(arr[i] == 1) { szMath_expression[c] = '+'; c++; }
         if(arr[i] == 2) { szMath_expression[c] = '-'; c++; }   
         if(arr[i]  > 2)   return -1;     
                           szMath_expression[c] = i+50;             
     }
        
     szMath_expression[++c] = 0;
     
return 1;    
}
Миниатюры
Задача перебора возможных значений для 3-х в 8-й степени  
Изображения
 
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38209 / 21142 / 4312
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 14
25.08.2021, 14:35
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Такие задачи нежно решать по принципу "каков вопрос - таков и ответ"
- нет. Любые задачи нужно решать максимально хорошо. Иначе это - двойные стандарты (что Вы, к моему величайшему удивлению, и демонстрируете)...

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Сразу ошибка компиляции
- неужели?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
25.08.2021, 18:24
Цитата Сообщение от Catstail Посмотреть сообщение
- нет. Любые задачи нужно решать максимально хорошо.
Это может вызвать лишь снисходительную улыбку. В программировании жизни не бывает никакого "максимально хорошо". Выбор всегда многоэкстеремален и выбирать приходится между взаимоисключающими вариантами "хорошо", каждый со своими преимуществами и недостатками. Странно, что приходится здесь вести речь о таких банальностях.

Цитата Сообщение от Catstail Посмотреть сообщение
неужели?
Именно так

Code
1
2
3
4
5
6
7
8
clang++ -pedantic-errors main.cpp
 
main.cpp:11:10: error: variable length arrays are a C99 feature [-Werror,-Wvla-extension]
    int x[n]={0};
         ^
main.cpp:11:11: error: variable-sized object may not be initialized
    int x[n]={0};
          ^
Code
1
2
3
4
5
clang++ main.cpp
 
main.cpp:11:11: error: variable-sized object may not be initialized
    int x[n]={0};
          ^
Добавлено через 4 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
for(int i=0; i<6560; i++){
Особенно умиляет то, что некоторые "решатели", радеющие здесь за некую "масштабируемость", таки реализовали даже "длинное сложение", но при этом все равно прошили в свой решение константу 6560, тем самым сразу убив на корню всю "масштабируемость", над которой они корпели в процессе реализации...
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
25.08.2021, 18:47
Цитата Сообщение от ValeryS Посмотреть сообщение
еще один вариант
вариант не рабочий все комбинации не даст
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38209 / 21142 / 4312
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 14
25.08.2021, 19:24
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
В программировании жизни не бывает никакого "максимально хорошо". Выбор всегда многоэкстеремален и выбирать приходится между взаимоисключающими вариантами "хорошо", каждый со своими преимуществами и недостатками.
- в таком случае, написать 8 вложенных циклов - полный отстой.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Именно так
- если включать жесткие опции... Но зачем? "Каков вопрос - таков ответ" - не так ли?

Специально для пуристов:

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
#include <iostream>
using namespace std;
 
int main()
{
    int n,r,i;
    cout << "n=";
    cin >> n;
    cout << "r=";
    cin >> r;
    
    int *x=new int[n];
    for (i=0; i<n; i++) x[i]=0;
    
    while(1)
    {
        for (i=0; i<n; i++) cout << x[i] << " ";
        cout << endl;
        i=0;
        while (1)
        {
            if (x[i]<r-1)
            {
                x[i]++;
                break;
            }
            x[i++]=0;
            if (i>=n) break;
        }
        if (i>=n) break;
    }
 
    delete [] x;
 
    return 0;
}
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
25.08.2021, 19:33
Цитата Сообщение от Catstail Посмотреть сообщение
- в таком случае, написать 8 вложенных циклов - полный отстой.
Нет, конечно. Во-первых, на compile time задачу - compile time решение. Во-вторых, если постановка задачи фактически не требует для ее решения никаких вычислительных затрат (то есть готовый ответ генерируется напрямую), то и решение должно вести себя именно так. Все остальное - чесание правого уха левой ногой.

Цитата Сообщение от Catstail Посмотреть сообщение
- если включать жесткие опции... Но зачем? "Каков вопрос - таков ответ" - не так ли?
Нет, включать нужно не "жесткие опции", а просто язык С++. Темой этого форума, напомню, является язык С++ и задачи тут принято решать на С++.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38209 / 21142 / 4312
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 14
25.08.2021, 20:40
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Нет, конечно. Во-первых, на compile time задачу - compile time решение. Во-вторых, если постановка задачи фактически не требует для ее решения никаких вычислительных затрат (то есть готовый ответ генерируется напрямую), то и решение должно вести себя именно так. Все остальное - чесание правого уха левой ногой.
- неубедительно и, извините, мелко. Ошибки надо уметь признавать. 8 вложенных циклов - это бессилие программиста. И Вы это прекрасно понимаете. Но упорствуете. Зря.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Нет, включать нужно не "жесткие опции", а просто язык С++.
Смотрим на первые строки программы...

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
#include <iostream>
using namespace std;
 
int main()
{
    int n,r,i;
    cout << "n=";
    cin >> n;
    cout << "r=";
    cin >> r;
    
    int *x=new int[n];
    for (i=0; i<n; i++) x[i]=0;
    
    while(1)
    {
        for (i=0; i<n; i++) cout << x[i] << " ";
        cout << endl;
        i=0;
        while (1)
        {
            if (x[i]<r-1)
            {
                x[i]++;
                break;
            }
            x[i++]=0;
            if (i>=n) break;
        }
        if (i>=n) break;
    }
 
    delete [] x;
 
    return 0;
}
Добавлено через 7 минут
Вот протокол компиляции:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
--------
- Makefile Processor: C:\Program Files\Dev-Cpp\MinGW64\bin\mingw32-make.exe
- Command: mingw32-make.exe -f "H:\СppPrj\!!add-2\CL\Makefile.win" all
 
g++.exe -c main.cpp -o main.o -I"C:/Program Files/Dev-Cpp/MinGW64/include" -I"C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"C:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++" -m32
 
g++.exe main.o -o Project1.exe -L"C:/Program Files/Dev-Cpp/MinGW64/lib32" -L"C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32" -static-libgcc -m32
 
 
Compilation results...
--------
- Errors: 0
- Warnings: 0
- Output Filename: H:\СppPrj\!!add-2\CL\Project1.exe
- Output Size: 1,30218029022217 MiB
- Compilation Time: 1,91s
Добавлено через 2 минуты
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Генерацию необходимого количества вложенных циклов можно выполнить при помощи шаблонного метапрограммирования. Главное, что количество циклов нам известно на стадии компиляции.
- ха-ха! А если к-во циклов неизвестно на стадии компиляции (как, кстати, в моем коде) - что тогда?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
25.08.2021, 21:14
Цитата Сообщение от Catstail Посмотреть сообщение
- неубедительно и, извините, мелко. Ошибки надо уметь признавать. 8 вложенных циклов - это бессилие программиста. И Вы это прекрасно понимаете. Но упорствуете. Зря.
Нет, нет, вы не поняли. Я никогда даже и не пытаюсь никого убеждать. Я привык к тому, что мои слова не обсуждаются, а сразу "берутся на карандашик", и не собираюсь отступать от этой привычки. Я даю все это под запись, как аксиому для обязательного изучения. Аксиомы не бывают "убедительными" или "неубедительными". И пока этот материал не усвоится, никакого движения дальше не будет.

А все остальное - это не попытки "убеждения", а лишь иллюстрации для закрепления изученного материала. Некоторые люди, как говорится, не "ловят на лету", а ожидают дополнительного дидактического материала: картинок, схем, масштабных моделей, листингов... Это нормально. Я всегда рад предоставить такие иллюстрации, когда они у меня есть под рукой.

В качестве еще одной иллюстрации приведу еще один пример:

Найти все четырехзначные числа из промежутка [1000; 9990], у которых сумма крайних цифр равна сумме средних цифр

Обратите внимание, что решения такого уровня получаются, как несложно видеть, именно (!) из набора вложенных циклов. И таких решений я уже приводил очень много.

Цитата Сообщение от Catstail Посмотреть сообщение
Смотрим на первые строки программы...
Ииии?

Цитата Сообщение от Catstail Посмотреть сообщение
Вот протокол компиляции:
И? g++.exe в конфигурации по умолчанию - это не С++ вообще.

Добавлено через 7 минут
Цитата Сообщение от Catstail Посмотреть сообщение
А если к-во циклов неизвестно на стадии компиляции (как, кстати, в моем коде) - что тогда?
"А если бабушка является дедушкой?". Это очень интересный вопрос, который, однако, не имеет никакого отношения к теме.

С таким же успехом вы можете бегать с этим вопросом по всем темам, в которых, например, используются или упоминаются С++ шаблоны, тыкать пальцем в каждый шаблонный параметр и громогласно вопрошать "что это за фигня? а что если этот параметр неизвестен на стадии компиляции?" Как вы сами, надеюсь, понимаете, присутствующие в такой ситуации лишь недоуменно переглянутся (обменявшись немым вопросом "что это с ним?"), пожмут плечами и, скорее всего, предпочтут не отвечать.

Вот фактически именно чем-то подобным вы здесь сейчас и занимаетесь. Небольшое отличие заключается лишь в том, что я зачем-то предпочитаю ответить. Видимо потому, что мне не безразлично.
0
 Аватар для COKPOWEHEU
4070 / 2704 / 433
Регистрация: 09.09.2017
Сообщений: 12,026
25.08.2021, 23:02
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Особенно умиляет то, что некоторые "решатели", радеющие здесь за некую "масштабируемость", таки реализовали даже "длинное сложение", но при этом все равно прошили в свой решение константу 6560, тем самым сразу убив на корню всю "масштабируемость", над которой они корпели в процессе реализации...
То есть месье не осилил разобраться что же такое масштабируемость. Впрочем, месье только что сам сформулировал, что к диалогу и обучению не способен:
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Я никогда даже и не пытаюсь никого убеждать. Я привык к тому, что мои слова не обсуждаются, а сразу "берутся на карандашик", и не собираюсь отступать от этой привычки. Я даю все это под запись, как аксиому для обязательного изучения.
Видимо, именно поэтому он несет такую чушь.
Что-ж, если TheCalligrapher учиться не желает, это его право. Тут на форуме есть те, кому приведенные примеры кода пойдут на пользу.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38209 / 21142 / 4312
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 14
26.08.2021, 08:56
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Нет, нет, вы не поняли. Я никогда даже и не пытаюсь никого убеждать. Я привык к тому, что мои слова не обсуждаются, а сразу "берутся на карандашик", и не собираюсь отступать от этой привычки
- слив засчитан. Остальное я даже не стал читать... "Каждый человек может заблуждаться, но упорствовать в заблуждении может только глупец" - М.Т. Цицерон
0
26.08.2021, 09:06

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
слив засчитан.
¯\_(ツ)_/¯ Как говорится, что и требовалось доказать. Уровень оппонента был виден заранее, но все равно лишь прагматично отмечу, что подтверждение не заставило себя ждать.

Всякий раз: как об стенку горох...

0
23 / 24 / 8
Регистрация: 03.12.2013
Сообщений: 202
27.08.2021, 15:05  [ТС]
Не мог успокоиться, и наконец-то сам решил эту задачу (перебора) таким способом:

C++ (Qt)
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
#include   <stdio.h>
 
 
int           arr[8],
               count;
 
 
int  foo(int *, int);
 
void           mon(); 
 
 
 
////////////////////////////////////////////////////    
int main()                                        // 
{
 
    foo(arr, 7);
 
    printf("\n Number of combinations = %d \n", count); 
}
 
 
////////////////////////////////////////////////////   
int foo(int *pAr, int g)                         //
{
 
 
       for(int i = 0; i < 3; i ++) 
       {        
           pAr[g] = i;
           if( g) foo(pAr, g-1);
           if( g == 0) mon(); 
       }    
}
 
 
 
////////////////////////////////////////////////////
void mon()                                        // 
{
    
     printf("%d%d%d%d%d%d%d%d\n", arr[0], arr[1], arr[2], arr[3], 
                                  arr[4], arr[5], arr[6], arr[7]);
     count ++;
}
Миниатюры
Задача перебора возможных значений для 3-х в 8-й степени  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.08.2021, 15:05

Доказать (путем перебора возможных значений), что для любых величин А, В, С типа Boolean следующие пары логических выражений имеют одинаковые значения
Доказать (путем перебора возможных значений), что для любых величин А, В, С типа Boolean следующие пары логических выражений имеют...

Доказать (путем перебора возможных значений), что для любых величин A, B, C типа Boolean следующие пары логических выражений имеют одинаковые значения
Доказать (путем перебора возможных значений), что для любых величин A, B, C типа Boolean следующие пары логических выражений имеют...

Доказать (путем перебора возможных значений), что для любых величин А, В, С типа Boolean следующие пары логических выражений имеют одинаковые значения
Доказать (путем перебора возможных значений), что для любых величин А, В, С типа Boolean следующие пары логических выражений имеют...

доказать(путем перебора возможных значений), что для любых величин А,В,С типа boolean следующие пары логических выражений имеют одинаковые значения(эк
доказать(путем перебора возможных значений), что для любых величин А,В,С типа boolean следующие пары логических выражений имеют одинаковые...

Доказать(путём перебора возможных значений), что для любых величин типа boolean слудующие пары логических выражений имеют одинаковые значения
Помогите пожалуйста решить задачку на DELPHI, тип boolean. Собственно задача: Доказать(путём перебора возможных значений), что для любых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru