Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для sysrepos
85 / 78 / 31
Регистрация: 08.08.2013
Сообщений: 464
Записей в блоге: 1

Задача по математике, 3 класс, пять вложенных циклов, делегаты. Есть ли короткое решение?

17.03.2026, 11:27. Показов 954. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть задача из 3 класса по математике. Задача на картике. №13.

Описание: есть три массива чисел (3, 5, 7, 11) (19, 29, 47, 61) (13, 27, 39, 57). Нужно любое число из 1 массива сложить или вычесть или умножить или разделить на любое число из второго массива и результат сложить или вычесть или умножить или разделить на любое число из третьего массива. И получить в результате 100.

Не знаю как ее нужно решать третьекласникам, возможно методом подобора. Я решил с помощью C#. Код получился примерно на 100 строк. Пять вложенных циклов, делегаты. Часто под такими задачами и такими решениями (на 100 строк) видел решения в пару строк с использованием LINQ, лямбда выражений и прочей магией 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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
        public delegate int  MyDelegate (int x, int y);
 
        static public int sum(int x, int y)
        {
            return (x + y);
        }
 
        static public int minus(int x, int y)
        {
            return (x - y);
        }
 
        static public int umn(int x, int y)
        {
            return (x * y);
        }
 
        static public int del(int x, int y)
        {
            return (x / y);
        }
 
        /// <summary>
        /// возвращает символ +-*/
        /// </summary>
        /// <param name="md"></param>
        /// <returns></returns>
        static public string NameOperation(MyDelegate md)
        {
            string rez = "_";
            if (md.Method.Name.ToString() == "sum") return "+";
            if (md.Method.Name.ToString() == "minus") return "-";
            if (md.Method.Name.ToString() == "umn") return "*";
            if (md.Method.Name.ToString() == "del") return "/";
            
            return rez;
        }
 
        static void Main(string[] args)
        {
            
          
            MyDelegate d1_sum=sum;
            MyDelegate d2_minus = minus;
            MyDelegate d3_umn=umn;
            MyDelegate d4_del = del;
 
 
            List<MyDelegate> d_all_operation_1 = new List<MyDelegate>();
            List<MyDelegate> d_all_operation_2 = new List<MyDelegate>();
 
            d_all_operation_1.Add(d1_sum);
            d_all_operation_1.Add(d2_minus);
            d_all_operation_1.Add(d3_umn);
            d_all_operation_1.Add(d4_del);
 
            d_all_operation_2.Add(d1_sum);
            d_all_operation_2.Add(d2_minus);
            d_all_operation_2.Add(d3_umn);
            d_all_operation_2.Add(d4_del);
 
            int rez = 0;
            string mes1 = "";
            string mes2 = "";
            string mes3 = "---";
 
            int[] arr1 = { 3, 5, 7, 11 };
            int[] arr2 = { 19, 29, 47, 61 };
            int[] arr3 = { 13, 27, 39, 57 };
 
            Console.BufferHeight = 2000;
            Console.WriteLine("подсчет");
 
 
            foreach(int i in arr1)
            {
                foreach (int j in arr2)
                {
                    foreach (int k in arr3)
                    {
                        foreach (var v1 in d_all_operation_1)
                        {
                            foreach (var v2 in d_all_operation_2)
                            {
                                rez = v2(v1(i, j), k);
 
                                if (rez == 100)
                                {
                                    mes1 = " (+++решение+++)";
                                }
                                mes2 = string.Format("{0}{1}{2}{3}{4}={5}{6}", i, NameOperation(v1), j, NameOperation(v2), k, v2(v1(i, j), k), mes1);
                                Console.WriteLine(mes2);
                                mes1 = "";
 
                                if (rez == 100)
                                {
                                    mes3 = mes2;
                                }
 
 
                            }
                        }
 
                    }
 
                }
 
            }
 
 
            Console.WriteLine("_");
 
            Console.WriteLine(mes3);
 
            Console.ReadLine();
 
 
        }
    }
}
Миниатюры
Задача по математике, 3 класс, пять вложенных циклов, делегаты. Есть ли короткое решение?   Задача по математике, 3 класс, пять вложенных циклов, делегаты. Есть ли короткое решение?   Задача по математике, 3 класс, пять вложенных циклов, делегаты. Есть ли короткое решение?  

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.03.2026, 11:27
Ответы с готовыми решениями:

Описать класс с функцией. Объявить делегат. Произвести вызов функции через делегат
Описать функцию Exchange(X, Y), меняющую значения переменных X и Y.

Отличие делегата от делегата с лямбда-выражением
Народ чем отличается Invoke(new Action(() =&gt; button2.IsEnabled = true)); от Invoke(new...

Разница лямбда выражения, делегата (\анонимного делегата), методом (\анонимных методов)
Всё просто: В чём отличия: лямбд, делегатов, анонимных делегатов, методов, анонимных методов? ...

17
fly
 Аватар для I can
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,820
17.03.2026, 12:50
Лучший ответ Сообщение было отмечено sysrepos как решение

Решение

Без делегатов
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        static void Main(string[] args)
        {
            int[] a = new int[4] { 3, 5, 7, 11 }, b = new int[4] { 19, 29, 47, 61 }, c = new int[4] { 13, 27, 39, 57 };
            string[] d = new string[4] { "*", "/", "+", "-" };
            string s = "";
            DataTable dt = new DataTable();
            foreach (int v1 in a)
                foreach (int v2 in b)
                    foreach (int v3 in c)
                        for (int i = 0; i < d.Length; i++)
                            for (int j = 0; j < d.Length; j++)
                             { s = v1 + d[i] + v2 + d[j] + v3 + "=100";
                                if (Convert.ToBoolean(dt.Compute(s, ""))==true)         
                                     Console.WriteLine(s); }
 
            Console.ReadLine();
 
        }
1
 Аватар для sysrepos
85 / 78 / 31
Регистрация: 08.08.2013
Сообщений: 464
Записей в блоге: 1
17.03.2026, 14:10  [ТС]
спасибо, не знал про Compute.
0
 Аватар для zhigarartem
14 / 13 / 1
Регистрация: 04.03.2014
Сообщений: 32
17.03.2026, 14:41
I can, у вас dt.Compute(s, "") использует стандартные правила вычисления,
сначала умножение и деление, а потом сложение и вычитание.
В результате:
C#
1
Convert.ToBoolean(dt.Compute("3+19*13=250", "")) == true
хотя, по условию, должно быть: (3+19)*13=286


sysrepos, моё решение:
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
namespace Сombinatorics
{
    internal class Eq(string txt, int res)
    {
        public string Txt { get; set; } = txt;
        public int Res { get; set; } = res;
    }
 
    internal class Program
    {
        static void Main(string[] args)
        {
            var a = new int[] { 3, 5, 7, 11 }.Select(x => new Eq(x.ToString(), x));
            var b = new int[] { 19, 29, 47, 61 };
            var c = new int[] { 13, 27, 39, 57 };
 
            var results = a.SelectMany(x => b.SelectMany(y => Compute(x, y)))
                           .SelectMany(ab => c.SelectMany(z => Compute(ab, z)));
 
            foreach (var r in results)
                Console.WriteLine($"{r.Txt}={r.Res}{(r.Res == 100 ? " (+++решение+++)" : "")}");
 
            Console.ReadKey();
        }
 
        static IEnumerable<Eq> Compute(Eq eq, int val)
        {
            yield return new Eq($"({eq.Txt}+{val})", eq.Res + val);
            yield return new Eq($"({eq.Txt}-{val})", eq.Res - val);
            yield return new Eq($"({eq.Txt}*{val})", eq.Res * val);
            yield return new Eq($"({eq.Txt}/{val})", eq.Res / val);
        }
    }
}
2
2738 / 1664 / 267
Регистрация: 19.02.2010
Сообщений: 4,396
17.03.2026, 15:12
Цитата Сообщение от sysrepos Посмотреть сообщение
Пять вложенных циклов
Если думать не как 3классник - а в терминах школьной информатики, то перед нами задача перебора всех значений 5позиционного числа в системе счисления по основанию 4. Т.е. от 00000 до 33333. Второй и 4ый разряды этого числа в дальнейшем задают код арифм.операции, разряды 1/3/5 - задают индексы в трёх массивах чисел (операндов для арифм.операций).

Такая задача генерации значений, точнее, последовательного инкремента от 00000 до 33333, решается одним циклом. Пяти не нужно.
Точнее, будет "обрамляющий" цикл, который берёт очередное число и проводит в соответствии с ним матем.вычисления, и будет один цикл в функции инкремента (для прохода по разрядам числа начиная с самого младшего).
В таком виде решение задачи легко обобщается на бОльшее/произвольное число кругов в лабиринте - надо всего-то будет поменять в проге константу, задающую число разрядов для числа, кодирующего путь, ну и добавить нужное число массивов с числами-операндами.

PS. Да - это перебираемое кодовое число (от 00000 до 33333, или с иным числом разрядов, и/или в иной системе счисления) надо реализовывать не в виде единого монолитного целого числа - а в виде массива значений разрядов, чтобы код оказался попроще.
2
 Аватар для zhigarartem
14 / 13 / 1
Регистрация: 04.03.2014
Сообщений: 32
17.03.2026, 15:18
VTsaregorodtsev
Такая задача генерации значений, точнее, последовательного инкремента от 00000 до 33333, решается одним циклом.
Покажите код, пожалуйста.
0
2738 / 1664 / 267
Регистрация: 19.02.2010
Сообщений: 4,396
17.03.2026, 15:31
zhigarartem, Лови, но на другом языке.
Функция по типу product() в Python
0
fly
 Аватар для I can
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,820
17.03.2026, 15:39
Цитата Сообщение от zhigarartem Посмотреть сообщение
использует стандартные правила вычисления
Точно. Просто в данном случае это не вылезло. Тогда надо добавить скобки

C#
1
s ="("+ v1 + d[i] + v2+")" + d[j] + v3 + "=100";
Миниатюры
Задача по математике, 3 класс, пять вложенных циклов, делегаты. Есть ли короткое решение?  
2
 Аватар для zhigarartem
14 / 13 / 1
Регистрация: 04.03.2014
Сообщений: 32
17.03.2026, 16:02
VTsaregorodtsev, можете решить задачу автора темы своим способом и показать код?
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3426 / 2745 / 575
Регистрация: 04.09.2018
Сообщений: 8,613
Записей в блоге: 3
17.03.2026, 18:09
class Resolver
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
static class Resolver
{
    public static IEnumerable<string> CalcMany(int[] arr1, int[] arr2, int[] arr3, int target)
    {
        return from a in arr1
               from b in arr2
               from c in arr3
               from op1 in operations
               from op2 in operations
               let result = calculate(a, b, c, op1, op2)
               where result == target
               select $"{a} {op1} {b} {op2} {c} = {target}";
    }
 
 
    private readonly static char[] operations = { '+', '-', '*', '/' };
 
    private static int calculate(int a, int b, int c, char op1, char op2)
    {
        var firstResult = applyOperation(a, b, op1);
        return firstResult == 0 ? 0 : applyOperation(firstResult, c, op2);
    }
 
    private static int applyOperation(int x, int y, char op)
    {
        return op switch
        {
            '+' => x + y,
            '-' => x - y,
            '*' => x * y,
            '/' => y != 0 ? x / y : 0,
            _ => 0
        };
    }
}

C#
1
2
3
4
5
6
7
8
9
10
int[] arr1 = { 3, 5, 7, 11 };
int[] arr2 = { 19, 29, 47, 61 };
int[] arr3 = { 13, 27, 39, 57 };
var result = Resolver.CalcMany(arr1, arr2, arr3, 100);
 
if (result.Any())
    result.ToList().ForEach(Console.WriteLine);
else Console.WriteLine("Not found!");
 
// 3 * 29 + 13 = 100
1
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,153
Записей в блоге: 43
Вчера, 08:33
Лучший ответ Сообщение было отмечено Uswer как решение

Решение

Цитата Сообщение от sysrepos Посмотреть сообщение
Не знаю как ее нужно решать третьекласникам, возможно методом подобора.
Ну это вряд ли: три массива по четыре числа плюс две операции по четыре варианта это получается 45=1024 комбинации. Как-то многовато для третьеклассника, не говоря уже о том, что он запутается перебирая их.
Если действовать исходя из знаний третьеклассника, могу предложить алгоритм действий, хоть и не уверен, что третьеклассник тоже сможет его найти.

(3, 5, 7, 11) (19, 29, 47, 61) (13, 27, 39, 57)

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

2. Учитывая, что первая операция увеличивает оба операнда, а произведение любого числа из второго массива на любое число из третьего явно больше сотни (даже без первой операции), мы можем уверенно сказать, что вторая операция точно не может быть умножением.

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

4. Если первой операцией будет сложение, то мы уже выяснили, что сложение наибольших чисел первых двух массивов будет меньше ста, а вторая операция может быть быть только сложение или вычитание, таким образом чтобы из числа меньше ста получить сто мы можем использовать только сложение, но этот вариант тоже отпадает в силу того, что в третьем массиве (как и в первых двух) все числа нечетные, а сумма трех нечетных чисел - тоже число нечетное и сотня никак не получится. Из этого следует, что первая операция может быть только умножением.

5. На данный момент у нас получилось, что первая операция у нас точно умножение, а вторая либо сложение либо вычитание. В принципе уже можно было бы и перебирать, но есть еще кое что. Если мы условно представим числа из первого массива как a, из второго b, а из третьего c, то у нас получится два варианта, либо a * b + c = 100, либо a * b - c = 100. Отсюда либо a * b = 100 - c, либо a * b = 100 + c. Таким образом первое произведение дает нам восемь чисел: a * b = (113, 127, 139, 157, 43, 61, 73, 87). Поскольку это произведение это произведение чисел из двух первых массивов, то нам нужно просто проверить какие числа из этого списка делятся на числа первого массива и отобрать те, что при делении дают число, присутствующее во втором. Каждая такая находка будет давать нужную комбинацию. В первом массиве числа 3 5 11 имеют признаки делимости, для семерки придется посчитать, но это тоже можно в уме вычислить. Насколько я могу судить здесь критериям удовлетворяет только число 87 оно делится на 3 и дает 29, которое есть во втором массиве и из этого у нас получается комбинация 3 * 29 + 13 = 100 (13 из-за того, что 87 получено путем вычитания 13 из 100). Остальные числа по-моему вообще простые, но можно проверить. Если писать программу, то только для этих восьми чисел, а так можно в уме решить.
0
fly
 Аватар для I can
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,820
Вчера, 18:24
Цитата Сообщение от diadiavova Посмотреть сообщение
так можно в уме решить.
А теперь представим, что массивы поменялись, или получить нужно не 100, а 153. И все рассуждения нужно начинать сначала. И так придётся делать каждый раз. А перебор универсален, ничего переделывать не надо.
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3426 / 2745 / 575
Регистрация: 04.09.2018
Сообщений: 8,613
Записей в блоге: 3
Вчера, 18:47
I can, плюсую. Кроме того, они могут быть разной длины относительно друг друга..

Добавлено через 6 минут
Аналитический подход - это конечно хорошо, но в данном случае он неуместен. Задача простая как дважды два. Тут только тупо перебором.
1
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,153
Записей в блоге: 43
Вчера, 21:07
Цитата Сообщение от I can Посмотреть сообщение
А теперь представим, что массивы поменялись, или получить нужно не 100, а 153
Я, конечно, могу себе такое представить, только это уже будет совсем другая задача. В данном случае речь идет о задаче по математике для третьего класса, так что если уж и представлять что-то, то только то, что ты решаешь ее без компьютера и в ограниченное время.
Цитата Сообщение от wizard41 Посмотреть сообщение
Задача простая как дважды два
Вот именно, но некоторым для ее решения нужен компьютер
2
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3426 / 2745 / 575
Регистрация: 04.09.2018
Сообщений: 8,613
Записей в блоге: 3
Вчера, 21:34
diadiavova, ну, здесь мы, прежде всего, исходим не из самой задачи (того, что нарисовано в учебнике), а из вопроса автора - как такую задачу решить кодом. Были предложены "универсальные" решения, которые решат подобного рода задачи за приемлемое время, причем с различными числами в лабиринте.

А вот сама задача в учебнике реально вызывает вопросы... Далеко не все 3-классники "смышленые". Это сколько у некоторых уйдет времени, чтобы на листке перебрать возможные комбинации? На что рассчитана задача и что она развивает? А если таких решений в "лабиринте" будет несколько?

Современные школьные учебники частенько зашкаливают тупизной на самом деле..
2
8 / 8 / 0
Регистрация: 16.12.2025
Сообщений: 85
Сегодня, 02:47
Цитата Сообщение от wizard41 Посмотреть сообщение
Далеко не все 3-классники "смышленые"
Она же, задача, со звездочкой. )

Цитата Сообщение от wizard41 Посмотреть сообщение
Современные школьные учебники частенько зашкаливают тупизной на самом деле..
И уже давно. Интересно, это только в странах СНГ или во всем мире.
0
fly
 Аватар для I can
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,820
Сегодня, 08:03
Цитата Сообщение от diadiavova Посмотреть сообщение
Вот именно, но некоторым для ее решения нужен компьютер
Как вопрос стоит в первом посте?
Цитата Сообщение от sysrepos Посмотреть сообщение
Я решил с помощью C#. Код получился примерно на 100 строк..... Можно ли эту задачу решить более коротким способом, чем мой?
Хотя, можно и на бумажке код написать...
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,153
Записей в блоге: 43
Сегодня, 08:25
Цитата Сообщение от wizard41 Посмотреть сообщение
а из вопроса автора - как такую задачу решить кодом.
Ну тогда уж вопрос автора надо цитировать точнее
Цитата Сообщение от sysrepos Посмотреть сообщение
Можно ли эту задачу решить более коротким способом, чем мой?
Мое решение тоже можно в виде кода оформить, и я тоже решал перебором вариантов, только вместо того, чтобы решать влоб и перебирать все 1024 варианта я немного порассуждал, отсек все тупиковые ветви и осталось всего 8. Этот способ явно более короткий.
Цитата Сообщение от wizard41 Посмотреть сообщение
Были предложены "универсальные" решения, которые решат подобного рода задачи за приемлемое время, причем с различными числами в лабиринте.
А в чем их универсальность? Ты можешь представить себе ситуацию, в которой придется решать точно такую же задачу, но с другими данными? Я вот сильно сомневаюсь, что кто-то из отписавшихся сохранит себе эту программу на случай, если такая ситуация возникнет. По сути в чем претензия к моему решению? В том что оно хоть и подходит для решения поставленной задачи, но не решает другую, которая нафиг никому не нужна. Я ведь с таким же успехом могу сказать: "А представь себе, что входных массивов не три а четыре, пять и так далее, или вообще их количество определяется пользователем, а сможет ли твоя программа с этим справиться?".
Цитата Сообщение от wizard41 Посмотреть сообщение
Далеко не все 3-классники "смышленые". Это сколько у некоторых уйдет времени, чтобы на листке перебрать возможные комбинации? На что рассчитана задача и что она развивает?
Это задача по арифметике и решение подразумевает использование знания свойств чисел и умения применять эти знания для решения конкретных задач. Не знаю, по зубам ли такая логика именно третьекласснику, но в принципе я использовал те знания которые дети получают в начальной школе.
Цитата Сообщение от wizard41 Посмотреть сообщение
А если таких решений в "лабиринте" будет несколько?
Мое решение нашло бы все варианты если бы они были, в том и фокус.
Цитата Сообщение от wizard41 Посмотреть сообщение
Современные школьные учебники частенько зашкаливают тупизной на самом деле..
А в чем тупизна в данном случае?
Цитата Сообщение от I can Посмотреть сообщение
Как вопрос стоит в первом посте?
Цитата Сообщение от sysrepos Посмотреть сообщение
Можно ли эту задачу решить более коротким способом, чем мой?
Цитата Сообщение от I can Посмотреть сообщение
Хотя, можно и на бумажке код написать...
А что, если ты решаешь задачу программно, оптимизация не нужна? Железяки нынче мощные можно грузить их лишней работой и не париться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
Сегодня, 08:25
Помогаю со студенческими работами здесь

Максимально короткая программа с использованием делегата
Помогите пожалуйста:нужно написать максимально короткую программу с использованием делегата....

Есть ли специальные библиотеки для решения задач высшей математики
подскажите пожалуйста есть ли для c# специальные библиотеки для решения задач высшей математики...

Создать класс для реализации методов решения квадратного уравнения (Нужен максимально короткий код)
Нужен максимально короткий код линк использовать можно НА ВСЕ НЕ БОЛЕЕ 25 МИНУТ!!! 1.Пусть...

Статический класс и делегаты
Есть статический public класс, в котором создано несколько делегатов. Чтоб делегаты объявлены тоже...

Метод для клика по кнопке и ошибка "требуется класс, делегат или структура"
Кода добавляю метод для клика по кнопке пишет такие ошибки: &quot;Требуется &quot;}&quot;&quot;(хотя там вроде все...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru