Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/1: Рейтинг темы: голосов - 1, средняя оценка - 5.00
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,249
Записей в блоге: 3

Совместное создание игры

08.01.2025, 12:45. Показов 52868. Ответов 942
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий администратора 
Обсуждение вынесено из темы Ищу человека для совместного изучения программирования


Цитата Сообщение от Royal_X Посмотреть сообщение
Вот на моем неигровом ноуте последний UE без проблем запускается и не тормозит даже.
ок.
если ТС готов варганить со мной сапера, то я сделаю ещё одну попытку его(пожалуй 4 версию) установить и испытать.

собсно что нужно: формально отображать некие графические модели на экране в нужном его месте нужного масштаба,
для теста сойдут спрайты - а потом можно и анимированные модели голых девочек,
на усмотрение геймдиза))

и больше ничаво.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2025, 12:45
Ответы с готовыми решениями:

Для чего создан язык С++?
Для чего создан язык С++????

создан массив
создан массив автовладельцев, для каждого известны Ф.И.О., номер, адрес...,Выяснить есть ли автовладельцы у которых имеются больше 1-ой...

Теория игр, массивы
Есть задание (прикрепил его в виде файла к сообщению). Есть решение для 12-ого варианта на BORLANDC, у меня 2-ой. Я изменил в начале...

942
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,184
26.01.2025, 18:59
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от XLAT Посмотреть сообщение
cpu4020
типа https://www.intel.com/content/... tions.html ?
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,249
Записей в блоге: 3
26.01.2025, 19:03  [ТС]
https://www.chuwi.com/ru/produ... roBook-Pro
изучай. тока молча
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,184
26.01.2025, 19:21
XLAT, ну так я правильно писал, UHD Graphics 600. Там 12 EU (execution unit).

Как уже писал, у меня тоже встроенная графика, но 96 EU. https://www.intel.com/content/... tions.html

Добавлено через 2 минуты
XLAT, но это мы с тобой на офисных ноутах шейдеры тискаем , для пацанов с RTX там нет проблем с этим

Добавлено через 13 минут
XLAT, теперь ты понял, почему не нужно создавать всякие красивые материалы с помощью кода, в частности создавать текстуру мяча? Вот такой красивый мяч Ищу человека для совместного изучения программирования никак не будет влиять на фпс, что не скажешь об "умных" шейдерных игрушках.
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,249
Записей в блоге: 3
26.01.2025, 19:22  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
но это мы с тобой на офисных ноутах
нет - у меня не офисный - я с собой его ношу - это разница.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,184
26.01.2025, 19:24
Цитата Сообщение от XLAT Посмотреть сообщение
нет - у меня не офисный - я с собой его ношу - это разница.
я имею в виду такие предназначены только для запуска офисного пакета, конечно, преувеличиваю. А так, я тоже свой каждый день ношу. Правда у меня батарея макс хватает на 6 часов.
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,249
Записей в блоге: 3
26.01.2025, 19:27  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
никак не будет влиять на фпс, что не скажешь об "умных" шейдерных игрушках.
это все настраиваться юзером должно, а лучше автоматически: иф фпс упал зен отключить тяжелые алгоритмы...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,184
26.01.2025, 19:35
Цитата Сообщение от XLAT Посмотреть сообщение
иф фпс упал зен отключить тяжелые алгоритмы...
так не выгодно капиталистам, ибо придется тратить много времени на разработку игры. Надо щоб у ребенка игра лагала, чтобы он клянчил перед мамой, чтобы та купила новое железо.

Добавлено через 4 минуты
XLAT, повод для праздника https://www.cyberforum.ru/abou... st17509413

я смог убедить владельца сайта https://www.cyberforum.ru/abou... st17506902, хотя другой админ был против
Конечно, не неограниченное время, как я хотел, но 12 часов тоже норм
1
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,249
Записей в блоге: 3
26.01.2025, 19:46  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
12 часов
это только для меня одного актуально, ибо я единственный, который пишет код прямо тут в треде(доля шутки)

выше, где "за 1 минуту" надо бы закешировать инициализарку, увидел когда редактировать уже было нельзя...
0
 Аватар для Inskipp
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
28.01.2025, 08:56
Секс уже много раз предлагали?

Добавлено через 13 минут
А где про секс?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,184
28.01.2025, 08:59
Inskipp, вот тут пиши https://www.cyberforum.ru/relationships/
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,249
Записей в блоге: 3
28.01.2025, 09:30  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
вот тут пиши
то что ТС помалкивает говорит о том, что ТС ищет себе пару не для публичных занятий крестояпом...
и предлагать не надо - это подразумевается его гордым молчанием))

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

лучший способ сплотить толпу это сфокусировать её на единой цели - т.е. неким
"достойным" в глазах членов этой толпы проектом.

спобоб лучший, но трудно осуществимый.
0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
29.01.2025, 17:19
Сделал прототип алгоритмов заполнения матрицы и пустых областей. Функция flood() имеет довольно оригинальный алгоритм, который пришел мне вчера в качестве откровения)). Во всяком случае я не нашел похожего подхода реализации flood fill в сети. Алгоритм совмещает в себе преимущества стекового подхода и сканирования линий, это нечто среднее. Но уж точно работает быстрее рекурсии. Идея такая: берем пустую клетку и помечаем ее обработанной (цифрой 2 в коде), затем сканируем влево пока есть пустые ячейки и пушим их в стек, затем сканируем вправо, потом вверх, потом вниз. В итоге в стеке все необработанные узлы. Далее проверяем стек на пустоту и если пустой выходим. Если не пустой, то берем координаты из стека и продолжаем сканирование. Это значение из стека удаляем. Довольно все очевидно и просто. По крайней мере не сложнее рекурсивного алгоритма:
Кликните здесь для просмотра всего текста
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
#include <iostream>
//#include <sstream>
#include <time.h>
#include <cstring>
#include <stack>
#include <vector>
using namespace std;
typedef struct crd {
  int x,y;
}T_crd;
 
class Cmtrx{//матрица
  int *m;
  int c, r;
public:
  Cmtrx(int, int, bool);
  Cmtrx(){c=0; r=0; m=NULL;}
  void sv(int i, int j, int v){m[c*i+j]=v;}
  int gv(int i, int j){return m[c*i+j];}
  void clr();
  void nw(int, int, bool);
  int& operator()(int, int);
  int gC()const{return c;} int gR()const{return r;}
  ~Cmtrx();
};
int& Cmtrx::operator()(int i, int j){return m[c*i+j];}
Cmtrx::Cmtrx(int cc, int rr, bool n=false){
  m=(int*)malloc(sizeof(int)*cc*rr);
  c=cc; r=rr;
  if(n){
    for(int i=0; i<rr; i++){
        for(int j=0; j<cc; j++){
           sv(i, j, 0);
        }
    }
  }
}
Cmtrx::~Cmtrx(){
 if(m!=NULL)
  free(m);
}
void Cmtrx::clr(){
  if(m!=NULL)free(m);
  c=0; r=0;
}
void Cmtrx::nw(int cc, int rr, bool n){
    clr();
    m=(int*)malloc(sizeof(int)*cc*rr);
  c=cc; r=rr;
  if(n){
    for(int i=0; i<rr; i++)
        for(int j=0; j<cc; j++)
           sv(i, j, 0);
  }
}
stack<T_crd> st;
void flood(Cmtrx& m, T_crd cr){
    T_crd c;
    while(true){
      m.sv(cr.x, cr.y, 2);
      c.y=cr.y;
      for(int i=cr.x-1; i>=0 && m(i, cr.y)==0; i--){
        c.x=i;
        st.push(c);
      }
      c.y=cr.y;
      for(int i=cr.x+1; i<m.gC() && m(i, cr.y)==0; i++){
        c.x=i;
        st.push(c);
      }
      c.x=cr.x;
      for(int i=cr.y-1; i>=0 && m(cr.x, i)==0; i--){
        c.y=i;
        st.push(c);
      }
      c.x=cr.x;
      for(int i=cr.y+1; i<m.gR() && m(cr.x, i)==0; i++){
          c.y=i;
          st.push(c);
      }
      if(st.empty())return;
      cr.x=st.top().x;
      cr.y=st.top().y;
      st.pop();
    }
}
int main()
{
    //srand(time(NULL));
    //stack st;
    int t, nm=40; T_crd cr;
    vector<T_crd> v;
    Cmtrx b(9, 9,true);
    t=b.gR()*b.gC();
    v.reserve(b.gR()*b.gC());
    for(int i=0; i<b.gR(); i++){
        cr.x=i;
        for(int j=0; j<b.gC(); j++){
          cr.y=j;
          v.push_back(cr);
        }
    }
    for(int j=0; j<nm; j++){
      int g=rand()%t;
      b.sv(v[g].x, v[g].y, 1);
      v[g]=v[t-1]; v.pop_back(); t--;
    }
    flood(b, {7, 7});//нужно изменить координаты чтобы попасть в пустую область
    for(int i=0; i<b.gR(); i++){
            cout << endl;
        for(int j=0; j<b.gC(); j++)
           cout << b(i, j);
    }
    system("pause");
return 0;
}

Цифрой 0 помечены пустые ячейки а цифрой 1 мины.

Добавлено через 18 минут
В плюсах сложно передавать в функции матрицы разных размеров, поэтому пришлось делать свой прототип поддержки матриц, обернув его в класс. Я конечно не спец в плюсах, а только учусь, поэтому возможно код корявый, но я буду писать так как хочу))
2
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
29.01.2025, 17:30
CoderHuligan, в Cmtrx::clr не помешало бы m обнулить. На будущее.
1
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
29.01.2025, 17:35
Croessmah, спасибо. Конечно. Писал в спешке, всё равно в игре все будет по другому. Это все прототипы.
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,249
Записей в блоге: 3
30.01.2025, 05:43  [ТС]
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Довольно все очевидно и просто. По крайней мере не сложнее рекурсивного алгоритма:
чтобы я смог увидеть, что вы написали я чуть отформатировал ваш код для читабельности:
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
#include <iostream>
//#include <sstream>
#include <cstring>
#include <vector>
#include <stack>
#include <ctime>
 
struct Coord
{   int  x,y;
};
 
class Matrix : public std::vector<int>
{
    int c, r;
public:
    Matrix(int, int, bool);
    Matrix() : c(0), r(0){}
 
    void set(int i, int j, int v)       {        (*this)[c*i+j] = v; }
    int  get(int i, int j       ) const { return (*this)[c*i+j]    ; }
 
    void renew(int, int, bool);
    int& operator()(int, int );
 
    int sizeC() const { return c; }
    int sizeR() const { return r; }
 
private:
    void clr();
    void fill_zero()
    {   for    (int i=0; i<r; i++)
            for(int j=0; j<c; j++)
                set(i, j, 0);
    }
};
 
int& Matrix::operator()(int i, int j)
{   return (*this)[c*i+j];
}
 
Matrix::Matrix(int cc, int rr, bool n=false) : std::vector<int>(cc*rr)
{
    c=cc;
    r=rr;
 
    if(n) fill_zero();
}
 
void Matrix::clr()
{   clear();
    c=0;
    r=0;
}
 
void Matrix::renew(int cc, int rr, bool n)
{
    this->resize(cc*rr);
 
    c=cc;
    r=rr;
 
    if(n) fill_zero();
}
 
std::stack<Coord> st;
 
void flood(Matrix& m, Coord cr)
{   Coord c;
    while(true)
    {   m.set(cr.x, cr.y, 2);
        c.y=cr.y;
        for(int i=cr.x-1; i>=0 && m(i, cr.y)==0; i--)
        {   c.x=i;
            st.push(c);
        }
        c.y=cr.y;
        for(int i=cr.x+1; i<m.sizeC() && m(i, cr.y)==0; i++)
        {   c.x=i;
            st.push(c);
        }
        c.x=cr.x;
        for(int i=cr.y-1; i>=0 && m(cr.x, i)==0; i--)
        {   c.y=i;
            st.push(c);
        }
        c.x=cr.x;
        for(int i=cr.y+1; i<m.sizeR() && m(cr.x, i)==0; i++)
        {   c.y=i;
            st.push(c);
        }
 
        if(st.empty())return;
 
        cr.x=st.top().x;
        cr.y=st.top().y;
        st.pop();
    }
}
 
int main()
{   //srand(time(NULL));
    //stack st;
 
    int t, nm = 40;
 
    Matrix b(9, 9, true);
 
    std::vector<Coord> v; v.reserve(b.size());
 
    for    (int i=0; i<b.sizeR(); i++)
    {   for(int j=0; j<b.sizeC(); j++)
        {   v.push_back({i, j});
        }
    }
 
    t=b.size();
 
    for(int j=0; j<nm; j++, t--)
    {   int g=rand()%t;
 
        b(v[g].x, v[g].y) = 1; /// b.set(v[g].x, v[g].y, 1);
        v[g]=v[t-1];
 
        v.pop_back();
    }
 
    flood(b, {7, 7});//нужно изменить координаты чтобы попасть в пустую область
 
    for    (int i=0; i<b.sizeR(); i++)
    {   for(int j=0; j<b.sizeC(); j++)
            std::cout << b(i, j);
        std::cout << std::endl;
    }
 
    std::cin.get();
    return 0;
}
1
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
30.01.2025, 08:39
Цитата Сообщение от XLAT Посмотреть сообщение
что вы написали
А почему компилятор молчал как рыба?))

Добавлено через 40 минут
Спасибо, за причесанный вариант. Очень поучительно.
1
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,249
Записей в блоге: 3
30.01.2025, 09:07  [ТС]
CoderHuligan, какой стандарт С++ у вас сейчас в тренде(признанно стабильно постоянным)?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,184
30.01.2025, 09:51
Цитата Сообщение от XLAT Посмотреть сообщение
C++
1
2
3
4
5
void fill_zero()
    {   for    (int i=0; i<r; i++)
            for(int j=0; j<c; j++)
                set(i, j, 0);
    }
C++
1
2
3
4
5
6
#include <algorithm>
 
void fill_zero()
{
    std::fill(begin(), end(), 0);
}
0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
30.01.2025, 09:53
Цитата Сообщение от XLAT Посмотреть сообщение
какой стандарт С++ у вас сейчас в тренде
В настройках выставлено С17, но я пока не выше С11 поднялся, так как пишу по книгам Шилдта и Страуструпа, а они довольно старые.

Добавлено через 1 минуту
Компилятор gcc. СodeBlocks
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,249
Записей в блоге: 3
30.01.2025, 11:42  [ТС]
Цитата Сообщение от CoderHuligan Посмотреть сообщение
не выше С11 поднялся
ок.

если продолжить рефакт:
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
181
182
183
184
185
186
187
188
189
190
191
#include <iostream>
#include <sstream>
#include <fstream>
#include <cstring>
#include <vector>
#include <stack>
#include <ctime>
 
///----------------------------------------------------------|
/// В С++ индексы массивов(те что контейнеры) size_t типа... |
/// не будем же цать против ветра.                           |
///----------------------------------------------------------:
using uint = unsigned;
 
struct Coord
{   uint  x,y;
};
 
class Matrix : public std::vector<uint>
{   uint c, r;
public:
    Matrix(uint, uint, bool);
    Matrix() : c(0), r(0) {}
 
    void set(uint i, uint j, uint v)       { (*this)[c*i+j] = v   ; }
    uint get(uint i, uint j        ) const { return (*this)[c*i+j];}
 
    void  renew(uint, uint, bool);
    uint& operator()(uint, uint );
 
    uint sizeC() const { return c; }
    uint sizeR() const { return r; }
 
private:
    void clr();
    void fill_zero()
    {   for    (uint i=0; i<r; i++)
            for(uint j=0; j<c; j++)
                set(i, j, 0);
    }
};
 
uint& Matrix::operator()(uint i, uint j)
{   return (*this)[c*i+j];
}
 
Matrix::Matrix(uint cc, uint rr, bool n=false) : std::vector<uint>(cc*rr)
{   c=cc;
    r=rr;
 
    if(n) fill_zero();
}
 
void Matrix::clr()
{   clear();
    c=0;
    r=0;
}
 
void Matrix::renew(uint cc, uint rr, bool n)
{   this->resize(cc*rr);
 
    c=cc;
    r=rr;
 
    if(n) fill_zero();
}
 
std::ostream& operator<<(std::ostream& o, const Matrix& m)
{   for    (uint i=0; i<m.sizeR(); i++)
    {   for(uint j=0; j<m.sizeC(); j++)
        {   o << m.get(i, j);
        }   o << '\n';
    }
    return o;
}
 
///----------------------------------------------------------------------------|
/// Алгоритмт Хулигана в одном молуле.
///     - можно создать в программе кучу таких модулей, т.е. оюъектов такого типа.
///     - хранить состояние сколько угодно долго.
///     - гонять этот модуль(объект) по всей программе.
///     - ничего не торчит в наружу - легче читать код.
///     - ...
///----------------------------------------------------------------------------|
struct  AlgorithmHuligan
{       AlgorithmHuligan(uint R = 9, uint C = 9, bool a = true) : b(R, C, a)
        {   v.reserve(b.size());
 
            for    (uint i=0; i<b.sizeR(); i++)
            {   for(uint j=0; j<b.sizeC(); j++)
                {   v.push_back({i, j});
                }
            }
 
            uint t = b.size();
 
            for(uint j=0; j<nm; j++, t--)
            {   uint g=rand()%t;
 
                b(v[g].x, v[g].y) = 1; /// b.set(v[g].x, v[g].y, 1);
                v[g]=v[t-1];
 
                v.pop_back();
            }
        }
 
    ///------------------|<--- !!!
    /// Интерфейс.       |
    ///------------------:
    void doStep(const Coord& coord)
    {   flood(b, coord);
    }
 
    ///------------------|<--- !!!
    /// ПОДВАЛ...        |
    ///----------------...
private:
    Matrix             b;
    std::vector<Coord> v;
 
    uint nm = 40;
 
    void flood(Matrix& m, Coord cr)
    {
        std::stack<Coord> st;
 
        while(true)
        {   m.set(cr.x, cr.y, 2);
 
        for(uint x=cr.x-1; x>=0        && m(x, cr.y)==0; x--) st.push({x, cr.y});
        for(uint x=cr.x+1; x<m.sizeC() && m(x, cr.y)==0; x++) st.push({x, cr.y});
        for(uint y=cr.y-1; y>=0        && m(cr.x, y)==0; y--) st.push({cr.x, y});
        for(uint y=cr.y+1; y<m.sizeR() && m(cr.x, y)==0; y++) st.push({cr.x, y});
 
            if(st.empty()) return;
 
            cr.x=st.top().x;
            cr.y=st.top().y;
            st.pop();
        }
    }
 
    ///------------------|
    /// Автотест.        |
    ///------------------:
    static bool autoTest()
    {
        AlgorithmHuligan task;
                         task.doStep({7,7}); /// нужно изменить координаты чтобы
                                             /// попасть в пустую область
        const auto& m = task.b;
 
        std::stringstream ss;
                          ss << m;
        std::cout            << ss.str() << std::endl;
 
        std::string s; std::getline(std::ifstream("etalon.txt"), s, '\f');
        if(s.empty())
        {
            std::cout << "WARNING: File \"etalon.txt\" absent!\n";
 
            ///------------------------------------------|
            /// Изготовливаем эталонный файл результата. |
            /// (теперь будем вносить изменения в код)   |
            ///------------------------------------------:
            std::ofstream("etalon.txt") << m << std::endl;
 
            std::cout << "File \"etalon.txt\" was created!\n";
        }
 
        bool b = s == ss.str();
        {   std::cout << "Autotest: "
                      << (b ? "ERROR CODE..." : "SUCCESS!") << '\n';
        }
 
        return b;
    }
 
    friend int main();
};
 
 
int main()
{   //srand(time(NULL));
 
    bool isGood = AlgorithmHuligan::autoTest();
 
    std::cin.get();
    return  isGood;
}
Добавлено через 5 минут
есть косячок - нужно поправить тест ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.01.2025, 11:42

Решение матричных игр. Есть у кого такая программа написанная уже...
Требуется программа по решению матричных игр... С выбором размера матрицы и выдачей решения... Может кто смогёт такую сбатцать?

Запуск приложений(старых игр) в оконном режиме
День добрый, подскажите, хотелось бы реализовать свое желание запуска старых игр windo`вых(типа StarCraft) в оконном режиме, с чего начать,...

Алгоритм календаря игр (например в футболе)
необходимо составить календарь футбольных матчей, допустим есть 6 команд char *teams = {&quot;TEAM A&quot;,&quot;TEAM B&quot;,&quot;TEAM...

Движок для игр
Всем привет!!!, хотел узнать возможно ли создать движок на C++ чтобы экспортировать модели из 3ds max а после в самом движке можно было...

Выбор IDE для создания 2D игр
Здравствуйте. Задача сделать пака 2ух – мерные драчки загружая в проект анимацию-как удар(ы) и реакция на удар...(лучше всего секвенцию...


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

Или воспользуйтесь поиском по форуму:
500
Закрытая тема Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru