Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
My C# lvl is bad
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 159

При сортировке чисел появляются нули и полученная матрица ломается, что я сделал не так?

04.01.2023, 12:23. Показов 1004. Ответов 15

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
#include <iomanip>
#include <Windows.h>
#include <time.h>
using namespace std;
int main(int argc, char** argv) {
    setlocale(LC_ALL, "Rus");
    int a[100][100];
    srand(time(NULL));
    int m = 10;
    int n = 10;
    char h;
    int i;
    int j;
    int t,t1;
    cout << "Нажмите 1 - для ввода с клавиатуры \nНажмите 2 - для заполнения случайными числами " << endl<< endl;
    cin >> h;
    switch(h)
    {
        case '1':
            for (i = 0; i <= m-1; i++){
                for (j = 0; j <= n-1; j++)
                {
                    system("cls");
                    cin >> a[i][j];
                    
                }
            }
        case '2':
            for (i = 0; i <= m-1; i++){
                for (j = 0; j <= n-1; j++)
                {
                    system("cls");
                    a[i][j] = rand() % 128 + 1 ;
                }
            }
    }
    cout << "До пузырьковой сортировки: " << endl<<endl;
    for (i = 0; i <= m-1;i++){
        for(j = 0; j <= n-1; j++){
            cout << setw(4)<<a[i][j];
        }
        cout << endl;
    }
    cout << endl << endl << endl;
    cout << "После пузырьковой сортировки: " << endl << endl;
    for (i = 0; i <= m-1;i++){
        for(j = 0; j <= n-1; j++){
            if (a[i][j] > a[i][j+1]){
                t = a[i][j+1];
                a[i][j+1] = a[i][j];
                a[i][j] = t;
                cout << setw(4) << a[i][j] ;
            }
        }
        cout << endl;
    }
    
    
    
    
    
    
    
    
    
    
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.01.2023, 12:23
Ответы с готовыми решениями:

Матрица, что не так сделал?
class Program { static void Main(string args) { { bool yes = false; ...

Сделал тестовое задание, ответили что я джун плюс, объясните что я сделал не так
Недавно попросили сделать вот это тестовое задание...

Что я сделал не так при разгоне!?
Сегодня разгнал проц - AMD Athlon II x 2 245 ! С 2.9 до 3.4! (скрин находится ниже) Последствия такие! Выходит из спящего режима,...

15
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
04.01.2023, 13:35
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
[j+1]
выход за пределы массива
1
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
04.01.2023, 14:14
Лучший ответ Сообщение было отмечено PrOgGeR_nA_5 как решение

Решение

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
#include <iostream>
#include <iomanip>
#include <Windows.h>
#include <time.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Rus");
    const int m = 10;
    const int n = 10;
    int a[m][n];
    srand((unsigned)time(NULL));
    char h;
    cout << "Нажмите 1 - для ввода с клавиатуры \nНажмите 2 - для заполнения случайными числами " << endl<< endl;
    cin >> h;
    cin.get();
    system("cls");
    int i,j;
    switch(h)
    {
    case '1':
        for (i = 0; i <= m-1; i++){
            for (j = 0; j <= n-1; j++)
            {
                cout<<"a["<<i<<"]["<<j<<"]=?";
                cin >> a[i][j];
            }
        }
        cin.get();
        break; // !!!!!!!!!!!!!!!!!!!!!
    case '2':
        for (i = 0; i <= m-1; i++){
            for (j = 0; j <= n-1; j++)
            {
                a[i][j] = rand() % 128 + 1 ;
            }
        }
        break; // и здесь не забывайте ставить на всякий случай
    }
    cout << "До пузырьковой сортировки: " << endl<<endl;
    for (i = 0; i <= m-1;i++){
        for(j = 0; j <= n-1; j++){
            cout << setw(4)<<a[i][j];
        }
        cout << endl;
    }
    cout << endl;
    for (i = 0; i <= m-1;i++)
    {
        // сортируем каждую строку отдельно:
        for (j = 0; j <= n-1;j++)   {
            for(int k = 0; k <= n-2-j; k++){
                if (a[i][k] > a[i][k+1]){
                    int t = a[i][k+1];
                    a[i][k+1] = a[i][k];
                    a[i][k] = t;
                }
            }
        }
    }
    cout << "После пузырьковой сортировки: " << endl;
    for (i = 0; i <= m-1;i++){
        for(j = 0; j <= n-1; j++){
            cout << setw(4)<<a[i][j];
        }
        cout << endl;
    }
    cin.get();
    return 0;
}
1
My C# lvl is bad
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 159
04.01.2023, 16:41  [ТС]
Спасибо большое за поправку в программе, про break вообще забыл

Добавлено через 1 час 22 минуты
можете еще подсказать, по строкам сортируется хорошо, а вот по столбикам сортирует с ошибкой(если я вас чем-то огорчаю, простите меня, я только начинаю изучать си языки)
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
#include <iostream>
#include <iomanip>
#include <Windows.h>
#include <time.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Rus");
    system("color 5B");
    while(true){
        system("cls");
        int m;
        int n;
        do
        {
            system("cls");
            cout << "Введите количество строк: " ; cin >> n;
            cout << "Введите количество столбцов: "; cin >> m;
        }while((m<2) && (n>10) );
        int a[n][m];
        srand((unsigned)time(NULL));
        char h;
        cout << "Нажмите 1 - для ввода с клавиатуры \nНажмите 2 - для заполнения случайными числами " << endl<< endl;
        cin >> h;
        cin.get();
        system("cls");
        int i,j;
        switch(h)
        {
        case '1':
            for (i = 0; i <= n-1; i++){
                for (j = 0; j <= m-1; j++)
                {
                    cout<<"a["<<i<<"]["<<j<<"]= ";
                    cin >> a[i][j];
                }
            }
            cin.get();
            break; // обязательно ставить, для выхода из свич
        case '2':
            for (i = 0; i <= n-1; i++){
                for (j = 0; j <= m-1; j++)
                {
                    a[i][j] = rand() % 128 + 1 ;
                }
            }
            break; // здесь на всякий тоже ставим
        }
        cout << "До пузырьковой сортировки: " << endl<<endl;
        for (i = 0; i <= n-1;i++){
            for(j = 0; j <= m-1; j++){
                cout << setw(4)<<a[i][j];
            }
            cout << endl;
        }
        cout << endl;
        char l;
        cout << "Введите 1 если хотите отсортировать по строкам\nВведите 2 если хотите отсортировать по столбцам " << endl; cin >> l;
        cout << endl;
        switch(l)
        {
            case '1':       
                for (i = 0; i <= n-1;i++)
                {
                // сортируем каждую строку отдельно:
                    for (j = 0; j <= m-1;j++)   {
                        for(int k = 0; k <= m-2-j; k++){
                            if (a[i][k] > a[i][k+1]){
                                int t = a[i][k+1];
                                a[i][k+1] = a[i][k];
                                a[i][k] = t;
                            }
                        }
                    }
                }   
                cout << "После пузырьковой сортировки по строкам: " << endl;
                for (i = 0; i <= m-1;i++){
                    for(j = 0; j <= n-1; j++){
                        cout << setw(4)<<a[i][j];
                    }
                    cout << endl;
                }
                cin.get();
                break;//выходим из свич
            case '2':
                for (int k = 0; k <= m-1;k++)
                {
                // сортируем каждый столбец отдельно:
                    for (i = 0; i <= n-1;i++)   {
                        for( j = 0; j <= n-2-i; j++){
                            if (a[i][j] > a[i+1][j]){
                                int t1 = a[i+1][j];
                                a[i+1][j] = a[i][j];
                                a[i][j] = t1;
                            }
                        }   
                    }
                }
                cout << "После пузырьковой сортировки по столбцам: " << endl;
                for (i = 0; i <= m-1;i++){
                    for(j = 0; j <= n-1; j++){
                    cout << setw(4)<<a[i][j];
                    }
                    cout << endl;
                }
                cin.get();
                break;//здесь на всякий ставим
        }
        cin.get();
    }
        
        return 0;
}
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
04.01.2023, 17:22
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
for (int k = 0; k <= m-1;k++)
                {
                // сортируем каждый столбец отдельно:
                    for (i = 0; i <= n-1;i++)   {
                        for( j = 0; j <= n-2-i; j++){
                            if (a[i][j] > a[i+1][j]){ // возможно тут вместо j должен быть k?
                                int t1 = a[i+1][j];
                                a[i+1][j] = a[i][j];
                                a[i][j] = t1;
                            }
                        }  
                    }
                }
Внутри свапа странная адресация.
Чиста на глазок.

k - номер сортируемого столбца
i - индекс с конца массива, на котором надо остановиться
j - текущий индекс элемета.

Возможно, внутри свапа индекс столбца должен быть не j, а k? А то местами меняется что-то невнятное.
Нет под рукой ИДЕ чтоб проверить.
0
My C# lvl is bad
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 159
04.01.2023, 17:33  [ТС]
если вместо j ставишь k, то тоже ничего не получается
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
04.01.2023, 17:51
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
ничего не получается
Совсем ничего? Просто ничего не происходит?
Давайте исходные данные, ожидаемый результат и полученный результат.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
04.01.2023, 17:56
Лучший ответ Сообщение было отмечено PrOgGeR_nA_5 как решение

Решение

Быстрей бы заново написал
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
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
int main()
{
    while(true){
        int m;
        int n;
        do
        {
            cout << "Введите количество строк: " ; cin >> n;
            cout << "Введите количество столбцов: "; cin >> m;
        }while((m<2) && (n>10) );
        int a[n][m];
        srand((unsigned)time(NULL));
        char h;
        cout << "Нажмите 1 - для ввода с клавиатуры \nНажмите 2 - для заполнения случайными числами " << endl<< endl;
        cin >> h;
        cin.get();
        system("cls");
        int i,j;
        switch(h)
        {
        case '1':
            for (i = 0; i < n; i++){
                for (j = 0; j < m; j++)
                {
                    cout<<"a["<<i<<"]["<<j<<"]= ";
                    cin >> a[i][j];
                }
            }
            cin.get();
            break; // обязательно ставить, для выхода из свич
        case '2':
            for (i = 0; i < n; i++){
                for (j = 0; j <m; j++)
                {
                    a[i][j] = rand() % 128 + 1 ;
                }
            }
            break; // здесь на всякий тоже ставим
        }
        cout << "До пузырьковой сортировки: " << endl<<endl;
        for (i = 0; i < n;i++){
            for(j = 0; j < m; j++){
                cout << setw(4)<<a[i][j];
            }
            cout << endl;
        }
        cout << endl;
        char l;
        cout << "Введите 1 если хотите отсортировать по строкам\nВведите 2 если хотите отсортировать по столбцам " << endl; cin >> l;
        cout << endl;
        switch(l)
        {
            case '1':       
                for (i = 0; i < n; i++)
                {
                // сортируем каждую строку отдельно:
                    for (j = 0; j < m-1;j++)   {
                        for(int k = j+1; k < m; k++){
                            if (a[i][j] > a[i][k]){
                                int t = a[i][k];
                                a[i][k] = a[i][j];
                                a[i][j] = t;
                            }
                        }
                    }
                }   
                cout << "После пузырьковой сортировки по строкам: " << endl;
                for (i = 0; i <n;i++){
                    for(j = 0; j <m; j++){
                        cout << setw(4)<<a[i][j];
                    }
                    cout << endl;
                }
                cin.get();
                break;//выходим из свич
            case '2':
                for (int k = 0; k<m;k++)
                {
                // сортируем каждый столбец отдельно:
                    for (i = 0; i < n-1; i++)   {
                        for( j = i+1; j < n; j++){
                            if (a[i][k] > a[j][k]){
                                int t1 = a[j][k];
                                a[j][k] = a[i][k];
                                a[i][k] = t1;
                            }
                        }   
                    }
                }
                cout << "После пузырьковой сортировки по столбцам: " << endl;
                for (i = 0; i < n; i++){
                    for(j = 0; j < m; j++){
                    cout << setw(4)<<a[i][j];
                    }
                    cout << endl;
                }
                cin.get();
                break;//здесь на всякий ставим
        }
        cin.get();
    }
        
        return 0;
}
Добавлено через 45 секунд
PrOgGeR_nA_5, прошу вас, не делайте больше так :
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
for (i = 0; i <= n-1; i++){
                for (j = 0; j <= m-1; j++)
1
My C# lvl is bad
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 159
04.01.2023, 18:04  [ТС]
спасибо большое буду знать. Если честно 1.5 часа думал что не так сделано
Но на удивление вот так тоже работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (int i = 0; i <= n - 1;i++)
                {
                // сортируем каждый столбец отдельно:
                    for (j = 0; j <= m - 1;j++)   {
                        for( int k = j; k <= m - 1; k++){
                            if (a[j][i] > a[k][i]){
                                int t1 = a[k][i];
                                a[k][i] = a[j][i];
                                a[j][i] = t1;
                            
                            }
                        }   
                    }
                }
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
04.01.2023, 18:13
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
Но на удивление вот так тоже работает
Да, работает, но на каждой итерации цикла по j, элемент сравнивается сам с собой.
Так как k = j .
Что не имеет смысла, излишне.
И это не самый лучший "пузырек".

Добавлено через 2 минуты
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
i <= n - 1
0
My C# lvl is bad
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 159
04.01.2023, 18:35  [ТС]
да почему если я пишу i <= n-1 это так вроде бы проще понимать суть того, до какого элемента ты идёшь
А про "не самый лучший пузырёк" тут соглашусь, не самый лучший, но я другого ничего не смог придумать
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
04.01.2023, 18:46
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
for (i = 0; i <= m-1;i++){
                    for(j = 0; j <= n-1; j++){
                    cout << setw(4)<<a[i][j];
                    }
                    cout << endl;
                }
Ещё вы запутались, что у вас количество строк, а что -- колонок. )
Получилась путаница. Назовите переменные осмысленными именами и перепроверьте.

Добавлено через 3 минуты
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
for (i = 0; i <= m-1;i++){
                    for(j = 0; j <= n-1; j++){
                    cout << setw(4)<<a[i][j];
                    }
                    cout << endl;
                }
Ну как почему... Потому что много операций на одну единицу трансляции, которые запутывают.

Например, более классический вариант сортировки столбцов пузырьком мог бы выглядеть как-то так:
C++
1
2
3
4
5
6
7
8
9
10
    for (std::size_t column = 0; column < m; ++column) {
        // сортируем каждый столбец отдельно:
        for (std::size_t i = 0, last = n - 1; i < last; ++i)   {
            for(std::size_t j = i + 1; j < n; ++j){
                if (a[i][column] < a[j][column]){
                    std::swap(a[i][column], a[j][column]);
                }
            }
        }
    }
Так читаемей, потому что операций меньше.
Если продолжите заниматься плюсами, через пару месяцев сами увидите, что так ОЧЕВИДНО читаемее. )))
0
My C# lvl is bad
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 159
04.01.2023, 19:00  [ТС]
я занимаюсь программированием С++ уже 4 месяца(сам, потому что в универе нас мало чему учат). И вот не понимаю почему i<=n-1, менее читаемо чем i<n
мне кажется, что кому как проще, тот так и пишет.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
04.01.2023, 19:02
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
да почему если я пишу i <= n-1
У меня на чтение i <= n-1, уходит в два раза больше мозговых операций
А при
Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
k <= m-2-j;
В три.

Если мы уверены что дойдем до конца (не перескочим за него), можно писать еще и так :
C++
1
i!=n
Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от PrOgGeR_nA_5 Посмотреть сообщение
мне кажется, что кому как проще, тот так и пишет
Может и так, но я в след. раз при виде такого кода, точно пройду мимо.

0
My C# lvl is bad
1 / 1 / 0
Регистрация: 04.01.2023
Сообщений: 159
04.01.2023, 19:05  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
У меня на чтение i <= n-1, уходит в два раза больше мозговых операций
А при
Сообщение от PrOgGeR_nA_5
k <= m-2-j;
В три.
блин, ну не знаю мне как-то без разницы, просто привык уже писать
Цитата Сообщение от SmallEvil Посмотреть сообщение
да почему если я пишу i <= n-1
Добавлено через 1 минуту
Цитата Сообщение от SmallEvil Посмотреть сообщение
Может и так, но я в след. раз при виде такого кода, точно пройду мимо.
эххх, ладно, в следующий раз чтобы вас не огорчать, буду писать по другому
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
05.01.2023, 00:40
Цитата Сообщение от SmallEvil Посмотреть сообщение
У меня на чтение i <= n-1, уходит в два раза больше мозговых операций
Цитата Сообщение от SmallEvil Посмотреть сообщение
В три.
У меня вообще число мозговых операций увеличивается экспоненциально!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.01.2023, 00:40
Помогаю со студенческими работами здесь

Сделал программу, в ней массив из 20 чисел вводится автоматически, как сделать так что бы я его вводил вручную?
Ребят помогите пожалуйста. Сделал программу, в ней массив из 20 чисел вводится автоматически, как сделать так что бы я его вводил ...

НУЛИ при сортировке массива
Задание: Отсортировать нечётные столбцы массива по возрастанию. Решение: : uses crt; label a1; var a:array of integer; ...

Программа выдает одни нули при сортировке массива
вот код, программа вместо того , что-бы отсортировать массив по возрастанию , выдает на вывод одни нули #include&lt;stdio.h&gt; ...

Задача на acmp ломается на 3 тесте, что не так
Пара носков стоит 10 руб. 50 коп., связка (12 пар) стоит 102 руб. 50 коп., а коробка (12 связок) стоит 1140 руб. Требуется написать...

Что не так с реляционными таблицами, что я сделал для задания
Правильно ли составлены таблицы . Препод выносит мозг см. п. 5.18 Правил форума


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru