Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
 Аватар для Серргей
-4 / 0 / 2
Регистрация: 16.03.2015
Сообщений: 61

Как у вас двумерные вектора устроены?

07.05.2018, 20:44. Показов 1813. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вектор представляет собой последовательность объектов с динамическим размером, которая обеспечивает произвольный доступ к массиву operator[]. Функция-член push_back копирует свои аргументы с помощью конструктора копирования, добавляет, что копия как последний элемент в векторе и увеличивает его размер на единицу. pop_back делает обратное, удаляя последний элемент. Вставка или удаление элементов с конца вектора берет амортизированное постоянное время, а вставка или удаление из любого другого места занимает линейное время. Это основы векторов. Их гораздо больше. В большинстве случаев вектор должен быть вашим первым выбором в массиве C-стиля. Прежде всего, они имеют динамический размер, что означает, что они могут расти по мере необходимости. Вам не нужно делать всевозможные исследования, чтобы определить оптимальный статический размер, как в случае с массивами C; вектор растет по мере необходимости, и он может быть изменен более или менее вручную, если вам нужно. Во-вторых, векторы предлагают проверку границ с помощью функции-члена at (но не с operator[]), так что вы можете что-то сделать, если ссылаетесь на несуществующий индекс, а не просто наблюдаете за сбоем в работе программы или хуже, продолжая выполнение с поврежденными данными.

если в с++ vector является заменой массива в си, то как создать двухмерный вектор?
например нужно считать матрицу размером х на у из файла в вектор при этом размер матрицы неизвестен

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
#include <stdlib.h>
#include <stdio.h>
 
int NUM_OBJECTS = 20;
 
typedef struct{
    int* val;
    void* next;
} n_obj;
 
#define Q_INT malloc(sizeof(int))
#define Q_OBJ malloc(sizeof(n_obj))
#define Q_SEQ(x) calloc((x), sizeof(int))
 
int main()
{
    int clear_i;
    int i, left_i, cur_sz, cur_num;
    n_obj **cl;
    n_obj *temp;
    n_obj *cur_list;
    n_obj *cur_seq;
     
    cl = malloc(sizeof(n_obj*)*NUM_OBJECTS);
     
    for(i=0;i<NUM_OBJECTS;i++)
    {
        cl[i] = Q_OBJ;
        cl[i]->val = NULL;
         
        temp = Q_OBJ;
        temp->val = Q_SEQ(1);
         
        temp->val[0] = i + 1;
         
        temp->next = cl[i]; 
        cl[i] = temp;
         
        cur_list = cl[i];
        for(left_i=0; left_i<i; left_i++)
        {
            for(cur_seq=cl[left_i];cur_seq->val!=NULL;cur_seq=cur_seq->next)
            {               
                if(cur_seq->val[0]<=(i - left_i))
                {
                    temp = Q_OBJ;
                    temp->val = Q_SEQ(left_i + 3);
                     
                    temp->val[0] =  i - left_i;
                     
                    temp->next = cur_list->next;
                    cur_list->next = temp; 
                    cur_list = temp;
                     
                    for(cur_num=0;cur_num<=left_i;cur_num++)
                        cur_list->val[cur_num+1] = cur_seq->val[cur_num];
                }
            }
        }
    }
     
    for(i = 0; i < NUM_OBJECTS; i++)
    {
        cur_sz = 0;
        printf("---------------------------\n");
        for(cur_list = cl[i]; cur_list->val != NULL; cur_list = cur_list->next)
        {
            for(clear_i = 0; cur_list->val[clear_i] != 0; clear_i++)
            {
                printf("%d ", cur_list->val[clear_i]);
            }
            printf("\n");
            cur_sz++;
        }
        printf("Number of partitions = %d\n", cur_sz);
     
    }
    return 0;
}
Вроде так ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.05.2018, 20:44
Ответы с готовыми решениями:

Как у вас устроены переходы между UserControl и обратно
Всем доброго дня. Вопрос состоит в правильной структуре программы. У меня есть несколько Армов, в одной программе. Есть главная форма. ...

Как устроены проекты VS
Подскажите плиз, как организована прога в VS? И определения что такое solution, project и тд? Как нужно располагать классы по файлам и...

Как устроены игры?
Есть ли книга или руководство на русском, в котором объясняется как устроены компьютерные игры? Я подразумеваю абсолютно всё: начиная с...

38
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.06.2018, 18:48
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от lArtl Посмотреть сообщение
Забей, это тролль)
lArtl, я бы не стал торопиться. Вектор действительно не самый удобный вариант для работы на стеке с многомерной матрицей константного и известного во время компиляции размера.
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
#include <iostream>
#include <vector>
using namespace std;
 
int main(int argc, char* argv[])
{
size_t s=10;
//typedef vector<s, int> v10; //так не получится к сожалению и это не проблема компиляторов и стандартов
//это проблема мозга тех кто их создавал
//поэтому нельзя сразу захватить константное количество элементов на уровне типа так, как это делается при объявлении
int A[10];
//то есть ты можешь
typedef int Array10int[10];
//а потом 
Array10int array10int[10];// аналогично объявлению int  array10int[10][10];
//а с вектором так нельзя так как он не параметризуется на конечном размере и для векторов строк всё нужно делать в конструкторе
//который нельзя вызвать для строк
//то есть можно
vector<int>v10int(10);
//но ты не можешь создать вектор таких векторов в объявлении, так же как объявить а потом вызвать конструкторы для строк
//остаётся лишь
vector<vector<int>> vecvec10int(10);
//а потом заниматься сексом с командой resize, например на строках в цикле по ним
for(int i=0; i<10; ++i) vecvec10int[i].resize(10);
//а это, если даже не цементировать при помощи reserve может быть достаточно накладно
//это потому, что размер не может быть параметром шаблона vector
//но есть std::array и можно получить неплохую поддержку не прибегая к вектору.
cout<<endl;
system("pause");
return 0;
}
Вопрос вполне разумен и содержателен (imho).
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
02.06.2018, 19:18
Цитата Сообщение от IGPIGP Посмотреть сообщение
Вопрос вполне разумен и содержателен (imho).
Просто вы тему не прочли)
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.06.2018, 19:24
Цитата Сообщение от lArtl Посмотреть сообщение
Просто вы тему не прочли)
С чего Вы взяли?
Для меня, хороший вопрос имеет самостоятельную ценность. Причин тут много. Хороший вопрос может быть интересен многим из тех кто его не задавал. Одним, чтобы прочесть, - другим чтобы ответить. А кому-то чтобы подумать.
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
02.06.2018, 19:39
Цитата Сообщение от IGPIGP Посмотреть сообщение
С чего Вы взяли?
Ответ был дан еще в 11 посте... Но у него еще вопрос возник... а дальше вообще дурочка включил

Добавлено через 1 минуту
Цитата Сообщение от IGPIGP Посмотреть сообщение
//но есть std::array и можно получить неплохую поддержку не прибегая к вектору.
Изменить размер std::array в рантайме нельзя
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.06.2018, 19:42
Цитата Сообщение от lArtl Посмотреть сообщение
Изменить размер std::array в рантайме нельзя
В вопросе идёт речь о двумерной матрице фиксированного размера. Я понимаю, что вектор в таком ключе не нужен. Но в литературе полно сакральных заклинаний вроде: "Массив это вектор!" и пр., которые поначалу озадачивают, а при ближайшем рассмотрении разочаровывают. Вопрос наверное об этом.
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
02.06.2018, 19:45
Цитата Сообщение от Серргей Посмотреть сообщение
например нужно считать матрицу размером х на у из файла в вектор при этом размер матрицы неизвестен
Цитата Сообщение от IGPIGP Посмотреть сообщение
В вопросе идёт речь о двумерной матрице фиксированного размера.
Ну почти...
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.06.2018, 19:53
Цитата Сообщение от lArtl Посмотреть сообщение
Ну почти...
Ну если говорить о структурах в динамическо памяти то как не выделяй, а придётся сначала выделить память под указатели, а уж потом под каждый из них. Тут неважно malloc или new используется. Тогда вектор не проигрывает, так как в два этапа память выделяется без проблем. Я увидел в вопросе нечто другое.
Дело в том, что массив и указатель на динамическую память, это совершенно разные вещи которые обладают сходным поведением в части перегрузки оператора []. Людей которые непонимают этого всегда будет больше чем остальных. Это нельзя изменить. Поэтому это не проблема.
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
02.06.2018, 19:59
std::array - массив, std::vector - массив. Разница лишь в том, что первый хранится в стеке, второй - в куче...
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.06.2018, 20:38
Цитата Сообщение от lArtl Посмотреть сообщение
std::array - массив, std::vector - массив. Разница лишь в том, что первый хранится в стеке, второй - в куче...
Вектор это не массив. Массив это шаблон, инстанс которого является типом.
C++
1
int A[10]
имеет размер.
В этом смысле std::array - массив. У него есть возможность параметризации на уровне размера и можно
C++
1
std::array<std::array<int, 10>, 10> Array;
Именно тут и кроется изюминка вопроса. Она состоит в том, что двумерный вектор - это квадратный круг. То есть, - не консистентная абстракция. В то же время, двумерный массив это нормально. И причина именно в том, что вектор, это таки не массив.
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
02.06.2018, 23:10
Цитата Сообщение от IGPIGP Посмотреть сообщение
Она состоит в том, что двумерный вектор - это квадратный круг
Правильнее использовать понятие таблица или матрица или двумерный тензор. Но в данном случае речь о векторе векторов, в который мы всегда в уме разбиваем таблицу, когда делим её на строки или на столбцы.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
03.06.2018, 01:16
Цитата Сообщение от TRam_ Посмотреть сообщение
в данном случае речь о векторе векторов
Речь может идти либо о предметной сущности либо о абстракции не имеющей консистентного представления (здравого смыла). У большинства математиков разница не прослеживается. Это я о том, что 2-мерный вектор, это чушь. В то время как 2-мерный массив это реальный тип. Внутренне это одномерный массив с доступом через [][]. Вектор векторов это не двумерный вектор именно в этом смысле. Что касается контрактов интерфейсных свойств уровня АТД то к типам язака оно относится опосредовано и вкорне запрещает вопрос "как устроены" (см. топик) ибо АТД/интерфесы призваны абстрагироваться именно от реализации. Задание вопросов в таком ключе - беспредметное сотрясание воздуха. А потому в поисках рационального зерна я игнорировал такую трактовку, - сразу.
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
03.06.2018, 01:46
В разделах математики, не связанных с программированием, понятие "массив" не вводится. Там есть вектор (соответствует массиву чисел с размерностью 1), матрица (соответствует массиву чисел с размерностью 2), тензор (соответствует массиву чисел с соответствующей размерностью >= 2).
Естественно массив чисел с размерностью 2 в математическом смысле никак не может быть назван вектором, это по определению матрица.

Касательно же создания типа, аналогичного двумерному массиву (с аналогичной организацией памяти) и переменными размерами - оно вроде бы как возможно (даже создать оператор [][][][] можно, применяя промежуточные подтипы, разбивая на одиночные operator[] для соответствующих измерений), но, как мне кажется, не рационально с точки зрения простоты динамического изменения размера (при любом изменении хоть одного размера придётся долго перетасовывать элементы на новые места в этой последовательной модели), в то время как для статического массива изменение размеров просто невозможно, а для вектора векторов все строки лежат независимо, очень может быть что и прорежено, а потому их изменить быстрее.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
03.06.2018, 08:31
Цитата Сообщение от TRam_ Посмотреть сообщение
В разделах математики, не связанных с программированием, понятие "массив" не вводится.
Я смотрю на математику несколько шире и в этом смысле значительная часть прогаммирования (теоретический базис), это часть прикладной математики. Тут есть понятия массива как АТД. Однако в С++ тип это то без чего нет смысла разговаривать даже не задавая вопроса о внутреннем устройстве, а уж если такой вопрос задан, то и подавно.
Цитата Сообщение от TRam_ Посмотреть сообщение
касательно же создания типа
Цитата Сообщение от TRam_ Посмотреть сообщение
оно вроде бы как возможно
Покажите как. Я запостил код и рассуждения где видно, что 2-мерный массив это тип и ресурс захватывается в объявлении. Вы же говорите о том, что можно сконструировать из вектора. С++11 предлагает прямой доступ к данным вектора по ссылке ( то есть в т.ч. и на запись) и это даёт возможность создать структуры любой размерзмерности на одномерном массиве. Главное чтобы монстряга не шевельнулась вектор не переаллоцировался. Но в С++ мало чего нельзя скоструировать, - в этом его природа. Именно поэтому так трудно бывает нам друг друга понять.
0
 Аватар для Серргей
-4 / 0 / 2
Регистрация: 16.03.2015
Сообщений: 61
11.06.2018, 12:18  [ТС]
Цитата Сообщение от TRam_ Посмотреть сообщение
В разделах математики, не связанных с программированием, понятие "массив" не вводится. Там есть вектор (соответствует массиву чисел с размерностью 1), матрица (соответствует массиву чисел с размерностью 2), тензор (соответствует массиву чисел с соответствующей размерностью >= 2).
Естественно массив чисел с размерностью 2 в математическом смысле никак не может быть назван вектором, это по определению матрица.
Касательно же создания типа, аналогичного двумерному массиву (с аналогичной организацией памяти) и переменными размерами - оно вроде бы как возможно (даже создать оператор [][][][] можно, применяя промежуточные подтипы, разбивая на одиночные operator[] для соответствующих измерений), но, как мне кажется, не рационально с точки зрения простоты динамического изменения размера (при любом изменении хоть одного размера придётся долго перетасовывать элементы на новые места в этой последовательной модели), в то время как для статического массива изменение размеров просто невозможно, а для вектора векторов все строки лежат независимо, очень
Там что математика ?

Добавлено через 1 минуту
Цитата Сообщение от IGPIGP Посмотреть сообщение
Покажите как. Я запостил код и рассуждения где видно, что 2-мерный массив это тип и ресурс захватывается в объявлении. Вы же говорите о том, что можно сконструировать из вектора. С++11 предлагает прямой доступ к данным вектора по ссылке ( то есть в т.ч. и на запись) и это даёт возможность создать структуры любой размерзмерности на одномерном массиве. Главное чтобы монстряга не шевельнулась вектор не переаллоцировался. Но в С++ мало чего нельзя скоструировать, - в этом его природа. Именно поэтому так трудно бывает нам друг друга поня
высидите на C++11 версии C++11[1][2] или ISO/IEC 14882:2011[3] (в процессе работы над стандартом носил условное наименование C++0x[4][5]) — новая версия стандарта языка C++, вместо ранее действовавшего ISO/IEC 14882:2003. Новый стандарт включает дополнения в ядре языка и расширение стандартной библиотеки, в том числе большую часть TR1 — кроме, вероятно, библиотеки специальных математических функций. Несмотря на то, что работа над стандартом уже завершена[6] — данная статья, возможно, не будет точно соответствовать конечному варианту стандарта. Разные версии (в том числе самые новые) черновика будущего стандарта наряду с некоторыми другими документами, посвящёнными стандартизации C++, публикуются на сайте комитета ISO C++[7].

ISO/IEC JTC1/SC22/WG21 Комитет Стандартизации C++ намеревался опубликовать новый стандарт в 2009 году (соответственно стандарт, который сейчас называют C++11, должен был называться C++09). Чтобы успеть, Комитет решил сосредоточиться на предложениях, поступивших до 2006, и игнорировать более новые[8].

Языки программирования, такие как C++, проходят постепенное развитие своих возможностей. Этот процесс неизбежно вызывает проблемы совместимости с уже существующим кодом. В приложении C.2 [diff.cpp03] документа N3290 (англ. Final Draft International Standard) описаны некоторые из несовместимостей C++11 с C++03.

аж 2011 году
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
12.06.2018, 00:32
Цитата Сообщение от Серргей Посмотреть сообщение
...
C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования[мнения 1][мнения 2]. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.

Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.
0
 Аватар для Серргей
-4 / 0 / 2
Регистрация: 16.03.2015
Сообщений: 61
14.06.2018, 23:33  [ТС]
Вы ушли от темы я спрашивал про :Вектор представляет собой последовательность объектов с динамическим размером, которая обеспечивает произвольный доступ к массиву operator[]. Функция-член push_back копирует свои аргументы с помощью конструктора копирования, добавляет, что копия как последний элемент в векторе и увеличивает его размер на единицу. pop_back делает обратное, удаляя последний элемент. Вставка или удаление элементов с конца вектора берет амортизированное постоянное время, а вставка или удаление из любого другого места занимает линейное время. Это основы векторов. Их гораздо больше. В большинстве случаев вектор должен быть вашим первым выбором в массиве C-стиля. Прежде всего, они имеют динамический размер, что означает, что они могут расти по мере необходимости. Вам не нужно делать всевозможные исследования, чтобы определить оптимальный статический размер, как в случае с массивами C; вектор растет по мере необходимости, и он может быть изменен более или менее вручную, если вам нужно. Во-вторых, векторы предлагают проверку границ с помощью функции-члена at (но не с operator[]), так что вы можете что-то сделать, если ссылаетесь на несуществующий индекс, а не просто наблюдаете за сбоем в работе программы или хуже, продолжая выполнение с поврежденными данными.

если в с++ vector является заменой массива в си, то как создать двухмерный вектор?
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
15.06.2018, 00:34
Цитата Сообщение от Серргей Посмотреть сообщение
...
Шаблон vector расположен в заголовочном файле <vector>. Как и все стандартные компоненты, он расположен в пространстве имён std. Данный интерфейс эмулирует работу стандартного массива C (например, быстрый произвольный доступ к элементам), а также некоторые дополнительные возможности, вроде автоматического изменения размера вектора при вставке или удалении элементов.

Все элементы вектора должны принадлежать одному типу. Например, нельзя совместно хранить данные типов char и int в одном экземпляре вектора. Класс vector обладает стандартным набором методов для доступа к элементам, добавления и удаления элементов, а также получения количества хранимых элементов.
0
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
15.06.2018, 00:47
Вот болванка, допиливай:

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
class Matrix {
private:
  size_t m_rows;
  size_t m_cols;
  std::vector<double> m_data;
 
public:
  Matrix(size_t rows, size_t cols)
      : m_rows(rows)
      , m_cols(cols)
      , m_data(rows * cols)
  {}
 
  size_t rows()
  {
    return m_rows;
  }
 
  size_t cols()
  {
    return m_cols;
  }
 
  double &operator()(size_t row, size_t col)
  {
    return m_data[row * m_cols + col];
  }
};
Но смысла от операций добавить/удалить сверху/снизу/справа/слева столбец/строку мало. Это слишком затратные операции, что бы их поощрять. Правильнее создать операцию склеивания двух матриц (двумерных массивов) по вертикале/горизонтали.

Кроме этого есть ещё выравнивание данных. И в C++ приходят на помощь такие вещи как boost::alignment::aligned_allocator.
0
 Аватар для Серргей
-4 / 0 / 2
Регистрация: 16.03.2015
Сообщений: 61
22.06.2018, 23:59  [ТС]
C++ идентификатор "m_data" не определен

C++ идентификатор "m_data" не определен ошибка ; не хвотало
std::vector<double> m_data; нету члена vector
#include <SDKDDKVer.h> не удалось открыть источник
#include <stdlib.h> файлы не удалось ткрыть
самая крупная ошибка :<VCMessage Code="MSB8036" Type="Error" Arguments="$(TargetPlatformVersion)" Condition="$(MissingSDKProps) == 'true'" />
</Target>
нету версии windows SDK вы её что в винде 8.1 делали ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.06.2018, 23:59
Помогаю со студенческими работами здесь

Как устроены чаты?
Всем привет. Я раньше никогда не висел на чатах, а тут случайно попал, мне стало интересно как они работают, неужели аякс каждые...

Как устроены события?
Привет! Можете, пожалуйста, рассказать про то, как устроены события, как происходит сам процесс объявления и обработки события в Visual...

Как устроены массивы
Здрасте! Прочитал на сайте про $_SERVER &quot;... в него PHP-интерпретатор помещает переменные, полученные от сервера&quot;. Когда я...

Как устроены оси в Unity?
но при этом Так же по оси х возрастает впрво, проверил( персонаж движется вправо - х увеличивается).Как устроены оси ?

Как устроены словари dict?
Добрый день. Учу питон и столкнулся с такой особенностью: d={'a': '123', 'b': 'qwe', 'c': 'asdvsdf', '2': '123123'} print d ...


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 05.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru