Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Kant

Программирование ver 4.1

Рекомендованные сообщения

неужели 45тыр так много для девелопера со стажем 1-1,5 года? :palevo:

Не Москва и не её область. Не захолустье

1,5 года это не стаж

я так и знал :fffuuu:

76561198051636913.png

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

столько геморроя, чтобы создать один массив, хорошо, что у меня есть java :geys:

хорошо, что у меня есть жаваскрипт

a = [1,2,3]

Поделиться сообщением


Ссылка на сообщение
(изменено)

prodota = (test*)malloc(LENGTH_PD*sizeof(test));
for (int i = 0; i < LENGTH_PD; i++)
{
 prodota->x = (int**)malloc(X_ROWS*sizeof(int*));
 for (int j = 0; j < X_ROWS; j++)
 {
	  prodota->x[ j ] = (int*)malloc(X_COLS*sizeof(int));
 }
}

prodota->x = (int**)malloc(X_ROWS*sizeof(int*));

это же не обязательно в цикле?

ну, в "этом" ты выделяешь память под каждую строку матрицы. если не менять суть задачи, то обязательно.

 

так то ты можешь сразу выделить линейно память на X_ROWS*X_COLS элементов, а потом расставить указатели на нужные строки, правда, потом реаллок делать чуток напряжнее. на видяхах текстуры именно так и хранятся.

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

 

int **array1 = (int **)malloc(nrows * sizeof(int *));
for(i = 0; i < nrows; i++)
  array1[i] = (int *)malloc(ncolumns * sizeof(int));

 

столько геморроя, чтобы создать один массив, хорошо, что у меня есть java :geys:

хорошо, что у меня есть жаваскрипт

a = [1,2,3]

попробуй на своем яваскрипте написать обработчик прерываний
Изменено пользователем F1sher

 

Би май дарлинг

 

Поделиться сообщением


Ссылка на сообщение
(изменено)

а ну да, кант там лоханулся немного, я даже не заметил сразу

он выделил память для массива 'pd'

тебе надо или везде заменить prodota->x на prodota.x, иначе оно всегда первому элементу присваивать будет.

или заменить

 

prodota = (test*)malloc(LENGTH_PD*sizeof(test));

for (int i = 0; i < LENGTH_PD; i++)

 

на

 

prodota = (test*)malloc(sizeof(test));

 

тогда будет только один элемент создаваться.

 

а то что ты написал и есть внутри цикла, только указатель хранится внутри структуры prodota;

 

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

 

столько геморроя, чтобы создать один массив, хорошо, что у меня есть java :geys:

Там не один массив, а массив массивов!

Да и вообще, в современном С++ указатели практически никто не использует.


Изменено пользователем Tinplz

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

столько геморроя, чтобы создать один массив, хорошо, что у меня есть java :geys:

хорошо, что у меня есть жаваскрипт

a = [1,2,3]

попробуй на своем яваскрипте написать обработчик прерываний

зачем на жаваскрипте обработчик прерываний?

Поделиться сообщением


Ссылка на сообщение
(изменено)

а вдруг юзер прервал загрузку страницы ¯\_( ͡° ͜ʖ ͡°)_/¯


Изменено пользователем TheDeadSkin

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

значит сделал это намеренно

 

вообще глупость какая-то, без полной загрузки скрипта, он не будет активироваться, чо его прерывать?

Поделиться сообщением


Ссылка на сообщение

добавил тег иронии в прошлый пост

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

это тег забанненого юзера

Поделиться сообщением


Ссылка на сообщение

перевирания


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

таки установил себе идею 12-ю.

немного в шоке прибываю :о

 

Но что-что, а дарк тема особенно радует. Только после неё в гугл альтабаться очень больно :veblo_1::fie:


76561198051636913.png

Поделиться сообщением


Ссылка на сообщение

prodota = (test*)malloc(LENGTH_PD*sizeof(test));
for (int i = 0; i < LENGTH_PD; i++)
{
 prodota->x = (int**)malloc(X_ROWS*sizeof(int*));
 for (int j = 0; j < X_ROWS; j++)
 {
	  prodota->x[ j ] = (int*)malloc(X_COLS*sizeof(int));
 }
}

prodota->x = (int**)malloc(X_ROWS*sizeof(int*));

это же не обязательно в цикле?

ну, в "этом" ты выделяешь память под каждую строку матрицы. если не менять суть задачи, то обязательно.

 

так то ты можешь сразу выделить линейно память на X_ROWS*X_COLS элементов, а потом расставить указатели на нужные строки, правда, потом реаллок делать чуток напряжнее. на видяхах текстуры именно так и хранятся.

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

 

int **array1 = (int **)malloc(nrows * sizeof(int *));
for(i = 0; i < nrows; i++)
  array1[i] = (int *)malloc(ncolumns * sizeof(int));

 

 

 

да, я проебался с тем индексом у массива продоты.

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


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

таки установил себе идею 12-ю.

немного в шоке прибываю :о

 

Но что-что, а дарк тема особенно радует. Только после неё в гугл альтабаться очень больно :veblo_1::fie:

в 12 все настолько охуенно. Что даже ничего не нужно настраивать. Только Java Decompiller как плагин закачал, все остальное есть из коробки :geys:

Поделиться сообщением


Ссылка на сообщение
(изменено)

таки установил себе идею 12-ю.

немного в шоке прибываю :о

 

Но что-что, а дарк тема особенно радует. Только после неё в гугл альтабаться очень больно :veblo_1::fie:

в 12 все настолько охуенно. Что даже ничего не нужно настраивать. Только Java Decompiller как плагин закачал, все остальное есть из коробки :geys:

в 11 можно было рекомпилить R.java файл ондроедовский двумя кликами(торчал в меню по ПКМ), щас в ант надо лазить постоянно :( очень большая потеря для меня (:cry:)
Изменено пользователем ilsy

76561198051636913.png

Поделиться сообщением


Ссылка на сообщение
(изменено)

то ли дело руби

 

malloc_pravilno_videlit_pamyat(test)

Скобки не нужны

 

  malloc_pravilno_videlit_pamyat test
  end
 end
end
end

 

то ли дело жс

;(function() {
  mallocPravilnoVidelitPamyat(test);
 }());
}());
 }());
}());


Изменено пользователем TycoooN

Поделиться сообщением


Ссылка на сообщение

и пишушие в блокноте вместо IDE

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha
(изменено)

то ли дело жс

;(function() {
  mallocPravilnoVidelitPamyat(test);
 }());
}());
 }());
}());

 

тот пример что ты написал сразу будет вызывать созданные анонимные функции, а в раби как это будет выглядеть?

 

боюсь что там будет хуже


Изменено пользователем 2poy_nyasha

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...