Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094

Запрос LINQ (сложный)

05.09.2019, 09:52. Показов 3549. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Необходимо написать запрос.
- есть три заказа в которых размещены объект, сами заказы находятся в коллекции «AllOrders»;
- есть, выбранные неизвестным, объекты RO2, RO3 (Стул и чашка). Коллекция «SelectedRO»
Необходимо найти заказы из коллекции «AllOrders», содержащие эти объекты и убрать все остальные объекты из этих заказов.

В результате должны быть получены следующие объекты:
Order1 содержащий RO2, RO3 (Стул и чашка)
Order2 содержащий RO2 (Стул)
Помогите пожалуйста, я уже третий час мучаюсь, все идеи иссякли.

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
class Program
    {
        static void Main(string[] args)
        {
            RentObject RO1 = new RentObject() { Id = 1, Name = "Стол" };
            RentObject RO2 = new RentObject() { Id = 2, Name = "Стул" };
            RentObject RO3 = new RentObject() { Id = 3, Name = "Чашка" };
            RentObject RO4 = new RentObject() { Id = 4, Name = "Тарелка" };
 
            //RO1, RO3, RO2
            Order Order1 = new Order() 
            {
                Id = 1,
                Number = "n1",
                RentObjects = new List<RentObject>() { RO1, RO3, RO2 }
            };
 
            //RO2, RO4
            Order Order2 = new Order()
            {
                Id = 2,
                Number = "nw2",
                RentObjects = new List<RentObject>() { RO2, RO4 }
            };
 
            //RO1, RO4
            Order Order3 = new Order()
            {
                Id = 3,
                Number = "nz3",
                RentObjects = new List<RentObject>() { RO1, RO4 }
            };
 
            IList<RentObject> SelectedRO = new List<RentObject>() { RO2, RO3 };
 
            IList<Order> AllOrders = new List<Order>() { Order1, Order2, Order3 };
        }
    }
 
    class Order
    {
        public int Id { get; set; }
        public string Number { get; set; }
 
        public ICollection<RentObject> RentObjects;
 
        public Order()
        {
            RentObjects = new List<RentObject>();
        }
    }
 
    class RentObject
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.09.2019, 09:52
Ответы с готовыми решениями:

Запрос LINQ
Добрый день. Помогите написать запрос. Необходимо получить объекты из коллекции, которых нет в другой коллекции. В результате...

Запрос LINQ
Добрый день. Помоги с запросом, а то не могу сообразить. Необходимо &quot;С хлопнуть данные&quot;, должно остаться 3 заказа a1, a2 ,a3 с...

Написать LINQ запрос
Добрый день, помогите, пожалуйста, с решением задания. Написать LINQ- запрос, который в коллекции Dictionary&lt;Time, string&gt; dict...

49
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
05.09.2019, 11:42
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Чипс Посмотреть сообщение
Я уже на всё согласен, лишь бы работало.
Чипс, на ответ #13 согласны? Или это ещё не всё?

Добавлено через 1 минуту
----
А всё когда будет?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,173
Записей в блоге: 2
05.09.2019, 11:46
Чипс, дополню мой вариант выше сравнением по значениям.

Класс компаратора
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
        /// <summary>Класс компаратора для RentObject</summary>
        /// <remarks>Реализован по примеру 
        /// https://docs.microsoft.com/ru-ru/dotnet/api/system.linq.enumerable.intersect?view=netframework-4.8#System_Linq_Enumerable_Intersect__1_System_Collections_Generic_IEnumerable___0__System_Collections_Generic_IEnumerable___0__System_Collections_Generic_IEqualityComparer___0__
        /// </remarks>
        class RentObjectComparer : IEqualityComparer<RentObject>
        {
            public bool Equals(RentObject x, RentObject y)
            {
                //Check whether the compared objects reference the same data.
                if (object.ReferenceEquals(x, y)) return true;
 
                //Check whether any of the compared objects is null.
                if (object.ReferenceEquals(x, null) || Object.ReferenceEquals(y, null))
                    return false;
 
                //Check whether the products' properties are equal.
                return x.Id == y.Id && x.Name == y.Name;
            }
 
            public int GetHashCode(RentObject product)
            {
                //Check whether the object is null
                if (object.ReferenceEquals(product, null)) return 0;
 
                //Get hash code for the Name field if it is not null.
                int hashProductName = product.Name == null ? 0 : product.Name.GetHashCode();
 
                //Get hash code for the Code field.
                int hashProductCode = product.Id.GetHashCode();
 
                //Calculate the hash code for the product.
                return hashProductName ^ hashProductCode;
            }
        }
Пример использования
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
        static void Main(string[] args)
        {
            RentObject RO1 = new RentObject() { Id = 1, Name = "Стол" };
            RentObject RO2 = new RentObject() { Id = 2, Name = "Стул" };
            RentObject RO22 = new RentObject() { Id = 2, Name = "Стул" };
            RentObject RO3 = new RentObject() { Id = 3, Name = "Чашка" };
            RentObject RO4 = new RentObject() { Id = 4, Name = "Тарелка" };
 
            //RO1, RO3, RO2
            Order Order1 = new Order()
            {
                Id = 1,
                Number = "n1",
                RentObjects = new List<RentObject>() { RO1, RO3, RO2 }
            };
 
            //RO2, RO4
            Order Order2 = new Order()
            {
                Id = 2,
                Number = "nw2",
                RentObjects = new List<RentObject>() { RO2, RO4 }
            };
 
            //RO1, RO4
            Order Order3 = new Order()
            {
                Id = 3,
                Number = "nz3",
                RentObjects = new List<RentObject>() { RO1, RO4 }
            };
 
            IList<RentObject> SelectedRO = new List<RentObject>() { RO22, RO3 };
 
            IList<Order> AllOrders = new List<Order>() { Order1, Order2, Order3 };
 
            /// Сравнение как объектов (по ссылкам)
            var SelectedOrder = AllOrders.Where(order => SelectedRO.Intersect(order.RentObjects).Any());
            Console.WriteLine("Выбранные заказы : "+string.Join(", ", SelectedOrder.Select(ord => $"{{ Id={ord.Id}, Number=\"{ord.Number}\"}}")));
 
            /// Сравнение через компаратор (по значениям)
            SelectedOrder = AllOrders.Where(order => SelectedRO.Intersect(order.RentObjects, new RentObjectComparer()).Any());
            Console.WriteLine("Выбранные заказы : "+string.Join(", ", SelectedOrder.Select(ord => $"{{ Id={ord.Id}, Number=\"{ord.Number}\"}}")));
 
            Console.ReadKey();
 
 
 
        }
КонсольВыбранные заказы : { Id=1, Number="n1"}
Выбранные заказы : { Id=1, Number="n1"}, { Id=2, Number="nw2"}
1
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094
05.09.2019, 11:46  [ТС]
Цитата Сообщение от Lexeq Посмотреть сообщение
Masson1848, именно. Поэтому и бить надо за такое. Но посмотрим, что Чипс скажет.
Не страшно, пускай в Order будут новые объекты, я выведу это на экран и забуду про это, ни куда это потом сохранять не надо, типо отчёт надо сделать, что бы на экране было.
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
05.09.2019, 11:48
Цитата Сообщение от Чипс Посмотреть сообщение
Стул и Чашка
Чипс, Почему в задание вы пишите совсем противоположное
Цитата Сообщение от Чипс Посмотреть сообщение
Order1 содержащий RO2, RO3 (Стул и чашка)
Order2 содержащий RO2 (Стул)
Это или
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
05.09.2019, 11:49
Цитата Сообщение от Чипс Посмотреть сообщение
Order будут новые объекты
После моего кода там будут старые order с новой коллекцией RentObjects.
0
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094
05.09.2019, 11:50  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Чипс, дополню мой вариант выше сравнением по значениям.
Это очень сложно, я в этом буду долго разбираться =(
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
05.09.2019, 11:50
Элд Хасп, Тогда можно ещё накинуть интерфейс ICloneable, Сделать
C#
1
AllOrders.Select(obj => obj.Clone())
И сохранить целостность объектов
0
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094
05.09.2019, 11:53  [ТС]
Цитата Сообщение от Lexeq Посмотреть сообщение
После моего кода там будут старые order с новой коллекцией RentObjects.
Ну и ладно, главное, что на экране будет красиво!
Как я понял:
Вы нашли заказы где присутствуют Стул и Чашка, а том вы в эти заказы добавили объекты из коллекции SelectedRO ?
C#
1
IList<RentObject> SelectedRO = new List<RentObject>() { RO2, RO3 };
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
05.09.2019, 11:55
Лучший ответ Сообщение было отмечено Чипс как решение

Решение

Цитата Сообщение от Чипс Посмотреть сообщение
Не страшно, пускай в Order будут новые объекты
Тоже вариант с подмененной коллекцией RentObjects в существующих ордерах:
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
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace Question2496895
{
    class Program
    {
        static void Main(string[] args)
        {
            RentObject RO1 = new RentObject() { Id = 1, Name = "Стол" };
            RentObject RO2 = new RentObject() { Id = 2, Name = "Стул" };
            RentObject RO3 = new RentObject() { Id = 3, Name = "Чашка" };
            RentObject RO4 = new RentObject() { Id = 4, Name = "Тарелка" };
 
            //RO1, RO3, RO2
            Order Order1 = new Order()
            {
                Id = 1,
                Number = "n1",
                RentObjects = new List<RentObject>() { RO1, RO3, RO2 }
            };
 
            //RO2, RO4
            Order Order2 = new Order()
            {
                Id = 2,
                Number = "nw2",
                RentObjects = new List<RentObject>() { RO2, RO4 }
            };
 
            //RO1, RO4
            Order Order3 = new Order()
            {
                Id = 3,
                Number = "nz3",
                RentObjects = new List<RentObject>() { RO1, RO4 }
            };
 
            IList<RentObject> SelectedRO = new List<RentObject>() { RO2, RO3 };
 
            IList<Order> AllOrders = new List<Order>() { Order1, Order2, Order3 };
 
            AllOrders = AllOrders.Aggregate(
                new List<Order>(),
                (a, b) =>
                {
                    var query2 = b.RentObjects.Where(e => SelectedRO.Contains(e));
                    if (query2.Count() > 0)
                        a.Add(b);
                    b.RentObjects = query2.ToList();
                    return a;
                });
 
            // Тестирование
            foreach (var item in AllOrders)
            {
                Console.WriteLine($"{item.Id} {item.Number}");
                foreach (var item2 in item.RentObjects)
                {
                    Console.WriteLine($"\t{item2.Id} {item2.Name}");
                }
            }
 
        }
    }
 
    class Order
    {
        public int Id { get; set; }
        public string Number { get; set; }
 
        public ICollection<RentObject> RentObjects;
 
        public Order()
        {
            RentObjects = new List<RentObject>();
        }
    }
 
    class RentObject
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}
1
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
05.09.2019, 11:55
Чипс, А если вам придётся расширять программу и снова обращаться к объектам, вы ещё раз их запросите у БД. Тип постоянно тормошить БД. Почему не обернуть пришедшие объекты в другой класс и на нём реализовать интерфейсы
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
05.09.2019, 12:08
Чипс, еще наркомании принес. Если RO1 в заказах и RO1 в SelectedRO, это одни и те же объекты, и можно ломать все полностью,то
C#
1
2
3
         var res =  AllOrders.Select(o=> {
            o.RentObjects = o.RentObjects.Intersect(SelectedRO).ToList();
            return o;}).Where(o => o.RentObjects.Count > 0);
Кликните здесь для просмотра всего текста
Если RO1 в одном заказе и RO1 в другом/в SelectedRO это разные объекты и их надо сравнивать по Id, то
C#
1
2
3
         var res =  AllOrders.Select(o=> {
            o.RentObjects = o.RentObjects.Where(x=>SelectedRO.Any(y=> y.Id == x.Id)).ToList();
            return o;}).Where(o => o.RentObjects.Count > 0);


Цитата Сообщение от Чипс Посмотреть сообщение
где присутствуют Стул и Чашка
или. Условию стул и чашка соответствует только первый заказ. Если код в этом сообщении работает и устраивает, то предыдущий я пожалуй объяснять не стану, там уж слишком перемудрено.
1
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094
05.09.2019, 12:14  [ТС]
Цитата Сообщение от Masson1848 Посмотреть сообщение
Чипс, А если вам придётся расширять программу и снова обращаться к объектам, вы ещё раз их запросите у БД. Тип постоянно тормошить БД. Почему не обернуть пришедшие объекты в другой класс и на нём реализовать интерфейсы
Потом будет потом, будь у меня время, я бы сделал все по "человечески", но сроки поджимают.
Запрос формирующий коллекцию для вывода на экран будет лежать отдельно, потом перепишу.
Не бывает ничего более постоянного чем временное =)

Спасибо вам amr-now ваш код мне более понятен.
Спасибо Lexeq ваш вариант тоже хороший, но для меня сложновато.

Спасибо всем кто думал.

Цитата Сообщение от Lexeq Посмотреть сообщение
Если RO1 в одном заказе и RO1 в другом это разные объекты и их надо сравнивать по Id, то
Насколько я понимаю принципы БД, то записи с одинаковым Id подразумевают одинаковые объекты, ну это уже всякая там теория.
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
05.09.2019, 12:16
Чипс, А причём тут бд. Ты вроде создаешь объекты в Шарпе. Объекты могут быть одинаковые но в памяти лежать в разных местах от этого они будут разные.
0
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094
05.09.2019, 12:21  [ТС]
Цитата Сообщение от Masson1848 Посмотреть сообщение
Ты вроде создаешь объекты в Шарпе.
Мне было важно понять принцип, получить работающий запрос на простом примере, сейчас его возьму и перепишу для реальной задачи.
Выкладывать все код из реальной задачи долго и не все станут в нём разбираться.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,173
Записей в блоге: 2
05.09.2019, 12:25
Цитата Сообщение от Чипс Посмотреть сообщение
Это очень сложно, я в этом буду долго разбираться =(
Так вы не ответили вам нужно сравнение объектов RentObject или их значений.

Если сравнение объектов, то компаратора не надо. Только одна строка для получения результата
C#
37
38
39
            /// Сравнение как объектов (по ссылкам)
            var SelectedOrder = AllOrders.Where(order => SelectedRO.Intersect(order.RentObjects).Any());
            Console.WriteLine("Выбранные заказы : "+string.Join(", ", SelectedOrder.Select(ord => $"{{ Id={ord.Id}, Number="{ord.Number}"}}")));
Если сравнение по значениям, то где-то надо прописать как эти значения сравнивать. Стандартное место для этого - компаратор. Проще чем в моём примере... вроде некуда.
Можно конечно весь код сравнения значений перекинуть в LINQ запрос. Но проще ли это...?

Добавлено через 1 минуту
Если вам нужно сравнение по всем значениям, то используйте для RentObject не класс, а структуру. Тогда компаратор не будет нужен. Структуры сравниваются по значению (насколько помню).
0
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094
05.09.2019, 12:39  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Так вы не ответили вам нужно сравнение объектов RentObject или их значений.
Ну я специально добавил
C#
1
public int Id { get; set; }
Я понимаю, что можно создать два разных объекта с одинаковыми Id, но для БД это будет один "объект" или одна запись.
В БД не должно быть такого :
Id | Name
1 | qqq
1 | www

А должно быть так:
Id | Name
1 | qqq
2 | www

Вы можете сделать два объекта с одинаковыми Id в коде, но при поиске "объекта" в БД по его Id вы всё ровно получите только одну запись.

Допустим:
Я нашёл Чашку и Стол в БД, по каким-то там параметрам, получил коллекцию в которой есть Id этих записей, дальше мне уже всё ровно, какие там это объекты, одинаковые или разные, с точки зрения C#, главное, что у них есть Id по которому я смогу их найти в БД, а там уже сравнить стул это или чашка.
Ну вообщем как-то так.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,173
Записей в блоге: 2
05.09.2019, 12:45
Цитата Сообщение от Чипс Посмотреть сообщение
Вы можете сделать два объекта с одинаковыми Id в коде, но при поиске "объекта" в БД по его Id вы всё ровно получите только одну запись.
В БД да.
Но в коде C# в методах расширения LINQ - не всегда.
Для объектов - всегда нет.
Для структур - да если все значения (Id, Name и др.) равны.
Для других случаев надо задать правила по которым объекты считаются равными.
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
05.09.2019, 12:46
Элд Хасп, там еще нужно получить пересечение RentObjects и SelectedRO.
Чипс, так вы можете получить разными запросами, разные объекты для одной записи. Но тут вам виднее как вы работаете с базой.
На самом деле вариантов можно много придумать, например вот еще. Оно не изменяет изначальные объекты
C#
1
2
3
4
5
6
7
8
9
10
        var res = AllOrders.Select(o => new {Order = o, Rents = o.RentObjects.Intersect(SelectedRO).ToList()}).Where(x => x.Rents.Count > 0);
        //print
        foreach(var item in res)
        {
            Console.WriteLine($"[{item.Order.Id}] {item.Order.Number}");
            foreach(var rent in item.Rents)
            {
                Console.WriteLine($"---[{rent.Id}] {rent.Name}");
            }
        }
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,173
Записей в блоге: 2
05.09.2019, 12:48
Цитата Сообщение от Чипс Посмотреть сообщение
Я нашёл Чашку и Стол в БД, по каким-то там параметрам, получил коллекцию в которой есть Id этих записей, дальше мне уже всё ровно какие там это объекты, одинаковые или разные, с точки зрения C#, главное, что у них есть Id по которому я смогу их найти в БД, а там уже сравнить стул это или чашка.
Для сравнения только по Id класс компаратора
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
        class RentObjectIdOnlyComparer : IEqualityComparer<RentObject>
        {
            public bool Equals(RentObject x, RentObject y)
            {
                //Check whether the compared objects reference the same data.
                if (object.ReferenceEquals(x, y)) return true;
 
                //Check whether any of the compared objects is null.
                if (object.ReferenceEquals(x, null) || Object.ReferenceEquals(y, null))
                    return false;
 
                //Check whether the products' properties are equal.
                return x.Id == y.Id ;
            }
 
            public int GetHashCode(RentObject product)
            {
                //Check whether the object is null
                if (object.ReferenceEquals(product, null))
                    return 0;
 
                //Calculate the hash code for the product.
                return product.Id.GetHashCode();
            }
        }
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,173
Записей в блоге: 2
05.09.2019, 12:52
Цитата Сообщение от Lexeq Посмотреть сообщение
ам еще нужно получить пересечение RentObjects и SelectedRO.
Ну, что я и проверяю в моём примере order => SelectedRO.Intersect(order.RentObjects).Any()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.09.2019, 12:52

LINQ групповой запрос+
Здравствуйте, не могли бы хотя бы намекнуть. Я нашел пример, он приведен ниже using System; using System.Collections.Generic; ...

LINQ запрос из ArrayList
Здравствуйте, сразу скажу, что я понимаю что лучше бы использовать List &lt;T&gt;, но переделывать слишком много. А проблема вот такая. Есть код...

Необычный LINQ запрос
Помогите пожалуйста, даже сообразить не могу, string names = { &quot;Alonso&quot;, &quot;Zheng&quot;, &quot;Smith&quot;, &quot;Jones&quot;, &quot;Smythe&quot;,...

Запрос Linq с конвертированием
Всем привет Ситуация такая. Есть две таблицы, связанные отношениями. пишу запрос: var r = from rs in db.Request ...

Как написать LinQ запрос
Есть массив: _zones = new TD; _zones = new TD(); _zones.Type = &quot;example1&quot;; ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru