Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/47: Рейтинг темы: голосов - 47, средняя оценка - 4.91
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285

Проверка на количество определенных символов в строке

29.02.2016, 13:10. Показов 8735. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: Имеется входной файл, в котором содержится код программы на С++. Необходимо проверить баланс открывающихся и закрывающихся скобок в данном файле. В новый файл записать сообщение о правильности или неправильности расстановки скобок.

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

Подскажите, как это реализовать.

Заранее Спасибо!

Добавлено через 18 часов 19 минут
bump
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.02.2016, 13:10
Ответы с готовыми решениями:

Проверка определенных символов в строке
Помогите с элементарщиной для вас :( есть некоторая строка и нам нужно разработать прогу, которая будет проверять: 1. в тексте больше...

Проверка количества определенных символов в строке
Здравствуйте, мне надо проверять текст в TextBox1.Text, задача такая в начали каждой строчки ест символ “*” и посередине ест тоже...

Подсчитать количество определенных символов в строке
Составить программу, которая во введенной с клавиатуры строке символов, подсчитает количе-ство вхождений символов ‘№’ и ‘J’

18
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
29.02.2016, 13:28
Если вам нужно просто проверить на соответствие кол-во открывающих и закрывающих скобок, можно так:
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
#include <iostream>
#include <fstream>
 
int main()
{
    std::ifstream inFile("cppcode.txt");
    std::ofstream outFile("scanresult.txt");
 
    if(inFile.is_open() && outFile.is_open())
    {
        int a = 0, b = 0;
        char temp;
        while(!inFile.eof())
        {
            inFile.get(temp);
            if(temp == '(')
                a++;
            else if(temp == ')')
                b++;
        }
        if(a == b)
            outFile << "Good.";
        else
            outFile << "Bad.";
    }
    else
        std::cout << "Error open file.\n";
    inFile.close();
    outFile.close();
    std::cout << "Done.";
    std::cin.get();
    return 0;
}
Это для круглых скобок, по аналогии можно сделать для всего остального.
1
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
29.02.2016, 13:39
Цитата Сообщение от Frip Посмотреть сообщение
Необходимо проверить баланс открывающихся и закрывающихся скобок в данном файле.
В условии не оговариваются как проверять такое:
Code
1
foo("(ldjdg(.."+gg("("))
?
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
29.02.2016, 14:16  [ТС]
Hikari, я думаю, такое не понадобиться, обговорил ход решения с учителем, как он сказал, у меня все верно (как в описании я расписал), так что думаю проблем не будет
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
29.02.2016, 14:17
Frip, Если не принимать во внимание случаи, которые описала Hikari, то можно вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <iterator>
#include <algorithm>
#include <vector>
using namespace std;
 
int main()
{
    fstream f_in("input.txt");
    ofstream f_out("output.txt");
    
    vector<char> vec;
    copy(istream_iterator<char>(f_in),istream_iterator<char>(),back_inserter(vec));
 
    if(count(vec.begin(),vec.end(),'(') == count(vec.begin(),vec.end(),')'))
        f_out << R"(count '(' == ')')";
    else
        f_out << R"(count '(' != ')')";
    f_in.close();
    f_out.close();
    
}
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
02.03.2016, 21:22  [ТС]
А можно проще сделать, без векторов?

Была похожая задача, но там проверялась строка, как преобразовать это, чтобы проверялось посимвольно из файла.
Если встретилось "(", то переменной a прибавляем значение, если встретилось ")" то переменной b прибавляем значение. Чтобы потом можно было их сравнить и в вывод написать, каких именно скобок не хватает, и прочее.

Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstring>
using namespace std;
int main(){
 string a;
 int i,j;
 int result;
     cout<<"Vvedite stroky \n";
    getline(cin, a);
    result=0;
 i = a.length(); //длина строки a
   for (j=0; j<=i; j++){  //цикл до конца строки а
        if (a[j]=='(') {result=result+1;}
        if (a[j]==')') {result=result-1;}
        if (result==-1) {break;}
}
   if (result!=0)
          { cout<<"Skobki rasstavleni neverno \n";} else{cout<<"Skobki rasstavleni verno \n";}
         system ("pause");
}


Добавлено через 22 часа 11 минут
bump

Добавлено через 1 час 26 минут
elephants,

попробовал ваш код, для примера ввел в файл "((( )))", но он все-равно выдает результат Bad.
0
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
02.03.2016, 22:01
Frip, цикл while измените на такой, будет работать
C++
1
2
3
4
5
6
7
8
9
10
while(!inFile.eof())
        {
            inFile.get(temp);
            if(temp = '\0')
                break;
            if(temp == '(')
                a++;
            else if(temp == ')')
                b++;
        }
Если не ошибаюсь, это связано с добавление завершающей последовательности в конце файла. Если в файле добавить новую строку, мой предыдущий код будет работать. Не знаю какими способами еще это побороть, потому просто добавил break; в цикл.
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
02.03.2016, 22:16  [ТС]
elephants,
хм, странно, удалил первый файл, который создался, теперь вставляю и программы и просто скобки, все нормально работает

А нет, вру, не работало в одном моменте. Подправил полностью программу под себя. Вот
Кликните здесь для просмотра всего текста

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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    
    ifstream inFile("cppcode.txt");
    ofstream outFile("scanresult.txt");
 
    if(inFile.is_open() && outFile.is_open())
    {
        int a = 0, b = 0, c = 0, d = 0;
        char temp;
        while(!inFile.eof())
        {
            inFile.get(temp);
            if(temp = '\0')
                 break;
            if(temp == '(')
                 a++;
            else if(temp == ')')
                 b++;
            else if(temp == '{')
                 c++;
            else if(temp == '}')
                 d++;   
        }
        
       if ((a == b) and (c == d))
              outFile << "Все скобки расставлены верно";
        else if ((a > b) and (c == d))
               outFile << "Не хватает закрывающих круглых скобок!";
        else if ((a < b) and (c == d))
               outFile << "Не хватает открывающих круглых скобок";
        else if ((a == b) and (c > d))
               outFile << "Не хватает закрывающих фигурных скобок";
        else if ((a == b) and (c < d))
               outFile << "Не хватает открывающих фигурных скобок";
        else if ((a > b) and (c > d))
               outFile << "Не хватает закрывающих круглых скобок и закрывающих фигурных скобок";
        else if ((a > b) and (c < d))
               outFile << "Не хватает закрывающих круглых скобок и открывающих фигурных скобок";
        else if ((a < b) and (c > d))
               outFile << "Не хватает открывающих круглых скобок и закрывающих фигурных скобок";
        else if ((a < b) and (c < d))
               outFile << "Не хватает открывающих круглых скобок и открывающих фигурных скобок";
       
    }
    else
        cout << "Error open file.\n";
    inFile.close();
    outFile.close();
    cout << "Done.";
   cin.get();
    return 0;
}


Добавлено через 7 минут
Проверил свою программу на примере

Не по теме:


(((
))
{
}



Все-равно пишет, что скобки расставлены верно. Может сможете понять, на первый взгляд, где может быть ошибка?

Добавлено через 5 минут
elephants,
C++
1
2
3
4
outFile << "( :" << a << endl
                << ") :" << b << endl
                << "{ :" << c << endl
                << "} :" << d;
Добавил такой код, для более точной проверки.
После добавления вашего
C++
1
2
if(temp = '\0')
                break;
программа вообще не считает ничего, все по нулям
0
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
02.03.2016, 22:24
C++
1
if(temp = '\0')
Замените на
C++
1
if(inFile.eof())
C++
1
((a == b) and (c == d))
А "and" это что?

Добавлено через 6 минут
Frip, and на && замените.
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
02.03.2016, 22:24  [ТС]
elephants,
C++
1
if(inFile.eof())
тут можно без этого, заметил такую закономерность

программа всегда к количеству скобок, которую она проверила в последнюю очередь прибавляет +1 т.е.

Входной файл вида " (( ))" выдаст результат
C++
1
2
"(" : 2
")" : 3
или допустим входной файл вида
C++
1
2
{{}}
()
выдаст результат
C++
1
2
3
4
( :1
) :2
{ :2
} :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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    
    ifstream inFile("cppcode.txt");
    ofstream outFile("scanresult.txt");
 
    if(inFile.is_open() && outFile.is_open())
    {
        int a = 0, b = 0, c = 0, d = 0;
        char temp;
        while(!inFile.eof())
        {
            inFile.get(temp);
            if(temp == '(')
                 a++;
            else if(temp == ')')
                 b++;
            else if(temp == '{')
                 c++;
            else if(temp == '}')
                 d++;   
        }
        outFile << "( :" << a << endl
                << ") :" << b << endl
                << "{ :" << c << endl
                << "} :" << d;
        /*
       if ((a == b) and (c == d))
              outFile << "Âñå ñêîáêè ðàññòàâëåíû âåðíî";
        else if ((a > b) and (c == d))
               outFile << "Íå õâàòàåò çàêðûâàþùèõ êðóãëûõ ñêîáîê!";
        else if ((a < b) and (c == d))
               outFile << "Íå õâàòàåò îòêðûâàþùèõ êðóãëûõ ñêîáîê";
        else if ((a == b) and (c > d))
               outFile << "Íå õâàòàåò çàêðûâàþùèõ ôèãóðíûõ ñêîáîê";
        else if ((a == b) and (c < d))
               outFile << "Íå õâàòàåò îòêðûâàþùèõ ôèãóðíûõ ñêîáîê";
        else if ((a > b) and (c > d))
               outFile << "Íå õâàòàåò çàêðûâàþùèõ êðóãëûõ ñêîáîê è çàêðûâàþùèõ ôèãóðíûõ ñêîáîê";
        else if ((a > b) and (c < d))
               outFile << "Íå õâàòàåò çàêðûâàþùèõ êðóãëûõ ñêîáîê è îòêðûâàþùèõ ôèãóðíûõ ñêîáîê";
        else if ((a < b) and (c > d))
               outFile << "Íå õâàòàåò îòêðûâàþùèõ êðóãëûõ ñêîáîê è çàêðûâàþùèõ ôèãóðíûõ ñêîáîê";
        else if ((a < b) and (c < d))
               outFile << "Íå õâàòàåò îòêðûâàþùèõ êðóãëûõ ñêîáîê è îòêðûâàþùèõ ôèãóðíûõ ñêîáîê";
       */
    }
    else
        cout << "Error open file.\n";
    inFile.close();
    outFile.close();
    cout << "Done.";
   cin.get();
    return 0;
}
0
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
02.03.2016, 22:30
Цитата Сообщение от Frip Посмотреть сообщение
тут можно без этого
В случае если искомый символ последний в файле и отсутствует перенос на новую строку в конце файла, без этого все равно выведет Bad.
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
02.03.2016, 22:35  [ТС]
elephants, хорошо, добавил его.
И теперь программа считает все в точности, да наобарот

на ввод вида
C++
1
2
{{}}
()
Cейчас выдает ответ
C++
1
2
3
4
( :0
) :1
{ :0
} :0
А раньше выдавало
C++
1
2
3
4
( :1
) :2
{ :2
} :2
всегда, когда я проверял, искомые символы были последними, и все было нормально, кроме того, что он прибавляет еще 1 шаг к последнему проверяемому символу
0
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
02.03.2016, 22:52
Frip, данный код
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    ifstream inFile("cppcode.txt");
    ofstream outFile("scanresult.txt");
 
    if(inFile.is_open() && outFile.is_open())
    {
        int a = 0, b = 0, c = 0, d = 0;
        char temp;
        while(!inFile.eof())
        {
            inFile.get(temp);
            if(inFile.eof())
                break;
            if(temp == '(')
                a++;
            else if(temp == ')')
                b++;
            else if(temp == '{')
                c++;
            else if(temp == '}')
                d++;
        }
 
        outFile << "( :" << a << endl
            << ") :" << b << endl
            << "{ :" << c << endl
            << "} :" << d;
 
        if((a == b) && (c == d))
            outFile << "Все скобки расставлены верно";
        else if((a > b) && (c == d))
            outFile << "Не хватает закрывающих круглых скобок!";
        else if((a < b) && (c == d))
            outFile << "Не хватает открывающих круглых скобок";
        else if((a == b) && (c > d))
            outFile << "Не хватает закрывающих фигурных скобок";
        else if((a == b) && (c < d))
            outFile << "Не хватает открывающих фигурных скобок";
        else if((a > b) && (c > d))
            outFile << "Не хватает закрывающих круглых скобок и закрывающих фигурных скобок";
        else if((a > b) && (c < d))
            outFile << "Не хватает закрывающих круглых скобок и открывающих фигурных скобок";
        else if((a < b) && (c > d))
            outFile << "Не хватает открывающих круглых скобок и закрывающих фигурных скобок";
        else if((a < b) && (c < d))
            outFile << "Не хватает открывающих круглых скобок и открывающих фигурных скобок";
 
    }
    else
        cout << "Error open file.\n";
    inFile.close();
    outFile.close();
    cout << "Done.";
    cin.get();
    return 0;
}
При входном файле
{{}}
()
выводит это
( :1
) :1
{ :2
} :2Все скобки расставлены верно

Во всяком случае у меня все правильно работает.
1
 Аватар для Alex xelA
100 / 38 / 20
Регистрация: 27.02.2016
Сообщений: 135
02.03.2016, 22:55
Всё работает.

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 "StdAfx.h"
 
using namespace std;
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
 
    ifstream in("cppcode.txt");
    ofstream out("scanresult.txt");
 
    if (in.is_open() && out.is_open())
    {
        int symbols[] = { 0, 0, 0, 0 }; // '(', ')', '{', '}'
 
        while (!in.eof())
        {
            char symbol = static_cast<char>(in.get());
 
            switch (symbol)
            {
                case '(':
                {
                    symbols[0]++;
                    break;
                }
 
                case ')':
                {
                    symbols[1]++;
                    break;
                }
 
                case '{':
                {
                    symbols[2]++;
                    break;
                }
 
                case '}':
                {
                    symbols[3]++;
                    break;
                }
            }
        }
 
        out << "( = " << symbols[0] << endl
            << ") = " << symbols[1] << endl
            << "{ = " << symbols[2] << endl
            << "} = " << symbols[3] << endl;
 
        in.close();
        out.close();
 
        if (symbols[0] == symbols[1])
            cout << "OK1" << endl;
        else cout << "ERROR1" << endl;
 
        if (symbols[2] == symbols[3])
            cout << "OK2" << endl;
        else cout << "ERROR2" << endl;
    }
    else cout << "Error opening files." << endl;
 
    cin.get();
 
    return 0;
}
Файл cppcode.txt:

C++
1
2
3
4
5
((( ))
{ }}
{{
(() ))})
}
Результат:

C++
1
2
3
4
5
6
7
ERROR1
ERROR2
 
( = 5
) = 6
{ = 3
} = 4
2
26 / 26 / 15
Регистрация: 30.12.2015
Сообщений: 95
02.03.2016, 23:12
Тогда вопрос к экспертам... в чем разница между in.get() и in.get(ch)?
В случае, если искомый символ в файле последний и нет переноса на новую строку, данный код
C++
1
char symbol = static_cast<char>(in.get());
читает все правильно
( :1
) :1
{ :2
} :2
а этот код
C++
1
2
char symbol;
in.get(symbol);
дублирует последний символ
( :1
) :2
{ :2
} :2
1
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
02.03.2016, 23:12  [ТС]
Alex xelA,

мне надо решить программу именно тем алгоритмом, который я описал выше
0
 Аватар для Alex xelA
100 / 38 / 20
Регистрация: 27.02.2016
Сообщений: 135
02.03.2016, 23:18
Лучший ответ Сообщение было отмечено Frip как решение

Решение

Цитата Сообщение от Frip Посмотреть сообщение
мне надо решить программу именно тем алгоритмом, который я описал выше
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
int main(void)
{
    setlocale(LC_ALL, "Russian");
 
    ifstream in("cppcode.txt");
    ofstream out("scanresult.txt");
 
    if (in.is_open() && out.is_open())
    {
        int a = 0, b = 0, c = 0, d = 0; // '(', ')', '{', '}'
 
        while (!in.eof())
        {
            char s = static_cast<char>(in.get());
 
            if (s == '(')
                a++;
            else if (s == ')')
                b++;
            else if (s == '{')
                c++;
            else if (s == '}')
                d++;
        }
 
        out << "( = " << a << endl
            << ") = " << b << endl
            << "{ = " << c << endl
            << "} = " << d << endl;
 
        if ((a == b) && (c == d))
            out << "Все скобки расставлены верно";
        else if ((a > b) && (c == d))
            out << "Не хватает закрывающих круглых скобок!";
        else if ((a < b) && (c == d))
            out << "Не хватает открывающих круглых скобок";
        else if ((a == b) && (c > d))
            out << "Не хватает закрывающих фигурных скобок";
        else if ((a == b) && (c < d))
            out << "Не хватает открывающих фигурных скобок";
        else if ((a > b) && (c > d))
            out << "Не хватает закрывающих круглых скобок и закрывающих фигурных скобок";
        else if ((a > b) && (c < d))
            out << "Не хватает закрывающих круглых скобок и открывающих фигурных скобок";
        else if ((a < b) && (c > d))
            out << "Не хватает открывающих круглых скобок и закрывающих фигурных скобок";
        else if ((a < b) && (c < d))
            out << "Не хватает открывающих круглых скобок и открывающих фигурных скобок";
 
        in.close();
        out.close();
 
                cout << "OK." << endl;
    }
    else cout << "Невозможно открыть/создать файл(ы)." << endl;
 
    cin.get();
 
    return 0;
}
0
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 285
02.03.2016, 23:49  [ТС]
Alex xelA, Спасибо большое! Проверил все что можно, все работает как часы!!!

Добавлено через 2 минуты
Alex xelA, только не могли бы пояснить, что делает данная строчка.
Все остальное понял, а эту - нет

C++
1
char s = static_cast<char>(in.get());
0
 Аватар для Alex xelA
100 / 38 / 20
Регистрация: 27.02.2016
Сообщений: 135
02.03.2016, 23:50
Цитата Сообщение от Frip Посмотреть сообщение
char s = static_cast<char>(in.get());
Обычное преобразование типа, в данном случае из int в char. Тоже самое на обычном Си:
C++
1
char s = (char)in.get();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.03.2016, 23:50
Помогаю со студенческими работами здесь

Нужно вывести количество определенных символов в строке
Мне нужно вывести количество определенных символов в строке, как это сделать? Пример: 474.25634.235.124.364.23. Количество '.'=6 ...

Определить количество определенных групп символов в строке
Дана строка, состоящая из групп нулей и единиц. Каждая группа отделяется от другой одним или несколькими пробелами. Найти количество...

Во введенной строке подсчитайте количество определенных символов
Во введенной строке подсчитайте количество символов &quot;*&quot; и символов &quot;!&quot;.

Как подсчитать количество определенных символов в строке?
Итак: есть файл с длинной строкой содержащей подряд множество символов. Задача подсчитать их общее количество и количество каждого символа....

Как сосчитать количество определённых символов в строке?
Например, количество символов &quot;/&quot;?


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru