Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67

Оставить без изменения последовательность, если она упорядочена

21.10.2015, 00:27. Показов 3615. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны целые числа а1...аn, где n - целое положительное число (n<=100). Оставить без изменения последовательность, если она упорядочена по неубыванию или невозрастанию; в противном случае удалить из последовательности все члены, порядковые номера которых кратны четырем, сохранив прежним порядок остальных членов.

Добавлено через 1 час 55 минут
help
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2015, 00:27
Ответы с готовыми решениями:

Если последовательность отсортирована по возрастанию, оставить ее без изменения. Иначе получить иную последовательность
Дана последовательность действительных чисел X1,X2,X3,…,Xn (n&gt;2, заранее неизвестно). Если последовательность отсортирована по возрастанию,...

Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию
Всем доброго времени суток! Очень прошу помочь написать правильно решение задачи. Пользователь вводит положительное число. Нужно...

Даны действительные числа a1.an , где n – натуральное число. Оставить без изменения последовательность a1
Даны действительные числа a1...an , где n – натуральное число. Оставить без изменения последовательность a1....an, если она упорядочена по...

37
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.10.2015, 13:03
Цитата Сообщение от Andrey1997 Посмотреть сообщение
Оставить без изменения последовательность, если она упорядочена
Намекаю.
0
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67
21.10.2015, 15:22  [ТС]
Помогите плиз
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.10.2015, 16:04
Andrey1997, последовательность целых чисел - массив типа int. Вот такой, например:
C++
1
int arr[100];
Либо какой-нибудь контейнер STL, например такой:
C++
1
std::vector<int> arr;
С вектором, на мой взгляд, попроще будет.

Проверить вектор на упорядоченность просто:
C++
1
bool issorted = arr.is_sorted(arr.begin(), arr.end());
Дальше вставляете переменную issorted в качестве условия в оператор if, или в if else, либо в циклы (while или for):
C++
1
2
3
4
if (issorted)
    // делать что-то
else
    // делать что-то иное
Добавлено через 8 минут
Цитата Сообщение от Andrey1997 Посмотреть сообщение
удалить из последовательности все члены, порядковые номера которых кратны четырем
Это просто:
C++
1
2
3
4
5
6
7
8
for (size_t i = 0; i < arr.size(); ++i)
{
    if (!((i+1)%4))
    {
         arr.erase(arr.begin() + i);
    }
}
arr.shrink_to_fit();
0
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67
21.10.2015, 16:31  [ТС]
gru74ik, надо с помощью массива решить
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.10.2015, 16:51
Цитата Сообщение от Andrey1997 Посмотреть сообщение
надо с помощью массива решить
Andrey1997, надо - решайте. Пока что Вы не написали ни строчки.
0
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67
21.10.2015, 16:54  [ТС]
gru74ik, Этот раздел форума для начинающих программистов, которые слабы в программировании, если бы я знал как решать, то не писал бы сюда, если не знаете как решать , то хватит засорять тему.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.10.2015, 17:02
Цитата Сообщение от Andrey1997 Посмотреть сообщение
Этот раздел форума для начинающих программистов, которые слабы в программировании
Это раздел для школьников, студентов и начинающих программистов, которые сами пишут код, и в ходе своей работы сталкиваются с трудностями и просят более опытных форумчан разъяснить непонятные моменты. Вы пока что не сделали ничего. Не написали ни строчки. Или Вы хотите готовое решение на блюдечке с голубой каёмочкой?

Цитата Сообщение от Andrey1997 Посмотреть сообщение
если не знаете как решать
Я знаю как решить Вашу простую задачку. И с радостью помог бы Вам прояснить трудные моменты. Но вместо Вас решать не хочу. Так Вы ничему не научитесь.

Добавлено через 56 секунд
Цитата Сообщение от Andrey1997 Посмотреть сообщение
хватит засорять тему
Минус за грубость и неблагодарность.
8
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67
21.10.2015, 18:25  [ТС]
gru74ik,gru74ik, пока что вы ничего не прояснили и благодарить мне вас не за что, когда я сказал что надо решить с помощью массива вы вместо того чтобы дать дельные советы сказали мне решать самому и понизили просто так репутацию.

Добавлено через 49 минут
Вот , дальше не знаю что делать, подскажите плиз кто-нибудь.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int arr[100];
    int b;
    cout << "N= ";
    cin >> N;
    for (size_t i = 0; i < arr.size(); ++i)
    {
        if (!((i + 1) % 4))
        {
            arr.erase(arr.begin() + i);
        }
    }
    arr.shrink_to_fit();
    system("pause");
    return 0;
}
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
21.10.2015, 18:44
Дам первый дельный совет.Andrey1997, из массива нельзя удалить элементы. В массиве можно их только или скрыть или делать новый массив.

Добавлено через 2 минуты
Цитата Сообщение от Andrey1997 Посмотреть сообщение
Вот , дальше не знаю что делать,
Вы бы проверку сначала сделали на упорядоченность.
1
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.10.2015, 19:35
Лучший ответ Сообщение было отмечено Andrey1997 как решение

Решение

Andrey1997, будем считать, что извинения приняты. Хотя, мне кажется, что если кому-то публично нагрубил, то и извиняться надо так же публично, а не в личку. Ну да ладно, не будем мелочиться.
Что ж, посмотрим на Ваш код. Давайте немного поправим то, что Вы написали:
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
#include <iostream>     // для ввода-вывода
#include <ctime>        // для функции time()
#include <cstdlib>      // для функции srand() и rand()
#include <windows.h>    // для функции Sleep()
#include <algorithm>    // для функции сортировки std::sort()
 
// с помощью ключевого слова typedef зададим псевдоним для типа int:
typedef int Item;   // теперь Item то же самое, что и int
 
// то же самое для типа указатель на int:
typedef Item * Iter; // теперь Iter - то же самое, что и int*
 
// глобальная константа используется в функции show_sequence():
const int STEP = 10;
 
// прототипы для наших самодельных функций (прототипы нужны для
// компилятора, чтобы он знал тип возвращаемого из функции значения
// и  тип и количество аргументов, передаваемых в функцию):
void fill_range_rand(Iter beg, Iter end, Item fromNum, Item toNum);
void show_sequence(Iter beg, Iter end);
 
// главная функция:
int main()
{
    std::cout << "Please enter the size of the array: ";
    int arrSize;
    std::cin >> arrSize;
    
    // динамически выделяем память под наш массив
    int * arr = new int[arrSize];
    
    // заполняем наш массив псевдослучайными числами от 10 до 99:
    fill_range_rand(arr, arr + arrSize, 10, 99);
    
    // создаём переменную булева типа - она у нас будет показывать
    // сортирован массив или нет (библиотечная функция is_sorted
    // прекрасно решит эту задачу за нас):
    bool issorted = std::is_sorted(arr, arr + arrSize);
    
    // отобразим массив на экране с помощью самодельной функции
    // show_sequence() - в качестве аргументов передаём в функцию
    // указатели на первый элемент массива и элемент следующий за
    // последним элементом (в духе STL):
    show_sequence(arr, arr + arrSize);
    
    // если массив сортирован, выведем на экран сообщение об этом
    if (issorted)
        std::cout << "\nThe array is sorted.\n";
    
    // а если нет, сообщим, что нет:
    else
        std::cout << "\nThe array is not sorted.\n";
    
    // освобождаем память:
    delete [] arr;
 
    return 0;
}
 
// определение (реализация) функции fill_range_rand():
void fill_range_rand(Iter beg, Iter end, Item fromNum, Item toNum)
{
    Sleep(800); // делаем небольшую задержку
    srand(time(0));
    for ( ; beg != end; ++beg)
        *beg = fromNum + rand()%(toNum - fromNum);
}
 
// определение (реализация) функции show_sequence():
void show_sequence(Iter beg, Iter end)
{
    char delim;
    for (int i = 1; beg != end; ++beg, ++i)
    {
        if (i%STEP)
            delim = ' ';
        else
            delim = '\n';
        std::cout << *beg << delim;
    }
}
Добавлено через 9 минут
Andrey1997, насчёт удаления из массива - тут сложнее. Надо решить, как мы это будем делать. Дело в том, что обычные сишные массивы не могут менять свой размер динамически, как, скажем библиотечные контейнеры типа std::vector (почему я сразу именно его и предложил - с ним заморочек намного меньше). Поэтому изменить размер сишного массива можно лишь способом вроде этого:
  1. скопировать всё во временный массив
  2. освободить память из-под исходного массива
  3. создать новый массив меньшего размера
  4. скопировать в новый массив из временного все элементы, за исключением того, который надо было "удалить"
1
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67
21.10.2015, 19:43  [ТС]
gru74ik, извините пожалуйста за хамство, спасибо большое за помощь!
1
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
21.10.2015, 20:21
Andrey1997, В вашем коде Вы использовали функции-члены библиотечного класса std::vector (например, size(), erase(), shrink_to_fit() ) - с обычными сишными массивами такой подход не сработает.

Вы из моего варианта кода хоть что-нибудь поняли? Какие-то вопросы, неясности по коду имеются? Вторую часть задания делать планируете?
0
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67
21.10.2015, 21:57  [ТС]
gru74ik, ваш код является для меня малопонятным (по скольку я новичок в программировании), но я попытаюсь разобраться.
Цитата Сообщение от gru74ik Посмотреть сообщение
Вторую часть задания делать планируете?
Да, попробую

Добавлено через 1 час 19 минут
gru74ik,
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
#include "stdafx.h"
#include <iostream>     
#include <ctime>        
#include <cstdlib>      
#include <windows.h>    
#include <algorithm>    
typedef int Item;  
typedef Item * Iter; 
const int STEP = 10;
void fill_range_rand(Iter beg, Iter end, Item fromNum, Item toNum);
void show_sequence(Iter beg, Iter end);
int main()
{
    std::cout << "Please enter the size of the array: ";
    int arrSize;
    int arrSize2;
    std::cin >> arrSize;
int * arr = new int[arrSize];
fill_range_rand(arr, arr + arrSize, 10, 99);
bool issorted = std::is_sorted(arr, arr + arrSize);
show_sequence(arr, arr + arrSize);
int * arr = new int[arrSize];
delete[] arr;
int * arr2 = new int[arrSize2];
public:
    static void Copy(
        arrSize^ sourceArray,
        int sourceIndex,
        Array^ destinationArray,
        int destinationIndex,
        int length
        )
        if (arrSize %10!=4&&issorted)
            std::cout << "\nThe array is sorted.\n";
        else
            std::cout << "\nThe array is not sorted.\n";
system("pause");
    return 0;
}
void fill_range_rand(Iter beg, Iter end, Item fromNum, Item toNum)
{
    Sleep(800); 
    srand(time(0));
    for (; beg != end; ++beg)
        *beg = fromNum + rand() % (toNum - fromNum);
}
void show_sequence(Iter beg, Iter end)
{
    char delim;
    for (int i = 1; beg != end; ++beg, ++i)
    {
        if (i%STEP)
            delim = ' ';
        else
            delim = '\n';
        std::cout << *beg << delim;
    }
}
Вот я пытался делать по алгоритму из 4 действий, который вы дали, но не получилось
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
22.10.2015, 01: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
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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
/*ФУНЦИЯ ЗАПОЛНЕНИЯ*/
void fill_rand_arr(int *&Arr, const unsigned &Row){
    for (unsigned i=0;i<Row;i++)  Arr[i] = rand()%50-25;
}
 
/*ФУНКЦИЯ ВЫВОДА НА ЭКРАН*/
void print_arr(int *&Arr, const unsigned &Row){
    for (unsigned i=0;i<Row;i++){
           cout << Arr[i] << "  ";
    }
}
 
/*ФУНКЦИЯ ВЫДЕЛЕНИЯ ПАМЯТИ*/
void create_arr(int *&Arr, const unsigned &Row){
    Arr = new int[Row];
}
 
/*ФУНЦИЯ ОЧИСТКИ ПАМЯТИ*/
void destroy_arr(int *&Arr, const unsigned &Row){
    delete []Arr;
    Arr = NULL;
}
 
/*ФУНКЦИЯ ПРОВЕРКИ УПОРЯДОЧЕННОСТИ ОБОИХ ВИДОВ*/
bool is_sorted(int *&Arr, const unsigned &Row){
    bool up, down;
    int i;
 
    for ( i = 0; i<Row-1; i++){
        up = Arr[i] < Arr[i+1];
        if (!up) break;
    }
 
    for ( i = 0 ; i<Row-1; i++){
        down = Arr[i] > Arr[i+1];
        if (!down) break;
    }
    return (up || down);
}
 
/*ФУНКЦИЯ СОЗДАНИЯ НОВОГО МАССИВА*/
void arr_transform(int *&Arr, int &Row){
    int temp1 = Row-1;
    int temp2 = Row;
    Row = (Row - Row/4) - 1; //Считаем число элементов без элементов на позициях кратных 4
 
    int *A = new int[Row];  //Создаем новый массив
    int i=0; //Индекс массива A
 
    cout << "\n";
    while (temp1>=0){
      if (0 != (temp2 - temp1 -1)%4) {  //Проверяем кратность позиции
            A[i++] = Arr[temp2 - temp1 -1]; //Записываем подходящие значения в массив
      }
       temp1--;
    }
    delete []Arr; //Очищаем память от старого
    Arr=A; //Делаем старый массив новым массивом
 
 
}
 
int main(){
    srand(time(NULL));
 
 
for (unsigned z=0;z<3;z++){
     bool f = false;
    while (!f){
    f=false;
    int Row(0);
    int *Arr = NULL;
        Row = rand()%20+3;  //Можно указывать число элементов в массиве.
       
        create_arr(Arr,Row); //Выделение памяти
        fill_rand_arr(Arr,Row); //Заполнение
        print_arr(Arr,Row); //Вывод на жкран
 
        /*Тут задача*/
          f = (is_sorted(Arr,Row)); //Проверяем упорядоченность
          if (!f) { //Если массив не отсортирован, то создавайте новый массив
           arr_transform(Arr,Row);  //Преобразование согласно задаче.
           cout <<"Array transformed: \n";
           print_arr(Arr,Row);
           cout << "\n\n=============\n\n";
          } else {
            cout << "Array is ordered\n";
          }
        /**************/
        destroy_arr(Arr,Row);
    delete []Arr;
 
    }
cout << "Press Enter\n";
cin.get();
}
 
}
1
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
22.10.2015, 06:20
daslex, не вынесла душа поэта? )))
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
22.10.2015, 12:22
Цитата Сообщение от gru74ik Посмотреть сообщение
Вы использовали функции-члены библиотечного класса std::vector (например, size(), erase(), shrink_to_fit() ) - с обычными сишными массивами такой подход не сработает.
С Вашего позволения, Я дополню это Ваше утверждение.
Но алгоритмы STL прекрасно работают с массивами, на которые указывают указатели.

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
#include <iostream>
 
using namespace std;
 
template <class ForwardIterator, class UnaryPredicate>
  ForwardIterator remove_if_ (ForwardIterator first, ForwardIterator last,
                             UnaryPredicate pred)
{
  ForwardIterator result = first;
  while (first!=last) {
    if (!pred(*first)) {
      *result = *first;
      --result;
    }
    --first;
  }
  return result;
}
 
int main()
{
    const int N=20;
    int *Arr= new int[N]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 };  //N=20
    //int *Arr= new int[N]{ 1,2,3,4,5,6,7,8,9,10};  //Поменять N, N=10
 
 
 
    for (int i=0;i<N;i++) cout << Arr[i] << "  ";
    cout << "\n";
 
    remove_if_(Arr+N,Arr,[](const int &x){return x%2;});
 
    for (int i=N/2;i<N;i++) cout << Arr[i] << "\n";
 
}
ForwardIterator remove_if_(), это слегка подправленная функция из алгоритмов. Потребовалось переправить для демонстрации понятного кода. Даже если бы я и использовал библиотечную, то ошибки бы не возникло, а элементы бы поудалялись (сделали бы вид, что поудалялись). Только немного не те, какие можно было бы ожидать.

Добавлено через 6 минут
Цитата Сообщение от gru74ik Посмотреть сообщение
daslex, не вынесла душа поэта? )))
Сначала хотел выдать ТСу создание и пересоздание, а чтоб проверку и удаление сам делал. Но в удалении вся соль задания.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
22.10.2015, 13:44
daslex, мне кажется, вряд ли ТС в данный момент сможет переварить твой код. Но мне твой код нравится. Опять же, если уж можно использовать классы, то проще создать свой класс "Массив".
0
22.10.2015, 13:56

Не по теме:

Цитата Сообщение от gru74ik Посмотреть сообщение
вряд ли ТС в данный момент сможет переварить твой код
Если он учится по своей воле, то он спросит, при желании разобраться.
Если он учится: "все туда и я туда, но оно мне не надо", то ничего ему не поможет.

Мой код имеет недостаточность. Она видна когда этот код универсализировать. Нужны доп.проверки. Я их не стал приписывать.

Если говорить о показанном для ТС коде, то я бы и сам часть этого кода не понял. Функцию удаления. Там присутствует элемент применения кодерской хитрости.

0
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67
22.10.2015, 15:55  [ТС]
daslex, что-то не так, программа удалила не все цифры кратные 4 (8 и 12 остались) и выдало еще какую-то ошибку
Миниатюры
Оставить без изменения последовательность, если она упорядочена  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.10.2015, 15:55
Помогаю со студенческими работами здесь

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

Если эти числа равны, заменить их на 0, если нет - меньшое заменить большим, а большое оставить без изменения
Дано 2 целых числа, каждое из низ не больше 2*10^9 по модулю. Если эти числа равны, заменить их на 0, если нет - меньшое заменить большим,...

Если в тексте нет символа +, то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +, заменить символом -
Дан текст. Если в тексте нет символа +, то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +,...

Если заданная последовательность не упорядочена по убыванию, расположить её элементы в обратном порядке
Используя динамический массив надо Дана последовательность N действительных чисел. Если эта последовательность упорядочена по...

Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное оставить без изменения
Дан массив С, состоящий из N элементов (N &lt;10). Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru