Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 157

Давайте все вместе пообщаемся про массивы!

19.10.2015, 19:14. Показов 763. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дело такое, что я понимаю что-либо или усваиваю материал, только в процессе диалога. Читаю - бесполезно. Дальше понимания что такое массивы я не ушел. И то, только потому, что знаком с понятием множества из математики. А так как в реальной жизни мне пообщаться не с кем (я немой + нет друзей, вероятней всего из-за того, что я немой) поэтому хотелось бы пообщаться на предмет массивов тут. Может есть кто-то еще, кто не до конца понимает эту тему и тоже хочет присоединиться. Итак, я начну с того, что я узнал:
Массивы - это данные (возможно много), которые располагаются в одной ячейке памяти (для чего они в одной ячейке непонятно). Массив данных есть, в независимости от того, объявил я его или нет. Он существует и всё. Если я объявляю массив Q то я должен в скобках указать количество элементов в этом массиве, если я этого не сделаю, то КПД объявления массива Q = нулю. Теперь то, что никак не укладывается в моей голове: независимо от того, сколько элементов я укажу в скобках, например 10. При попытке напечатать 11 элемент - ошибки не будет. Так как этот элемент есть, просто он находится за пределами объявленного массива, и единственный для него (или меня) минус, это то, что я просто не могу к нему обращаться, т.к. он не имеет индекса Кто поддержит мой диалог? простите за многа букаф. для меня это как райское наслаждение.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.10.2015, 19:14
Ответы с готовыми решениями:

Давайте создадим ИИ вместе
Основные принципы: Любая информация поступившая извне в мозг человека подвергается анализу, в мозгу создаются асссоциативные...

Давайте вместе сделаем супер проект
Я придумал 100% прибыльный проект. Ведь многие парятся, когда выбирают конфигурацию своего будущего компа, о том потянет ли он их любимые...

Давайте соберём PC вместе только привезли
Всем Всем Всем)) Опыта у меня 0 Привезли пару кусков компа, а именно Intel Core i5-3570K tray ASUS P8Z77-V PRO CHIEFTEC...

17
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8532 / 3375 / 105
Регистрация: 24.05.2011
Сообщений: 14,605
Записей в блоге: 8
19.10.2015, 23:02
Цитата Сообщение от bad_santa Посмотреть сообщение
для чего они в одной ячейке непонятно
Для того, чтобы всем массивом можно было оперировать, как единым элементом.
То есть, в более сложном случае, вы можете собрать из простых массивов массив и оперировать уже большим количеством данных, которые объединены между собой разными признаками, например, в одном массиве собраны численные данные, в другом - символьные и т.д. Причём, все эти данные могут принадлежать группе однотипных объектов, например, описывать некоторую таблицу. Это уже двумерный массив
Далее, таким же образом можно создать массив из уже двумерных массивов, который будет уже трёхмерным. И так далее. Размерность массива может быть очень велика. Этим и достигается очень высокая гибкость фильтрации и выборки современных коммерческих приложений.
Цитата Сообщение от bad_santa Посмотреть сообщение
независимо от того, сколько элементов я укажу в скобках
Так именно для того, чтобы правильно делать выборку и обращаться к любому элементу массива и нужно указывать их точное количество. То есть, в массиве, которое вы объявили равным 10 должно быть десять элементов. Да, одиннацатый и двенадцатый тоже будут элементами этого массива, но при этом, вы не сможете с ними ничего сделать, а оперировать сможете только десятью.
Для того, чтобы массив мог быть переменной длины он должен быть динамическим. В динамическом можно просто указать допустимый диапазон количества элементов. Делается это с помощью переменных.
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
20.10.2015, 00:04
Цитата Сообщение от bad_santa Посмотреть сообщение
которые располагаются в одной ячейке памяти
Какой бред.

Добавлено через 2 минуты
NeoMatrix, что, прости?
Цитата Сообщение от NeoMatrix Посмотреть сообщение
Для того, чтобы массив мог быть переменной длины он должен быть динамическим. В динамическом можно просто указать допустимый диапазон количества элементов. Делается это с помощью переменных.
Добавлено через 8 минут
Разница между статикой и динамикой в том, что размер статического должен быть известен на этапе компиляции, а динамического - в рантайме.

C++
1
2
int n = 5;
int a[n]; // ошибка
C++
1
2
const int n = 5;
int a[n]; // массив a из пяти элементов
Это статика. Динамика:

C++
1
2
3
4
5
6
int n;
std::cin >> n; // мы даже не можен предположить, какое число там окажется
 
int *a = new int[n];
...
delete[] a;
Изменять размер массива можно, да, только в динамике, но это достигается не "с помощью переменных", а через realloc...

И выделено должно быть по-другому, емнип:

C++
1
int *a = (int*) malloc(sizeof(int) * n);
Хотя вряд ли поручусь...

Цитата Сообщение от NeoMatrix Посмотреть сообщение
Да, одиннацатый и двенадцатый тоже будут элементами этого массива
Неа. UB.

Цитата Сообщение от NeoMatrix Посмотреть сообщение
Размерность массива может быть очень велика. Этим и достигается очень высокая гибкость фильтрации и выборки современных коммерческих приложений.
Каким образом?

Добавлено через 2 минуты
Цитата Сообщение от NeoMatrix Посмотреть сообщение
вы можете собрать из простых массивов массив и оперировать уже большим количеством данных, которые объединены между собой разными признаками, например, в одном массиве собраны численные данные, в другом - символьные и т.д. Причём, все эти данные могут принадлежать группе однотипных объектов, например, описывать некоторую таблицу. Это уже двумерный массив
Мой мозг выкинулся в туман.

Добавлено через 8 минут
Цитата Сообщение от bad_santa Посмотреть сообщение
независимо от того, сколько элементов я укажу в скобках, например 10. При попытке напечатать 11 элемент - ошибки не будет. Так как этот элемент есть, просто он находится за пределами объявленного массива, и единственный для него (или меня) минус, это то, что я просто не могу к нему обращаться, т.к. он не имеет индекса
Всё не так. Смотрите. Вот, мы имеем массив
C++
1
int a[10];
Что хранится в переменной a, если речь о Си? Указатель на начало блока памяти, выделенного под массив.
Каким образом мы получаем элемент a[x]? Мы складываем адрес массива (записанный в переменной a) и сдвиг, переданный опреатору индексации (да-да, вот этим квадратным скобкам). Из полученного адреса мы просто берём значение.

Что будет, если мы сделаем a[43] ? Всё будет так же, но мы выйдем за пределы выделенного блока. Что это значит для нас? Это значит, что система могла выделить эти ячейки памяти для каких-то других данных, и мы просто напросто работаем с "котом в мешке".

Ошибки никакой компилятор не выдаст. Она проявится в рантайме, только и всего.
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
20.10.2015, 00:41
Цитата Сообщение от bad_santa Посмотреть сообщение
знаком с понятием множества
Этого достаточно.

Поскольку память линейна, множества представлены в ней последовательно. Ради оптимизации, обычно используются два различных представления: с доступом к элементу множества по индексу (массивы) и с доступом к элементу множества по имени (структуры).

Индексный доступ требует, чтобы все элементы были одного типа (и при этом они анонимны), доступ по имени не имеет такого ограничения.

Все множество (как единое понятие) адресуется собственным именем - именем массива или структуры (которое, фактически, является адресом первого элемента множества).

Для доступа к отдельному элементу массива следует указать его индекс (компилятор по этому индексу вычислит смещение элемента в массиве относительно самого первого).

Есть языки, в которых проверяется выход индекса за пределы массива (влечет потерю производительности), в других этого не делается.

Все, что вам нужно знать о массиве - это множество однородных элементов, записанное в строчку без зазоров между ними, и к каждому из элементов можно обратиться по его номеру в списке.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,868
20.10.2015, 01:26
Цитата Сообщение от FraidZZ Посмотреть сообщение
Разница между статикой и динамикой в том, что размер статического должен быть известен на этапе компиляции, а динамического - в рантайме.
старый спор, для меня динамический это который меняет размер как например vector в плюсах
Цитата Сообщение от FraidZZ Посмотреть сообщение
int n = 5;
int a[n]; // ошибка
не на всех компиляторах
а в Си вроде даже это дело в стандарт ввели
Цитата Сообщение от FraidZZ Посмотреть сообщение
Что будет, если мы сделаем a[43]
это если в Си( и подобных) а в Фортране компилятор даст по рукам,хотя давно не работал могу ошибаться
Цитата Сообщение от bad_santa Посмотреть сообщение
Массивы - это данные (возможно много), которые располагаются в одной ячейке памяти (для чего они в одной ячейке непонятно).
ячейка это что?
можно ячейкой назвать байт, можно несколько байт необходимых для хранения типа, а можно память для хранения массива
у каждого компьютера может быть разная ячейка, поэтому языки высокого уровня абстрагируются от архитектуры
они оперируют значениями целое, действительное, строка
поэтому,чтобы лучше запомнить, и изучай массивы абстрактно
массив это хранилище однотипных данных
например город это массив улиц
улица массив домов
дом массив квартир
Цитата Сообщение от bad_santa Посмотреть сообщение
Теперь то, что никак не укладывается в моей голове: независимо от того, сколько элементов я укажу в скобках, например 10. При попытке напечатать 11 элемент - ошибки не будет.
вот теперь абстрагируйся, улица из 10 домов
тебе сказали пойти к одиннадцатому, ошибки не будет но куда ты придешь?
когда ты обращаешься к элементу массива ты по сути командуешь компьютеру пойти по адресу
улица Главная дом 1234, и он попытается пойти поскольку не знает сколько на улице домов
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
20.10.2015, 01:35
Цитата Сообщение от FraidZZ Посмотреть сообщение
int a[n]; // ошибка
Для C++,но не C99.

Цитата Сообщение от ValeryS Посмотреть сообщение
не на всех компиляторах
gcc расширение позволяет. (на мой взгляд,зря).
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
20.10.2015, 01:59
Цитата Сообщение от S_el Посмотреть сообщение
Для C++,но не C99.
Так код на плюсах... там даже теги такие стоят.

Цитата Сообщение от S_el Посмотреть сообщение
gcc расширение позволяет. (на мой взгляд,зря).
На мой взгляд, тоже.

Цитата Сообщение от ValeryS Посмотреть сообщение
для меня динамический это который меняет размер как например vector в плюсах
Ну... про такую динамику я тоже упомянул, чуть ниже.
0
20.10.2015, 07:14

Не по теме:

Цитата Сообщение от FraidZZ Посмотреть сообщение
что, прости
Видишь-ли, я не программист ни разу, изложил, насколько понимаю сам.

0
20.10.2015, 08:56

Не по теме:

NeoMatrix, и изложил в корне неверную инфу человеку, который и так запутан. Не надо так.

0
20.10.2015, 09:47

Не по теме:

Цитата Сообщение от FraidZZ Посмотреть сообщение
Так код на плюсах...
оно может быть так и было:scratch:
но тема в обвсемах, видать перенесли, и никакого кода нет
вот я и рассуждаю о "Массивах вообще"

0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
20.10.2015, 18:38
bad_santa, давай лучше так, вот код
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    int arr[10]{0};
    int n = 50;
    std::cout << arr[10] << ' ' << n << std::endl;
    arr[10] = 10;
    std::cout << arr[10] << ' ' << n << std::endl;
}
запусти его и посмотри на результат. У меня вывод получился таким
Code
1
2
50 50
10 10
Т.е. как видишь, обратиться можно, и присвоить значение можно, но при этом есть большая вероятность затереть другие данные, которые использует программа.
0
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 157
20.10.2015, 19:14  [ТС]
FraidZZ на NeoMatrix наезжаешь, а у самого в объяснении много непонятного.
NeoMatrix спасибо. все ясно и понятно, кроме момента про динамический массив.
FraidZZ
C++
1
2
int n = 5;
int a[n]; // ошибка
почему ошибка?
Неа. UB.
что такое UB?
Мой мозг выкинулся в туман.
а мне тут все понятно. довольно доступно изложено, хоть и в общих чертах. в чем он не прав? я так понял, например есть куча данных, чтобы проще ими оперировать, я их объединяю в массивы, в один массив все ФИО, в другой все ЗП, в третий номера соцстрахований, в четвертый должности. в общем, цель создания массива - объединить данные по общему признаку. нужному мне. или я не правильно рассуждаю?

Что хранится в переменной a, если речь о Си? Указатель на начало блока памяти, выделенного под массив.
Каким образом мы получаем элемент a[x]? Мы складываем адрес массива (записанный в переменной a) и сдвиг, переданный опреатору индексации (да-да, вот этим квадратным скобкам). Из полученного адреса мы просто берём значение.

Что будет, если мы сделаем a[43] ? Всё будет так же, но мы выйдем за пределы выделенного блока. Что это значит для нас? Это значит, что система могла выделить эти ячейки памяти для каких-то других данных, и мы просто напросто работаем с "котом в мешке".

Ошибки никакой компилятор не выдаст. Она проявится в рантайме, только и всего.
благородное объяснение, вопросов не возникает

gazlan
Все, что вам нужно знать о массиве - это множество однородных элементов, записанное в строчку без зазоров между ними, и к каждому из элементов можно обратиться по его номеру в списке.
т.е. массив a[5] со значениями [17,04,35,18,9] по факту выглядит как 170435189 ???
При этом у 17 будет нулевой индекс, у 04 - 1, 35 -2 и т.д.

ValeryS
поэтому,чтобы лучше запомнить, и изучай массивы абстрактно
согласен. так намного проще а то эти ячейки биты байты бррр...моск трескается.

Вообще речь о с++, и вроде пока все понятно. могу тест пройти Массивы - это множества данных, объединенных общими признаком (кстати, одним или этих признаков может быть много?). Массивы состоят из элементов, к которым мы можем обратиться по индексу. Но самая главная фишка массивов в том, что я могу обратиться сразу к целой куче однотипных данных и применить какой-нибудь метод сразу ко всем. Например, есть 10000 домов с адресами, на улице абрикосовой, мне нужно переименовать адрес каждого дома. И так бы я и делал, если бы у всех не было общего адреса "абрикосовая" которая позволяет не 1000 командами, а одной сменить адрес у всех домов. завтра попробую выложить все, что я понял о многомерных массивах. если сегодня никто не забракует моё понимание одномерных :_)
а вообще всем спасибо! особенно за то, что не ударились в свой холивар по динамике и статике
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
20.10.2015, 19:44
Цитата Сообщение от bad_santa Посмотреть сообщение
почему ошибка?
потому что C++.

Цитата Сообщение от bad_santa Посмотреть сообщение
что такое UB?
неопределенное поведение.
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
20.10.2015, 20:14
Цитата Сообщение от bad_santa Посмотреть сообщение
т.е. массив a[5] со значениями [17,04,35,18,9] по факту выглядит как 170435189?
При этом у 17 будет нулевой индекс, у 04 - 1, 35 -2 и т.д.
Именно. Но еще нужно принять во внимание двоичное представление данных, порядок байтов и битовый размер элемента.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,868
20.10.2015, 21:58
Цитата Сообщение от bad_santa Посмотреть сообщение
например есть куча данных, чтобы проще ими оперировать, я их объединяю в массивы, в один массив все ФИО, в другой все ЗП, в третий номера соцстрахований, в четвертый должности.
тут появляется еще один вид данных-структура
структура это хранилище разнородных данных
структура будет содержать
ФИО
ЗП
соцстрахование
должность

а вот структуры уже можно запихать в массив
0
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 157
21.10.2015, 18:42  [ТС]
ну до структуры я еще не дошел. но суть уловил Хотел малость поэксперементировать с массивами, но что-то на начальном этапе не компилирует в srand ошибку выдает. посмотрите пжл
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
#include <iostream>
#include <iomanip>
#include <time.h>
 
using namespace std;
 
int main()
{
    //string ch;
    int zp[5] = {100, 200, 300, 400, 500};
    int soc[5];
    //int FIO[5]; dol[3];
    setlocale (LC_ALL, "RUS");
    srand(time(NULL));
 
    for (int i = 0; i < 5; i++)
        cout << "Заработная плата = " << zp[i] << endl;
    for (int j = 0; j < 5, j++)
    {
        j = rand() % 9999;
        soc[j] = j;
        cout << "Соцстрахование равно = " << soc[j] << endl;
    }
 
 
    return 0;
}
Добавлено через 2 минуты
и еще такой момент, символьные массивы так заполнять:
C++
1
string FIO[5] = {Иванов, Петров, Сидоров, Промокашкин, Ивашкин, Кудряшкин};
правильно?

Добавлено через 3 минуты
уже проверил. не так)) а как?
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
21.10.2015, 18:50
Фамилии в кавычках?
0
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 157
21.10.2015, 20:27  [ТС]
Цитата Сообщение от SoftIce Посмотреть сообщение
Фамилии в кавычках?
Спасибо, кавычки помогли

Добавлено через 6 минут
всё, я сам разобрался. вот рабочий код
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
#include <iostream>
#include <iomanip>
#include <time.h>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
    //string ch;
    int zp[5] = {100, 200, 300, 400, 500};
    int soc[5];
    string FIO[5] = {"Иванов", "Петров", "Сидоров", "Промокашкин", "Ивашкин"};
    //int FIO[5]; dol[3];
    setlocale (LC_ALL, "RUS");
    srand(time(NULL));
    cout << FIO[0] << endl;
    cout << FIO[1] << endl;
    cout << FIO[2] << endl;
    cout << FIO[3] << endl;
    cout << FIO[4] << endl;
    for (int i = 0; i < 5; i++)
        cout << "Заработная плата = " << zp[i] << endl;
    int q;
    for (int j = 0; j < 5; j++)
    {
        q = 1 + rand() % 99999;
        soc[j] = q;
        cout << "Соцстрахование равно = " << soc[j] << endl;
    }
 
 
    return 0;
}
Добавлено через 1 час 26 минут
помогите передать массивы в функцию
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
#include <iostream>
#include <iomanip>
#include <time.h>
#include <stdlib.h>
 
using namespace std;
 
string naznachenie (string, string);
 
int main()
{
    //string ch;
    int zp[5] = {100, 200, 300, 400, 500};
    int soc[5];
    string FIO[5] = {"Иванов", "Петров", "Сидоров", "Промокашкин", "Ивашкин"};
    string dol[3] = {"Дворник", "Бэтмен", "Чингачгук"};
    setlocale (LC_ALL, "RUS");
    srand(time(NULL));
    cout << FIO[0] << endl;
    cout << FIO[1] << endl;
    cout << FIO[2] << endl;
    cout << FIO[3] << endl;
    cout << FIO[4] << endl;
    for (int i = 0; i < 5; i++)
        cout << "Заработная плата = " << zp[i] << endl;
    int q;
    for (int j = 0; j < 5; j++)
    {
        q = 1 + rand() % 99999;
        soc[j] = q;
        cout << "Соцстрахование равно = " << soc[j] << endl;
    }
 
    for (int k = 0; k < 5; k++)
        cout << naznachenie (FIO[], dol[]) << endl;
 
 
 
    return 0;
}
 
    string naznachenie (string FIO, string dol)
    {
        int a;
        for (int i = 0; i < 5; i++)
        {
                a = rand() % 3;
                cout << FIO[i] << " в этот раз будет " << dol[a];
        }
 
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.10.2015, 20:27
Помогаю со студенческими работами здесь

Давайте вместе создадим справочник Visual Basic
пишите сюда все что вы знаете о Visual Basic

Собираю команду начинающих! Давайте учиться вместе
Целью проекта является самообучение его участников, поэтому о $ даже не заикайтесь пока. Есть конкретная идея. Простенькая. Нужны прогеры,...

Давайте вместе разберём, как работает эта игра Quake?
Давайте вместе разберём, как работает эта игра Quake?

Давайте сочиним что нибудь про инопланетян
Садится НЛО, но какое то странное. Крылатое, всё в пене аля обшивка Индевра, сзади сопла ракетных двигателей. Натуральный шаттл первого...

Что случилось с HDD? Профи, все сюда! Давайте разберёмся
Приятель принес ноут, сказал: &quot;Тормозит&quot;! Правда, ну он очень долго запускался, посмотрел, что там много не нужных программ! Вобщем не...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера 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