Бред

Ответить в тред Ответить в тред
Аноним 20/12/20 Вск 16:54:07 2358217681
image.png 14Кб, 366x417
366x417
Призываю мудрецов.
Как сделать двумерный массив с N кол-вом элементов?
Аноним 20/12/20 Вск 16:56:02 2358218962
Аноним 20/12/20 Вск 16:56:04 2358218973
Выдели память в куче с помощью new, не забудь потом очистить с помощью delete
Аноним 20/12/20 Вск 16:57:48 2358220224
А ещё лучше юзай вектор векторов
Аноним 20/12/20 Вск 16:57:49 2358220235
>>235821897
типа a = new int [size]; new int [size1] ?
Аноним 20/12/20 Вск 16:59:03 2358221056
>>235822023
Типа int a = new int*[size];
for (int i = 0; i < size; ++i) a = new int[size1];
Аноним 20/12/20 Вск 16:59:42 2358221437
Звездочки сожрала сука
int две звездочки a
Аноним 20/12/20 Вск 17:00:27 2358221988
Аноним 20/12/20 Вск 17:00:29 2358222019
>>235822105
щас попробую. это будет являться двумерным массивом? по заданию надо сумму столбцов сложить в матрице просто
Аноним 20/12/20 Вск 17:01:18 23582226110
>>235822201
Будет
Двач ест квадратные скобки после a
Аноним 20/12/20 Вск 17:02:00 23582231211
>>235822105
Ору с говнокода то что пишется в 10 символах а сях надо цикл юзать
Аноним 20/12/20 Вск 17:03:52 23582243712
>>235821768 (OP)
https://stackoverflow.com/questions/936687/how-do-i-declare-a-2d-array-in-c-using-new
Вот так.
Для С++11:
auto arr2d = new int [nrows][CONSTANT];

Обычно с new делают так
int a = new int*[rowCount];
for(int i = 0; i < rowCount; ++i)
a = new int[colCount];

В первой строчке объявляется массив массивов (указатель на указатель, так как массив это указатель на первый элемент массива, а если нам надо создать массив массивов, то это будет указатель на указатель на первый элемент a[0][0]).
А дальше в цикле выделяется память под каждый массив в нашем массиве массивов.

Часто делают через одномерный массив и пишут методы для индекцсации одномерного массива как двумерного. Тут тоже идея понятна, думаю
Аноним 20/12/20 Вск 17:03:55 23582244213
BRUH.mp4 4934Кб, 1420x1080, 00:00:08
1420x1080
Аноним 20/12/20 Вск 17:05:15 23582252714
Screenshot from[...].png 8Кб, 684x94
684x94
>>235822437
>>235822105
Пикрил с правильными "звездочками", которые сжирает двач.
Аноним 20/12/20 Вск 17:05:24 23582253615
Вы совсем дауны чтоли? Не можете посчитать размер массива без цикла? Потом такие дебилы идут в сиди проджект и создают массивы через цикл и вся игра лагает от этого.
Аноним 20/12/20 Вск 17:05:29 23582254616
>>235822437
бля! спасибо анон! какой же я дурень, что не додумался гуглить на английском.


кстати очень удивлен активности треда, не думал что на дваче так много челиков знающих С. вы все в униках учитесь, анончики?
Аноним 20/12/20 Вск 17:06:29 23582262317
>>235822546
Давно закончил уник. Но по работе связан со всей этой ебаторией.
Аноним 20/12/20 Вск 17:07:08 23582266418
>>235822623
и как оно? а то вот я на 1 курсе с этой хренью сношаюсь. не зря?
Аноним 20/12/20 Вск 17:07:33 23582270319
>>235822536
>Не можете посчитать размер массива без цикла?
Куда посчитать, кому посчитать? Что ты несешь?
20/12/20 Вск 17:09:02 23582280220
>>235822664
Ну если такую элементарную хуйню на двач побежал спрашивать - хуй знает.
Аноним 20/12/20 Вск 17:09:13 23582281321
>>235822664
Сношайся, полезно будет. Но надо как можно раньше понять, что язык это инструмент. И язык выбирается под задачу, а не наоборот. Поэтому главное разбираться в алгоритмах, структурах данных и т.д. А ЯПы это просто инструмент.
Аноним 20/12/20 Вск 17:10:57 23582293422
>>235822703
Количество данных которых нужно выделить и потом уже разбить на части, нет необходимости выделять память миллион раз где ваша оптимизация?
Аноним 20/12/20 Вск 17:11:03 23582294123
>>235821768 (OP)
> if (size or size1 <= 0)
В попытке сократить код, ты всю логику проебал.
Аноним 20/12/20 Вск 17:11:27 23582296724
f2efiErRdTnJv9d[...].jpg 47Кб, 729x260
729x260
Аноним 20/12/20 Вск 17:11:43 23582298425
Аноним 20/12/20 Вск 17:12:52 23582305726
>>235822941
бля, and же. лулский. ну я даже не запускал код, чисто накидал, чтоб спросить как сделать 2d массив.
Аноним 20/12/20 Вск 17:14:03 23582312927
>>235822934
>Количество данных которых нужно выделить и потом уже разбить на части
Ну так и сделано во всех примерах в треде.

>нет необходимости выделять память миллион раз
Где она выделяется лишний раз?

Я не понимаю, о чем ты. Объясни, пожалуйста, понятнее.
Аноним 20/12/20 Вск 17:14:29 23582315628
>>235823057
Нахуй там вообще две переменные, если они обе берут своё значение из одного источника?
Аноним 20/12/20 Вск 17:16:34 23582328329
>>235823156
че? там как бы они по-отдельности вводятся
Аноним 20/12/20 Вск 17:17:15 23582332930
>>235823129
Почитай что делает нью. Каждый раз обращается к памяти при вызове. А если надо миллион переменных тоже будете в цикле выделять?
Аноним 20/12/20 Вск 17:17:39 23582336131
Вы тупые? Что вы за ебаторию тут устроили? Вот так надо объявлять масстивы.
cin >> a >> b;
int arr[a];
Аноним 20/12/20 Вск 17:18:14 23582339432
>>235823361
пребалось
cin >> a >> b;
int arr[a];
Аноним 20/12/20 Вск 17:18:46 23582342533
>>235823394
Почему двач удаляет вторую переменную?
Аноним 20/12/20 Вск 17:19:05 23582344334
image.png 350Кб, 504x480
504x480
20/12/20 Вск 17:22:42 23582368835
>>235821768 (OP)
Массивы говно без задач. Только списки.
Аноним 20/12/20 Вск 17:24:06 23582379136
>>235823688
А потом такие долбоебы удивляются почему их говноподелье жрёт гигабайты памяти, когда у других всё укладывается в пару сотен.
Аноним 20/12/20 Вск 17:26:48 23582395737
image.png 9Кб, 836x166
836x166
>>235822437
для чего нужно все в конце подчищать? до этого делал лабу, где надо было пузырьком сортировать массив, в некоторых решениях было delete []. Но я не использовал и работало тоже хорошо.

Для чего это необходимо?
Аноним 20/12/20 Вск 17:33:33 23582438838
>>235823688
Да охуенно. Машина будет проходить весь сраный список до нужно места.
Аноним 20/12/20 Вск 17:33:42 23582440339
>>235823957
Что бы память не забивать уже ненужными данными, иначе мб утечка, сборка мусора короче. В шарпе это автоматически делается например
Аноним 20/12/20 Вск 17:40:16 23582481640
>>235823957
Можешь и не подчищать. Если всё происходит в скоупе функции, то память автоматически освободится от неиспользуемых ресурсов. Но если ты в main насоздашь массивов, а потом запустишь функцию которая будет работать на протяжении жизни приложения, то эти массивы будут забивать память до тех пор пока приложение не закончит своё выполнение.
Аноним 20/12/20 Вск 17:42:55 23582498241
>>235824816
А когда вся память забъется?
Самые первые будут затираться последними?
Аноним 20/12/20 Вск 17:43:18 23582501442
>>235824816
ну мне пока еще очень рано до приложений. но, наверное, чтобы на когнитивном уровне осталось буду юзать.
Аноним 20/12/20 Вск 17:43:36 23582502543
>>235823329
Я знаю, что делает new, Но как ты еще будешь выделять память для динамического массива?
Аноним 20/12/20 Вск 17:45:23 23582513844
>>235824816
> Если всё происходит в скоупе функции, то память автоматически освободится
Хз, с сишкой очень давно имел дело, но на сколько помню, память выделенная оператором new будет висеть пока её освободят. Скоуп - это толоко если объявил типо int myvar[100500]; , тогда да, оно будет ограничено функцией.
20/12/20 Вск 17:46:57 23582524745
Аноним 20/12/20 Вск 17:47:19 23582527446
>>235825025
int huypizdamassiv = new int[ width height ];

huypizdamassiv[width*x + y ] = val;
Аноним 20/12/20 Вск 17:47:51 23582531247
>>235824816
>>235825138
Да, автоматически освобождается память, выделенная на стеке. Это статические переменные, типа int a. New это динамическое выделение памяти в куче. Такая память не будет подчищена после выхода из функции.
Аноним 20/12/20 Вск 17:48:25 23582534848
kit.jpg 263Кб, 810x1080
810x1080
Читаешь книгу страуструпа, оп? На какой странице?
Аноним 20/12/20 Вск 17:49:11 23582540149
>>235825247
Может лучше программисту руки пересадить с жопы на плечи?
20/12/20 Вск 17:49:17 23582540750
>>235824388
Запрос к 1243 элементу массива, какая странная операция, где же она может мне понадобиться.
Аноним 20/12/20 Вск 17:49:34 23582543251
>>235825348
Не читаю. Делаю лабу, завтра защита. А что за книжка?
20/12/20 Вск 17:50:43 23582550952
>>235825432
Уже чувствуешь себя программистом за 300к/нсек ?
Аноним 20/12/20 Вск 17:50:46 23582551553
Аноним 20/12/20 Вск 17:50:57 23582552954
image.png 1076Кб, 617x877
617x877
>>235825432
А что читаешь? Или вы ограничиваетесь лекциями?
Аноним 20/12/20 Вск 17:51:55 23582559255
>>235825274
Ну так в ответе уже писали, что можно одномерны выделить и работать с индексами как у двумерного. Количество обращений к памяти при выделении памяти точно такое же. Так в чем твоя проблема?
Аноним 20/12/20 Вск 17:53:03 23582566056
Снимок экрана ([...].jpg 59Кб, 397x716
397x716
Ананасы, а у меня ахуенyый код?
Аноним 20/12/20 Вск 17:53:40 23582569757
>>235825509
Даже близко нет, башка болит от тонны алгоритмов, которые я учу в эти сутки перед сессией. Скорее ощущаю себя двачером-сисьадмином 3к/тысячелетие
>>235825529
да, онли лекции. но я очень хочу почитать что-то, где будут подробно описаны основные алгосы для программирования. Эта книжка подойдет?
20/12/20 Вск 17:53:48 23582570558
>>235825515
Пример то приведи, байтоеб хардкодер. Сколько не использовал массивы они всегда проходятся через цикл for
20/12/20 Вск 17:55:31 23582581959
>>235821768 (OP)
в c sharp:
int massiv[,]; //двумерный
int massiv[,,]; //трехмерный
Аноним 20/12/20 Вск 17:55:55 23582584560
kit2.jpg 131Кб, 500x500
500x500
image.png 63Кб, 140x193
140x193
>>235825697
Не знаю, сам пока читаю. Слышал что вот эта неплохая вот думаю сам почитаю после этой.
Аноним 20/12/20 Вск 17:56:36 23582588761
>>235825592
А, бля, там у тебя динамический массив. Ну тогда можно подумать как и на сколько будет меняться массив каждый раз. Если дельта примерно одинаковая, то можно выделять больше памяти чем требуется в конкретный момент. Тогда будет меньше обращений за выделением.
20/12/20 Вск 17:57:20 23582594962
>>235825845
Многие говорят хорошая. Но жесткая очень, я ебанулся и дропнул
Аноним 20/12/20 Вск 17:58:40 23582605863
>>235825660
>уебище настолько тупое, что даже скриншот не может нормальный сделать
>спрашивает что-то про код

Выпились.
Аноним 20/12/20 Вск 17:59:17 23582609664
>>235825845
слушай, а вот у тебя тоже есть такая тема, что алгосы трудно самому вывести? я всегда пытаюсь сначала придумать алгоритм самостоятельно, а то подглядывать в учебник и смотреть их мне почему-то кажется зашкваром. начинаю чувствовать себя чмом неразумным.
это окей?
Аноним 20/12/20 Вск 18:00:23 23582617665
>>235825819
А размеры за тебя кто указывать будет, индюк?
Аноним 20/12/20 Вск 18:00:59 23582621366
>>235825529
о чем книжка кстати? после прочтения будут какие-нибудь мизерные практические знания?
Аноним 20/12/20 Вск 18:01:06 23582622267
>>235826058
Чмоня, хуй сосать будешь?
Аноним 20/12/20 Вск 18:02:11 23582630568
>>235826222
почему трипо выпал такому чмошнику? чем он его заслужил?
Аноним 20/12/20 Вск 18:02:48 23582634369
kitelbrus.jpg 108Кб, 976x792
976x792
>>235826096
Я с таким подходом всё изучаю по моему это правильно.
Аноним 20/12/20 Вск 18:03:14 23582637470
kittankist.png 234Кб, 364x524
364x524
Аноним 20/12/20 Вск 18:03:35 23582639971
>>235826343
вот только один хуй у меня вывести ничего не выходит :D голова лопается
Аноним 20/12/20 Вск 18:04:48 23582649672
>>235826305
Он воспользовался везением дураков.
Аноним 20/12/20 Вск 18:05:18 23582652873
>>235826374
ну ептыть, а ты же писал что после страуструпа перейдешь к алгосам.
не читал первой книги и уже решил какую читать дальше?)
Аноним 20/12/20 Вск 18:06:43 23582662574
>>235825705
С ходу - маппинг значений. Допустим у тебя здоровый массив в котором хранятся некие адреса/индексы/строковые костанты. Обращением по индексу ты мапишь, скажем, вывод нейронки на последовательность букв. Словарь у тебя на 50000 экземпляров, в батче вычисляется одновременно 256 семплов, и эта хуйня прогоняется 10 раз в секунду. Прикинь, сколько вычислений будет, если для получения каждого элемента словаря мы будем каждый раз проходиться по связанному списку. А потом кукарекай, что массивы не нужны.
Аноним 20/12/20 Вск 18:06:45 23582663075
>>235825887
> Тогда будет меньше обращений за выделением.
И больше памяти будет жраться, чем нужно. Нахуй выделять больше, чем нужно? Охуенная оптимизация у тебя. Ну обращения и обращения к памяти, чем тебе это не нравится?
Аноним 20/12/20 Вск 18:07:46 23582669176
>>235826625
> 50000 экземпляров
50000 элементов
фикс
Аноним 20/12/20 Вск 18:08:25 23582673277
>>235826213
Конкретно это книжка про написание калькулятора на 400+ страниц. (Всего 1200 вррде)
Дальше не осилил, скучно стало
Аноним 20/12/20 Вск 18:13:48 23582707578
>>235826630
Короче начал вчитвыаться в вашу переписку, думал что ты тот спискошизик, читаю и не могу понять о чём вы там спорили. Короче, идите нахуй вы оба.
Аноним 20/12/20 Вск 18:22:48 23582765279
Аноним 20/12/20 Вск 18:27:58 23582803780
>>235827075
Я не спискошизик. Чел начал кукарекать, что плохо память выделять и т.д. Ну и я немного поспрашивал его, видно, что человек вообще не понимает, о чем говорит. А бред самоуверенных студентиков 2-го курса иногда очень доставляет читать, особенно когда они обсираются с подливой на ровном месте.
Аноним 20/12/20 Вск 18:28:48 23582809681
>>235826732
>>235826213
Кто-то сравнил её с запихиванием огромной ржавой трубы в анус без смазки. После этого любые другие книги легко заходят. Читать её и тем более решать задачкибыло больно, но зато как справился, то презошол на столько в своём познании, что книга лафоре прочиталась на одном дыхании без единого непонятного момента до той главы где он не сказал "в коде есть ключевое слово this не обращайте на него внимания чуть позже мы изучим что это такое". Дойдя до этого места я дропнул лафоре и возрадовался, что прочитал Страуструпа и не приходится мучить себя бесполезной литературкой
Аноним 20/12/20 Вск 18:29:43 23582814882
>>235821768 (OP)
Нахуя нужны массивы когда есть вектор?
Аноним 20/12/20 Вск 18:30:56 23582823683
>>235828148
Вектор, по-твоему, как реализован? Без массива, сразу вектором?
Аноним 20/12/20 Вск 18:31:01 23582824484
>>235822312
Ору, вот создатели компов дебилы. На железках вообще писали, ебланы
20/12/20 Вск 18:36:05 23582854585
>>235826625
Пфф, для этого используются словари в питоне или объекты в js Думаю даже в таком отсталом языке как c++ есть для этого структура данных, ну не как не статический массив.
Аноним 20/12/20 Вск 18:46:15 23582916686
>>235828545
Это толстота или тупость? Я не понимаю, ты реально не понмиаешь или троллишь? Массив в сях это максимально близкое к железу представление пронумерованного набора данных. Все остальные структуры данных либо связные, но там сложность доступа не константа, либо основаны на массивах, но это не очень эффективно с точки зрения памяти. Надо понимать, что что-то базовое можно обмазать в 100500 слоев асбтракции, но принцип работы вычислений это не изменит.
20/12/20 Вск 18:52:39 23582960787
>>235829166
Щас бы переживать за железо и память, скорость разработки важнее.
Аноним 20/12/20 Вск 19:02:01 23583028788
>>235829607
Да я это к тому, что надо знать, как там все устроено, ну а практике не надо изобретать свои вектора, конечно.
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов