Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/71: Рейтинг темы: голосов - 71, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 05.03.2023
Сообщений: 1

Оцените и посоветуйте как можно улучшить код Крестики-нолики

05.03.2023, 19:56. Показов 17294. Ответов 284
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я учусь в 10 классе и для индивидуального проекта мне нужно чтобы вы оценили и как-то посоветовали улучшить код программы крестики нолики на C++. Вот сам код:

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
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
#include <iostream>
#include <stdio.h>
#include <cstdlib>
#include <windows.h>
using namespace std;
 
void output(char** field) {
    cout << "  1 2 3" << endl;
    for (int i = 0; i < 3; i++) {
        cout << i + 1 << " ";
        for (int j = 0; j < 3; j++) {
            cout << field[i][j] << " ";
        }
        cout << endl;
    }
}
void input(char** field, bool& gamer, string& Name1, string& Name2) {
 
    int answer;
    while (true) {
 
        if (gamer) {
            cout << Name1;
        }
        else {
            cout << Name2;
        }
        cout << ", введите номер строки и столбца: ";
 
 
        cin >> answer;
        if (answer > 10 && answer < 34) {
            int i = answer / 10;
            int j = answer % 10;
 
            if (0 < j && j < 4) {
                if (field[i - 1][j - 1] != 'X' && field[i - 1][j - 1] != 'O') {
                    if (gamer) {
                        field[i - 1][j - 1] = 'X';
                    }
                    else {
                        field[i - 1][j - 1] = 'O';
                    }
                    gamer = !gamer;
                    break;
                }
            }
        }
        cout << "Вы ввели неверную ячейку" << endl;
    }
}
char** fieldCreate(char c = '_') {
    int const n = 3;
    char** field = new char* [n];
    for (int i = 0; i < n; i++) {
        field[i] = new char[n];
        field[i][0] = c;
        field[i][1] = c;
        field[i][2] = c;
    }
    return field;
}
bool chekWin(char** field, string& Name1, string& Name2) {
    bool chekWin = false, gamer = false;
 
    if (field[0][0] == field[1][1] && field[0][0] == field[2][2] && (field[0][0] == 'X' || field[0][0] == 'O') || field[2][0] == field[1][1] && field[2][0] == field[0][2] && (field[2][0] == 'X' || field[2][0] == 'O')) {
        chekWin = true;
        if (field[1][1] == 'X') {
            gamer = true;
        }
    }
    else {
        for (int i = 0; i < 3; i++) {
            if (field[i][0] == field[i][1] && field[i][0] == field[i][2] && (field[i][0] == 'X' || field[i][0] == 'O') || field[0][i] == field[1][i] && field[0][i] == field[2][i] && (field[0][i] == 'X' || field[0][i] == 'O')) {
                chekWin = true;
                if (field[i][i] == 'X') {
                    gamer = true;
                }
                break;
            }
        }
    }
 
    if (chekWin) {
        if (gamer) {
            cout << "победил !" << Name1 << endl;
        }
        else {
            cout << "победил  !" << Name2 << endl;
        }
        return true;
    }
    else {
        bool draw = true;
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                if (field[i][j] != 'X' && field[i][j] != 'O') {
                    draw = false;
                }
            }
        }
 
        if (draw) {
            cout << "ничья";
            return true;
        }
    }
 
    return false;
}
void defoultMassive(char** field, char c = '_') {
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            field[i][j] = c;
        }
    }
}
bool continueGame() {
    bool flag = true;
    while (true) {
        string answer;
        cout << "Хотите ли вы продолжить игру?(Да/Нет)" << endl << "Введите ответ: "; //<< answer;
        cin >> answer;
        if (answer == "Да") {
            break;
        }
        else if (answer == "Нет") {
            flag = false;
            break;
        }
        else {
            cout << "Такого ответа не существует!";
        }
    }
    return flag;
}
void deleteMassive(char** field) {
    for (int i = 0; i < 3; i++) {
        delete[] field[i];
    }
    delete[] field;
}
void randomPlayer(string& Name1, string& Name2) {
    srand(time(0));
    int num = rand() % 2;
    cout << "Введите имя первого игрока: ";
    cin >> Name1;
    cout << "Введите имя второго игрока: ";
    cin >> Name2;
    if (num) {
        string tmp = Name1;
        Name1 = Name2;
        Name2 = tmp;
    }
    cout << "Первым ходит: " << Name1 << endl;
}
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    bool gamer = true;
    char** field = fieldCreate();
    string Name1, Name2;
    randomPlayer(Name1, Name2);
    while (true) {
        defoultMassive(field);
        while (true) {
            system("Cls");
            output(field);
            if (chekWin(field, Name1, Name2))
                break;
            input(field, gamer, Name1, Name2);
 
        }
        if (!continueGame())
            break;
    }
    deleteMassive(field);
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.03.2023, 19:56
Ответы с готовыми решениями:

Крестики-нолики, улучшить программу
Здравствуйте, нужна помощь в улучшении программы. Игра &quot;крестики-нолики&quot;. Суть заключается в проверке на число от 1 до 9 если введено не от...

Как оптимизировать данный код игры крестики нолики?
Привет всем! Я написал консольную игру &quot;Крестики нолики&quot;. Хочу посоветоваться как можно оптимизировать игру. Вот исходный код: ...

Оцените игру крестики нолики (Player vs Bot easy)
Отцените игру. Уровень : легкий

284
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
10.03.2023, 21:27
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от SmallEvil Посмотреть сообщение
Бумажка с ходом, в конверт, плюнь-плюнь и две марки
Вот ты шутишь, а именно с этого и стоит начать.
Пусть каждый ИИ будет полноценной программой, общение через стандартный ввод/вывод (бумажка с ходом), а что там уже прикрутить к std::cin/std::cout - сокеты(для сети) или пайпы(на одном хосте) вопрос второстепенный.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
10.03.2023, 21:37
Цитата Сообщение от zayats80888 Посмотреть сообщение
общение через стандартный ввод/вывод
Оно же тоже синхронное ?
Чем тут помогут стандартные потоки ?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
10.03.2023, 21:43
Цитата Сообщение от SmallEvil Посмотреть сообщение
Оно же тоже синхронное ?
Ась?
Цитата Сообщение от SmallEvil Посмотреть сообщение
Чем тут помогут стандартные потоки ?
Расширяет круг участников, мож какой питонист захочет написать свой ИИ. И поучавствовать в вашем соревновании.
Главное текстовый протокол попроще.
1
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
10.03.2023, 22:35
Цитата Сообщение от XLAT Посмотреть сообщение
и это(черный список) очень легко сделать.
готово:
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
/// Тест.
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
 
struct  Blacklist
{       Blacklist() : file_name_blist("blacklist.txt")
        {
            std::ifstream f(file_name_blist);
            if(f.is_open())
            {
                for(std::string s ; std::getline(f, s);)
                {   m.push_back(s);
                }
            }
        }
 
    bool is_this_file_fail(std::string file_name) const
    {   for(const auto& nm : m) if(nm == file_name) return true; return false;
    }
 
    void add(std::string  file_name) const
    {   std::ofstream(file_name_blist, std::ios_base::app)
                   << file_name << std::endl;
    }
 
private:
    const char* file_name_blist;
    std::vector<std::string>  m{"xxx.dll"}; /// TODO: test
};
 
int main()
{
    Blacklist   bl;
                bl.add("aaa.dll");
                bl.add("bbb.dll");
 
    std::cout << (bl.is_this_file_fail("aaa.dll") ? "FAIL" : "GOOD") << '\n';
}
Добавлено через 30 минут
Цитата Сообщение от zayats80888 Посмотреть сообщение
std::cin/std::cout
вот тема была:
Перенаправление вывода в переменную
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
12.03.2023, 09:37
в принципе движек для турнира готов:

Дерево Арбитра:
Миниатюры
Оцените и посоветуйте как можно улучшить код Крестики-нолики  
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
12.03.2023, 14:29
XLAT, вчера оценивал фронт работы над ботом.
Предлагаю правку :
- Добавить функцию установки, арбитром, фишки на поле , именно установки, например начальная фишка в центре или формирование любой расстановки на доске.
- Если последний ход не указан {-1,-1}, значит это первый ход, после расстановки фишек, добавить об этом информацию к этому полю.

--- конец предложения по правке

Добавлено через 7 минут
XLAT, ai_xlat.h - что это такое ?
1
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
12.03.2023, 14:35
Цитата Сообщение от SmallEvil Посмотреть сообщение
Предлагаю правку :
- Добавить функцию ...
эту фичу нетрудно добавить,
самый простой вариант.
1. рядом с ехе положить файл pregame.txt
2. Арбитр, если видит такой файл то читает конфиг с него.
3. Требований к содержанию никаких, но тогда с защитой от дурака
4. И два варианта реакции на ошибки - если есть хоть одна, то игнор, 2 вариант - ошибки пытаться исправить.
5. Или есть требования: первые два числа[H][W] - размер поля + только можно 3 разных символа.

Добавлено через 2 минуты
Цитата Сообщение от SmallEvil Посмотреть сообщение
ai_xlat.h - что это такое ?
это я как бы начал писать свой СУПЕР-ПУПЕР мозг.
но ещё пока не дописал)

он там отдельным файлом - мешать не должен
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
12.03.2023, 14:51
Цитата Сообщение от XLAT Посмотреть сообщение
эту фичу нетрудно добавить,
Значит можно в скором времени ожидать ? (скажи, совсем оборзели )
Цитата Сообщение от XLAT Посмотреть сообщение
это я как бы начал писать свой СУПЕР-ПУПЕР мозг.
Вчера тоже, сел, пока повозился с IDE, был глюк с utf8 , установил обновленную IDE.
Начал настраивать цветовую подсветку, посидел посмотрел на монитор, набросал порядок работы БОТа, что за чем ему собирать, анализировать.
Создал пустые функции и приближенные переменные для собранных данных.
Утомился. Закрыл все
В идее выглядит хорошо, как это реализовать пока
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
12.03.2023, 15:13
Цитата Сообщение от SmallEvil Посмотреть сообщение
с IDE, был глюк с utf8
как название ИДЕ?

кодеблок 10 летней давности идеально справляется,
но можно и этого года поставить(портабл версия - без инсталляции)
https://www.cyberforum.ru/post16769444.html

Цитата Сообщение от SmallEvil Посмотреть сообщение
цветовую подсветку
добавить цвета в консоль ваще не проблема.

но мож захочется чего то поболее,
например крестики-нолики с гуем на шейдарах

поэтому правильно будет это выпилить iostream в отдельный файл и дергать его через абстракцию.
там и подкрасить его можно и для Royal_X с его версией гуя проблем в внедрением тоже не будет(внутрь не надо лезть - дергать тока гуя интерфейсы)

Цитата Сообщение от SmallEvil Посмотреть сообщение
Значит можно в скором времени ожидать ?
запилю прямо щас за полчаса + отладка)

Цитата Сообщение от SmallEvil Посмотреть сообщение
В идее выглядит хорошо, как это реализовать пока
ха,
а знаешь что позже выяснится:
что ИИ для кресто-ноликов потом вполне сможет беспилотниками управлять))
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
12.03.2023, 15:25
Цитата Сообщение от XLAT Посмотреть сообщение
цветовую подсветку
добавить цвета в консоль ваще не проблема.
Подсветку синтаксиса редактора исходного кода.
Не нужно ничего в консоли рисовать.

Цитата Сообщение от XLAT Посмотреть сообщение
как название ИДЕ?
CodeLite 9.0.0.
Он UTF-8 открывал нормально, но сохранял уже без BOM и при последующей зхагрузке, уже все (не ASCII) через одно место.
Обновился, но интерфейс немного другой уже, и цветовые темы подсветки немного другие.

Цитата Сообщение от XLAT Посмотреть сообщение
поэтому правильно будет это выпилить iostream в отдельный файл и дергать его через абстракцию.
там и подкрасить его можно и для Royal_X с его версией гуя проблем в внедрением тоже не будет(внутрь не надо лезть - дергать тока гуя интерфейсы)
Поддерживаю.

Цитата Сообщение от XLAT Посмотреть сообщение
что ИИ для кресто-ноликов потом вполне сможет беспилотниками управлять))
Это только если начну на графах ваять )
Первого решил просто пощупать попинать с разных сторон фишки. Без терминаторов.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
12.03.2023, 17:46
XLAT, на каком этапе твой AI? Несколько он мощный?
Я вот пока прокрастинирую и все никак не напишу нормальный AI, который будет работать с моим гуем. А у меня же там от 3х3 до 20х20, так что мне придется хорошенько задуматься над оптимизацией.
Вот, для 3х3, полагаю есть 9! = 362 880 позиций и тут даже можно просто перебирать всё, не говоря уже о том, что для доски такого размера известна идеальная выигрышная стратегия, с помощью которой можно всё не перебирать.
Но вот для 20х20 это уже
Кликните здесь для просмотра всего текста
400! = 6403452284662389526234797031950300585070 2583026002959458684445942802397169186831 4362784786474632646762943505750358568108 4829816288351743522896198864680299793734 1654150838162426461942352307046244325015 1144486708906627739149181173319559964407 0954967134529047702032243491121079759328 0795101545372667251627877890009349763765 7103263503315339653498683868313393520243 7378815778679150631185870261827016981974 0062983025308591298346162272304558339520 7596115053022360868104332972551948526744 3223243866994842240423259980555161063594 2376961399231917134063858996537970147827 2066063202173794720103213566246138090779 4230459736069956759583609615871512991382 2286578579549361617654480453222007825818 4008484364155912294542753848035583745180 2267590006139956014559520612721119291810 5032491008000000000000000000000000000000 0000000000000000000000000000000000000000 00000000000000000000000000000

Передо мной стоит задача найти оптимальное количество отсечений, задуматься над тем сколько plies выставить для depth, и приблизительно понять какую kN/s я получу. Но чёт мне кажется, что для 20х20 движок будет тупее человека.
Или могу вообще ничего не делать, а просто за вами понаблюдать)
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
12.03.2023, 17:55
Цитата Сообщение от Royal_X Посмотреть сообщение
Или могу вообще ничего не делать, а просто за вами понаблюдать)
Ты гуй сделай нам, что б мы наших ботов "воспитывали".
Мы сами ботов болтами прикрутим )

Добавлено через 47 секунд
Цитата Сообщение от Royal_X Посмотреть сообщение
Но вот для 20х20 это уже
Ты хотел прямо железобетонный ИИ создать ?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
12.03.2023, 18:07
Цитата Сообщение от SmallEvil
Ты хотел прямо железобетонный ИИ создать ?
Не ну хотя бы такой, который с вероятностью 99,9% выигрывает на поле 20х20 у среднестатистического человека.
Цитата Сообщение от SmallEvil
Ты гуй сделай нам, что б мы наших ботов "воспитывали".
Мы сами ботов болтами прикрутим )
Да какой из меня гуесоздатель) Я вот создал тот простой гуй для Randомича просто, чтобы не вводить ходы через консоль. Но такой гуй вам не подойдёт. Тут уже нужно реализовать возможность подключения движков через UI и чтобы гуй имел свой процесс, чтобы при нагрузке или зависании движка, гуй не зависал, а просто оповещал. Я с процессами WinAPI вообще не знаком, нужно будет это изучить.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
12.03.2023, 18:12
Цитата Сообщение от Royal_X Посмотреть сообщение
Но такой гуй вам не подойдёт
Для ручного, домашнего воспитания Бота - подойдет.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
12.03.2023, 18:40
SmallEvil, ну если подойдет, лови
Вложения
Тип файла: zip game.zip (101.6 Кб, 26 просмотров)
1
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
12.03.2023, 19:57
Цитата Сообщение от SmallEvil Посмотреть сообщение
CodeLite 9.0.0.
упс,
ставил, смотрел, тормознутая это вещь.

после того - желание не возникала на эту иде смотреть.

кода ситхи и джедаи из комитета С++ рассказывают на своих конференциях о новых крестофичах в С++30
они это показывают на большом экране в ИДЕ Code::Blocks

Цитата Сообщение от SmallEvil Посмотреть сообщение
Это только если начну на графах ваять )
начать с простого - рандом обыгрывать - тупо в ряд.

Цитата Сообщение от Royal_X Посмотреть сообщение
на каком этапе твой AI? Несколько он мощный?
нее, пока немощный - сначала нуно подходящие структуры подготовить, пока не готово.

Цитата Сообщение от Royal_X Посмотреть сообщение
Или могу вообще ничего не делать, а просто за вами понаблюдать)
ну, да, так никто ещё не делал - ты первый будешь)

Цитата Сообщение от Royal_X Посмотреть сообщение
game.zip
ого, неужто исходники наконец то созрели)

Цитата Сообщение от XLAT Посмотреть сообщение
запилю прямо щас за полчаса + отладка)
щас протестю и выложу.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
12.03.2023, 21:10
Цитата Сообщение от XLAT Посмотреть сообщение
упс,
ставил, смотрел, тормознутая это вещь.
Искал полегче IDE, но сильнее notepad++.
Современный Eclipse на моем ослике слишком "толстый" стал, по ОЗУ.
Code Block выглядит, да походу и есть, как что то украденное с Линухи, при том вон из рук плохо.
Но не суть важно.

Цитата Сообщение от XLAT Посмотреть сообщение
кода ситхи и джедаи из комитета С++ рассказывают на своих конференциях о новых крестофичах в С++30
они это показывают на большом экране в ИДЕ Code::Blocks
Не люблю рекламу.

Добавлено через 2 минуты
К тому же инструмент, вероятно, выбран намеренно максимально нейтрально, как это возможно и не стоит думать что это Лучшая IDE.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
12.03.2023, 21:27
Code::blocks хороша, но чет ее давно не обновляли. И у нее нет темной темы. В инете есть какие-то неофициальные файлы настроек темы, которые можно типа импортировать. Но все равно не то, не нравится. Ещё у нее нет intellisence или чего-нибудь в этом роде. Такое чувство, что пишешь просто в блокноте.
Короче, я пока юзаю VS Code и все устраивает, хотя проекты настраиваются через json, а не UI, и это отнимает много времени. В плане написания кода - все даже очень комфортно, прям как в Visual Studio.

SmallEvil, Eclipse CDT мне не очень понравилась. Но вот Eclipse for Java даже очень неплоха. Работает шустрее тормознутого Intelij Idea от Jetbrains, да и компилирует мгновенно, т.к. юзает компилятор не из JDK, а собственный с технологией инкрементальной компиляции. IBM говно не сделает.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
12.03.2023, 21:29
Цитата Сообщение от Royal_X Посмотреть сообщение
И у нее нет темной темы.
Я вот как раз темные темы и использую.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
12.03.2023, 22:06
Цитата Сообщение от SmallEvil Посмотреть сообщение
Добавить функцию установки, арбитром, фишки на поле , именно установки, например начальная фишка в центре или формирование любой расстановки на доске.
https://github.com/BDOTimer/cf... nfigload.h

файл конфига - куда писать начальное состояние игры:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/// Комменты...(если в строке "//", то ВСЯ строка игнорируется)
///
/// В первой строке - сразу под комментами - должно быть 3 числа + 2 символа!
/// (т.е. строго 5 токенов!)
///
///     1 - число - сколько фишек поставить рядом нужно для победы
///     2 - высота поля.
///     3 - ширина поля.
///     4 - фишка, которая всегда ходит первой.
///     5 - фишка того, кто обороняется.
///
/// Если поле с кол-вом символов на поле больше, 
/// чем числа конфига, то поле урезается!
///
/// Табы вместо пробелов пока не отлавливаются...
///----------------------------------------------------------------------------:
5 10 10 S D
 
    D
    D
   SSS
    D
    D
Цитата Сообщение от SmallEvil Посмотреть сообщение
- Если последний ход не указан {-1,-1}, значит это первый ход, после расстановки фишек, добавить об этом информацию к этому полю.
это можно определить двумя способами
- как уже упомянуто
- если у тя фишка из cfg.FISHKI[0], то ты нападающий...

т.е. это уже всё есть .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2023, 22:06

Оцените сборку в днс , как можно улучшить ? Бюджет 50 к
Вот http://www.dns-shop.ru/conf/b6dc324d86718ee2/ ссылка на днс , хотел бы узнать как вам моя сборка , делаю это в первый раз Бюджет 55 к

Посоветуйте как улучшить код
@Autowired private ClothFabricRepository clothFabricRepository; @Autowired private CurtainRepository curtainRepository; ...

Посоветуйте, как улучшить код?
Здравствуйте! Вот такую форму написал. Посоветуйте как улучшить код? &lt;html&gt; &lt;head&gt; &lt;title&gt;&lt;/title&gt; ...

Крестики-нолики: как написать код для того, чтобы программа могла объявить победителя?
И да, поле 5 на 5. Сам код: #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;Windows.h&gt; using namespace std; void...

Подскажите какую игру можно написать в Делфи, не сильно сложную, не такую, как змейка, крестики-нолики, пинг-понг и т.д?
Мне нужно написать какую-нибудь программу в делфи, но как говорит мой препод &quot;не такую, что можно написать за 5 минут&quot;, но мне...


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

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru