Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
2 / 2 / 1
Регистрация: 01.06.2013
Сообщений: 73

Спартанский шифр(Скитала)

08.04.2015, 23:18. Показов 4218. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый вечер) взялся организовать спартанский шифр) затея удалась)
основной класс отвечающий за кодировку

Java
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
package shifr;
 
public class SPARTA {
    private String Message="";
    private String SPARTAMessage;
    private int m;
    private int length;
    
    
    public void setKey(int k) {
        this.m = k;
    }
    public int getKey() {
        return this.m ;
    }
    public String getSPARTAMessage() {
        return this.SPARTAMessage;
    }
    public void setMessage(String message) {
        this.Message = message;
    }
    
    public String getMessage() {
        return this.Message;
    }
    
    public void SHIFR(){
        this.length = this.Message.length();
        int n =(((Integer) (length-1)/m)+1);
        String s = new String();
        System.out.println(n);
        for(int i = 0;i <n; i++){
            for(int j = 0;j < m; j++)
            {
                try{
                    s+=this.Message.charAt(i+n*j);
                }catch(IndexOutOfBoundsException e){
                    s+=" ";
                }
            }
        }
        this.SPARTAMessage = s;
        //this.Message = "";
    }
    
    public void deSHIFR(){
        int n =(((Integer) (length-1)/m)+1);
        char[] s = new char[this.SPARTAMessage.length()];
        int number =0;
        for(int i = 0; i < n;i++){
            for(int j = 0;j < m; j++)
            {
                s[i+n*j]= this.SPARTAMessage.charAt(number);
                number++;
            }
        }
        for (int i = 0; i < s.length; i++) {
            this.Message+=s[i];
        };
        
    }
}
Клас для работы с шифром из консоли)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package shifr;
 
 
public class test
{
 
 
 public static void main(String args[])throws Exception
 {
    SPARTA obj = new SPARTA();
     obj.setMessage("ЭТО ШИФР ДРЕВНЕЙ СПАРТЫ");
     obj.setKey(4);
     obj.SHIFR();   
     System.out.println(obj.getSPARTAMessage());
     obj.deSHIFR();
     System.out.println(obj.getMessage());
 }
}
до этого момента все просто превосходно: шифр работает без нареканий, но когда я решил подключить к видовской форме с помощью библиотеки компонентов SWT наткнулся на "риф".
ниже приведен код формы
Java
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
package shifr;
 
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Spinner;
import shifr.SPARTA;;
 
 
public class MAIN {
 
    protected Shell shell;
    public SPARTA obj;
    /**
     * Launch the application.
     * @param args
     */
    public static void main(String[] args) {
        try {
            MAIN window = new MAIN();
            window.open();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    /**
     * Open the window.
     */
    public void open() {
        Display display = Display.getDefault();
        createContents();
        shell.open();
        shell.layout();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
    }
 
    /**
     * Create contents of the window.
     */
    protected void createContents() {
        shell = new Shell();
        shell.setSize(879, 438);
        shell.setText("SWT Application");
        
        Label lblNewLabel = new Label(shell, SWT.NONE);
        lblNewLabel.setBounds(384, 10, 148, 15);
        lblNewLabel.setText("\u0428\u0418\u0424\u0420 \u0414\u0420\u0415\u0412\u041D\u0415\u0419 \u0421\u041F\u0410\u0420\u0422\u042B");
        
        Label lblNewLabel_1 = new Label(shell, SWT.NONE);
        lblNewLabel_1.setBounds(24, 52, 193, 15);
        lblNewLabel_1.setText("\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0438\u044F");
        
        Label lblNewLabel_2 = new Label(shell, SWT.NONE);
        lblNewLabel_2.setBounds(336, 52, 160, 15);
        lblNewLabel_2.setText("\u0417\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435");
        
        Label lblNewLabel_4 = new Label(shell, SWT.NONE);
        lblNewLabel_4.setBounds(24, 234, 160, 15);
        lblNewLabel_4.setText("\u0417\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435");
        
        Label lblNewLabel_5 = new Label(shell, SWT.NONE);
        lblNewLabel_5.setBounds(336, 240, 185, 15);
        lblNewLabel_5.setText("\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043E\u0435  \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435");
        
        StyledText styledText = new StyledText(shell, SWT.BORDER);
        styledText.setBounds(24, 73, 211, 124);
        
        StyledText styledText_1 = new StyledText(shell, SWT.BORDER);
        styledText_1.setBounds(336, 73, 211, 124);
        
        StyledText styledText_2 = new StyledText(shell, SWT.BORDER);
        styledText_2.setBounds(24, 255, 211, 104);
        
        StyledText styledText_3 = new StyledText(shell, SWT.BORDER);
        styledText_3.setBounds(336, 261, 211, 104);
        
        Spinner spinner = new Spinner(shell, SWT.BORDER);
        spinner.setBounds(246, 73, 47, 22);
        
        spinner.setMinimum(0);
        spinner.setMaximum(1000);
        spinner.setSelection(0);
        spinner.setIncrement(1);
        //spinner.setPageIncrement(100);
        
        Spinner spinner_1 = new Spinner(shell, SWT.BORDER);
        spinner_1.setBounds(246, 255, 47, 22);
        spinner_1.setMinimum(0);
        spinner_1.setMaximum(1000);
        spinner_1.setSelection(100);
        spinner_1.setIncrement(1);
       // spinner_1.setPageIncrement(100);
        
        Button btnNewButton = new Button(shell, SWT.NONE);
        btnNewButton.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                obj.setKey(4);
                obj.setMessage(styledText.getText());
                obj.SHIFR();
                System.out.println(obj.getSPARTAMessage());
            }
        });
        btnNewButton.setBounds(63, 203, 75, 25);
        btnNewButton.setText("New Button");
        
        Button btnNewButton_1 = new Button(shell, SWT.NONE);
        btnNewButton_1.setBounds(352, 209, 75, 25);
        btnNewButton_1.setText("New Button");
        
        Button btnNewButton_2 = new Button(shell, SWT.NONE);
        btnNewButton_2.setBounds(63, 365, 75, 25);
        btnNewButton_2.setText("New Button");
        
        Button btnNewButton_3 = new Button(shell, SWT.NONE);
        btnNewButton_3.setBounds(352, 365, 75, 25);
        btnNewButton_3.setText("New Button");
        
        
        
        
        
        
        
        
    }
}
начал потихоньку "вживлять" свое детище в форму и тут я наткнулся на
Java
1
2
3
4
5
6
7
8
9
10
java.lang.NullPointerException
    at shifr.MAIN$1.widgetSelected(MAIN.java:108)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at shifr.MAIN.open(MAIN.java:41)
    at shifr.MAIN.main(MAIN.java:26)
вот на такой матюк((( обидно однако..вроде и руки не из жопы

кто что скажет по поводу всего этого? после полной доработки скину рабочую прогу сюда же, обещаю
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.04.2015, 23:18
Ответы с готовыми решениями:

Шифр Скитала
Народ помогите с программкой. Вот прога которая шифрует и расшифровывает текст. public class SPARTA { static String...

Шифр Виженера, шифр Скитала
Я много прочитал информации и захотел реализовать эти шифры на Buider C++, а вот как это сделать. Кому интересно, напишите мне примеры этих...

Шифр Скитала
Помогите, пожалуйста, написать шифр Скитала на Си.

3
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,675
Записей в блоге: 29
09.04.2015, 08:02
Лучший ответ Сообщение было отмечено Dimka_friend как решение

Решение

Я конечно извиняюсь, но не могу найти в теле основной программы создания объекта типа СПАРТА! Ты конечно его объявил, молодец, но где
Java
1
 obj=new SPARTA ();
Он у тебя не создан, а ты пытаешься ему какие то ключи передавать
Java
1
obj.setKey(4);
потому и ошибка.
Создай объект где нибудь в самом начале и посмотрим что будет.
1
2 / 2 / 1
Регистрация: 01.06.2013
Сообщений: 73
09.04.2015, 20:41  [ТС]
как и обещал рабочий полностью код шифра Древней Спарты(Скитала)

Класс отвечающий за шифрование сообщения
Java
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
package shifr;
 
public class SPARTA {
    private String Message="";
    private String SPARTAMessage;
    private int m;
    private int length;
    public void setKey(int k) {
        this.m = k;
    }
    public int getKey() {
        return this.m ;
    }
    public String getSPARTAMessage() {
        return this.SPARTAMessage;
    }
    public void setSPARTAMessage(String str) {
        this.SPARTAMessage = str;
    }
    public void setMessage(String message) {
        this.Message = message;
    }
    public String getMessage() {
        return this.Message;
    }
    public void SHIFR(){
        this.length = this.Message.length();
        int n =(((Integer) (length-1)/m)+1);
        String s = new String();
        System.out.println(n);
        for(int i = 0;i <n; i++){
            for(int j = 0;j < m; j++)
            {
                try{
                    s+=this.Message.charAt(i+n*j);
                }catch(IndexOutOfBoundsException e){
                    s+=" ";
                }
            }
        }
        this.SPARTAMessage = s;
        this.Message = "";
    }
    public void deSHIFR(){
        int n =(((Integer) (length-1)/m)+1);
        char[] s = new char[this.SPARTAMessage.length()];
        int number =0;
        for(int i = 0; i < n;i++){
            for(int j = 0;j < m; j++)
            {
                s[i+n*j]= this.SPARTAMessage.charAt(number);
                number++;
            }
        }
        for (int i = 0; i < s.length; i++) {
            this.Message+=s[i];
        };  
    }
}
Класс визуализации
Java
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
package shifr;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Spinner;
import shifr.SPARTA;
import org.eclipse.swt.widgets.Text;
public class MAIN {
protected Shell shell;
    public SPARTA obj = new SPARTA();
    
    public static void main(String[] args) {
        try {
            MAIN window = new MAIN();
            window.open();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    
    public void open() {
        Display display = Display.getDefault();
        createContents();
        shell.open();
        shell.layout();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
    }
 
    
    protected void createContents() {
        shell = new Shell();
        shell.setSize(879, 438);
        shell.setText("SWT Application");
        
        Label lblNewLabel = new Label(shell, SWT.NONE);
        lblNewLabel.setBounds(384, 10, 148, 15);
        lblNewLabel.setText("\u0428\u0418\u0424\u0420 \u0414\u0420\u0415\u0412\u041D\u0415\u0419 \u0421\u041F\u0410\u0420\u0422\u042B");
        
        Label lblNewLabel_1 = new Label(shell, SWT.NONE);
        lblNewLabel_1.setBounds(24, 52, 193, 15);
        lblNewLabel_1.setText("\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u0438\u044F");
        
        Label lblNewLabel_2 = new Label(shell, SWT.NONE);
        lblNewLabel_2.setBounds(336, 52, 160, 15);
        lblNewLabel_2.setText("\u0417\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435");
        
        Label lblNewLabel_4 = new Label(shell, SWT.NONE);
        lblNewLabel_4.setBounds(24, 234, 160, 15);
        lblNewLabel_4.setText("\u0417\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435");
        
        Label lblNewLabel_5 = new Label(shell, SWT.NONE);
        lblNewLabel_5.setBounds(336, 240, 185, 15);
        lblNewLabel_5.setText("\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043E\u0435  \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435");
        
        StyledText styledText = new StyledText(shell, SWT.BORDER);
        styledText.setBounds(24, 73, 211, 124);
        
        StyledText styledText_1 = new StyledText(shell, SWT.BORDER);
        styledText_1.setBounds(336, 76, 196, 118);
        
        StyledText styledText_3 = new StyledText(shell, SWT.BORDER);
        styledText_3.setBounds(336, 258, 196, 101);
        
        StyledText styledText_2 = new StyledText(shell, SWT.BORDER);
        styledText_2.setBounds(24, 255, 211, 104);
        
        Spinner spinner = new Spinner(shell, SWT.BORDER);
        spinner.setBounds(246, 73, 47, 22);
        spinner.setMinimum(0);
        spinner.setMaximum(1000);
        spinner.setSelection(0);
        spinner.setIncrement(1);
        //spinner.setPageIncrement(100);
        
        Spinner spinner_1 = new Spinner(shell, SWT.BORDER);
        spinner_1.setBounds(246, 255, 47, 22);
        spinner_1.setMinimum(0);
        spinner_1.setMaximum(1000);
        spinner_1.setSelection(0);
        spinner_1.setIncrement(1);
      
        
        Button btnNewButton = new Button(shell, SWT.NONE);
        btnNewButton.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try{
                obj.setKey(Integer.parseInt(spinner.getText()));
                obj.setMessage(styledText.getText());
                obj.SHIFR();
                styledText_1.setText(obj.getSPARTAMessage());
                }catch(ArithmeticException e1){
                    
                }
            }
        });
        btnNewButton.setBounds(63, 203, 125, 25);
        btnNewButton.setText("\u0417\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u0442\u044C");
        
        Button btnNewButton_1 = new Button(shell, SWT.NONE);
        btnNewButton_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                styledText_1.setText("");
                styledText.setText("");
            }
        });
        btnNewButton_1.setBounds(404, 209, 75, 25);
        btnNewButton_1.setText("\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C");
        
        Button btnNewButton_2 = new Button(shell, SWT.NONE);
        btnNewButton_2.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try{
                obj.setKey(Integer.parseInt(spinner_1.getText()));
                obj.setSPARTAMessage(styledText_2.getText());
                obj.deSHIFR();
                styledText_3.setText(obj.getMessage());
                }catch(StringIndexOutOfBoundsException e2){}
            }
        });
        btnNewButton_2.setBounds(63, 365, 121, 25);
        btnNewButton_2.setText("\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u0442\u044C");
        
        Button btnNewButton_3 = new Button(shell, SWT.NONE);
        btnNewButton_3.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                styledText_3.setText("");
                styledText_2.setText("");
            }
        });
        btnNewButton_3.setBounds(404, 365, 75, 25);
        btnNewButton_3.setText("\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C");
        
        StyledText styledText_4 = new StyledText(shell, SWT.BORDER);
        styledText_4.setEditable(false);
        styledText_4.setText("");
        styledText_4.setBounds(561, 73, 302, 291);
        
        
        
        
        
        
        
        
        
        
        
        
    }
}
0
09.04.2015, 20:55

Не по теме:

все таки не хватает фотографии Леонида из 300 спартанцев )))

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.04.2015, 20:55
Помогаю со студенческими работами здесь

Шифр перестановки Скитала
Народ помогите создал интерфейс к данной программе, нужно что бы при нажатии на кнопку &quot;зашифровать&quot; исходный текст брался из...

Шифр Сцитала (Скитала)
Помогите найти ошибку. За ранее спасибо! #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; void main() ...

Шифр Вижинера или Скитала
нужно на дельфи шифр вижинера помогите?

Реализовать шифр "скитала"
Здравствуйте. Пожалуйста подскажите как реализовать шифр &quot;скитала&quot; на с#. Очень нужно. Veronika3117, одна тема - один вопрос

Шифр перестановки "Скитала"
Привет всем) помогите пожалуйста написать шифр перестановки &quot;Скитала&quot;, с дешифровкой)


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru