- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
/* В комментариях то что хотел Автор от своей программы */
/* Радует однако, что она компилируется и во время */
/* работы не выдает ни каких ошибок */
/* Порядок операторов сохранен. */
/* Тот же код только вырезанно "лишнее". */
/* Эта ф-ия находится в другом cpp файле */
float f(float x, float y)
{
/* Тут что-то происходит с x и y */
return x, y;
}
void main(void)
{
float **m;
/* ... */
float f(float x, float y);
/* ... */
/* Задается N */
float N;
/* ... */
/* Выделяется память под массив m[N][2] */
m = (float **)malloc(sizeof(float*));
for(i = 0; i < N; i++)
{
m[i] = (float*)malloc(sizeof(float*) * 2);
}
/* ... */
for(i = 0; i < N; i++)
{
/* Массив заполняется числами */
/* В m[i][] должны быть записанны числа x, y измененый ф-ей f */
/* т. е. m[i][0] = xf */
/* m[i][1] = yf */
for(j = 0; j < 2; j++)
{
m[i][j] = f(x, y);
/* ... */
}
}
/* ... */
}
Govnocoder#0xFF 28.11.2012 23:33 # −3
krypt 28.11.2012 23:49 # 0
Elvenfighter 29.11.2012 00:22 # +2
Steve_Brown 29.11.2012 14:12 # −1
Fai 29.11.2012 14:22 # −1
Govnocoder#0xFF 29.11.2012 14:54 # −1
Fai 29.11.2012 16:26 # −1
Можно написать функцию, принимающую размерность массива и размер элемента и возращающая указатель, тогда использование будет простое, например:
dreesto 29.11.2012 16:29 # 0
Fai 29.11.2012 17:24 # +3
GoblinAlchemist 29.11.2012 17:35 # +5
bormand 29.11.2012 18:46 # +4
Поздравляю, ты только что изобрел calloc().
TarasB 29.11.2012 19:23 # +1
логики понять не могу, почему одно требует умножать самому и не обнуляет, а другое принимает множитель отдельно и обнуляет
roman-kashitsyn 29.11.2012 19:28 # +3
TarasB 29.11.2012 19:50 # +3
Чесание левой пятки?
bormand 29.11.2012 20:27 # 0
P.S. За что минус?
TarasB 29.11.2012 20:47 # +2
bormand 29.11.2012 21:02 # 0
P.S. Код Fai не скомпилится, т.к. компилер скажет, что размер массива array неизвестен.
krypt 28.11.2012 23:49 # +3
Я, наверное, отстал от жизни, но... КАК?
Fai 29.11.2012 00:15 # +1
krypt 29.11.2012 03:45 # 0
Elvenfighter 29.11.2012 00:16 # 0
Elvenfighter 29.11.2012 00:21 # −1
?
dreesto 29.11.2012 00:27 # 0
Но получилось так как ты сказал. :'(
bormand 29.11.2012 06:36 # −1
> m = (float **)malloc(sizeof(float*));
А где здесь N ? ;)
> float N
> for(i = 0; i < N; i++)
*facepalm.png*
GoblinAlchemist 29.11.2012 11:26 # +1
Да, повезло парню, что sizeof(float) == sizeof(float*). С даблами проблемы начались бы уже при N = 1.
TarasB 29.11.2012 11:27 # +3
Повезло ему, что флоат имеет тот же размер, что указатель, ох повезло.
Вообще типичный ламокод. Блядство сишки в том, что она это позволяет, шлюшка такая...
Нельзя подпускать ни к сишке, ни к крестам новичка, никак нельзя. Только при строгой самодисциплине человек может использовать эти языки во благо, а не во зло.
sayidandrtfm 29.11.2012 13:20 # +2
LispGovno 29.11.2012 13:26 # +4
Fai 29.11.2012 14:23 # +2
Steve_Brown 29.11.2012 14:49 # +1
defecate-plusplus 29.11.2012 14:55 # +1
TarasB 29.11.2012 14:55 # −2
А половину крестоблядей я бы сразу отлучил от языка. Долбоёбам, которые используют сырые указатели в крестах, потому что они думают, что так быстрее / что они сами за всем уследят и им западло прибегать к помощи компилятора / что неявные вызовы чего-либо (даже деструктора) = зло, надо гвоздь в голову забить.
Govnocoder#0xFF 29.11.2012 14:56 # +4
3.14159265 29.11.2012 14:57 # 0
TarasB 29.11.2012 16:38 # 0
dreesto 29.11.2012 17:02 # −3
Vindicar 29.11.2012 18:19 # +2
В паскале имхо меньше возможностей выстрелить себе в ногу, для обучения азам в самый раз. А как в голове хоть какое-то понимание устаканится, можно и дальше переходить.
sayidandrtfm 29.11.2012 18:31 # 0
krypt 29.11.2012 18:58 # 0
bormand 29.11.2012 19:09 # +4
Govnocoder#0xFF 29.11.2012 19:10 # 0
3.14159265 29.11.2012 19:12 # 0
guesto 26.05.2016 21:20 # 0
Fai 29.11.2012 16:29 # −1
на
И называет это крестооптимизацией.
3.14159265 29.11.2012 16:52 # 0
Ня. Сдвиги.
bormand 29.11.2012 18:50 # 0
Fai 30.11.2012 12:29 # −1
bormand 30.11.2012 12:58 # 0
А вот то, что циклических нету в си - жаль. Для криптографии было бы удобно. Писать a << 11 | a >> 21, и надеяться что компилятор превратит это в циклический сдвиг (а для unsigned'ов gcc и clang таки превращают в rol/ror), как-то неприятно.
P.S. Сдвиг знакового инта естественно транслируется в арифметический сдвиг (sar/sal), а беззнакового в shr/shl.
inkanus-gray 01.12.2012 08:39 # −1
TarasB 01.12.2012 12:13 # −1
Сишка выбирает в зависимости от знаковости типа, дельфа всегда какого-то хуя берёт беззнаковый (правда при вычислении времени компиляции и при показе в отладчике берёт в зависимости от знаковости типа), ФПЦ выбирает в зависимости то ли от опций, то ли от фазы луны.
inkanus-gray 01.12.2012 21:07 # +1
bormand 01.12.2012 21:42 # 0
inkanus-gray 01.12.2012 21:57 # +3
Про тему http://www.gamedev.ru/code/forum/?id=139163 я пока не забыл.
bormand 01.12.2012 21:59 # +1
P.S. А ну да, зеленый коммент.
dreesto 29.11.2012 16:34 # −3
TarasB 29.11.2012 16:38 # 0
dreesto 29.11.2012 16:42 # −1
PHP (3112)
C++ (1084)
C# (927)
JavaScript (773)
Java (749)
Куча (505)
Си (386)
Pascal (327)
SQL (284)
ActionScript (257)
Python (211)
1C (148)
Perl (125)
Objective C (104)
bash (98)
Ruby (95)
VisualBasic (84)
Assembler (46)
defecate-plusplus 29.11.2012 16:50 # +4
> Ruby (95)
и всё только благодаря одному человеку
Govnocoder#0xFF 29.11.2012 17:37 # +3
TarasB 29.11.2012 17:38 # 0
Fai 29.11.2012 17:49 # +4
Возьмем метрику, учитывающую популярность языка и количество говнокода:
(количество говнокода на языке / всего говнокода) / (процентная доля языка на рынке | в опенсорсе).
В итоге получаем рейтинг языков, упорядоченных по говнотируемости (от слов говно и адаптированность):
В итоге, можно сказать, что сишка для говна совершенно не приспособлена! Такой популярный язык, а говна на нем совсем мало.
Как рейтинг популярности использовал: https://github.com/languages
TarasB 29.11.2012 18:14 # 0
roman-kashitsyn 29.11.2012 18:15 # +1
Fai 01.12.2012 22:33 # 0
guest 01.12.2012 23:13 # +1
inkanus-gray 26.05.2016 15:23 # 0
http://web.archive.org/web/20130723065006/https://github.com/languages
JavaScript 21%
Ruby 12%
Java 8%
Shell 8%
Python 8%
PHP 7%
C 6%
C++ 5%
Perl 4%
CoffeeScript 3%
Потом эту табличку почему-то прикрыли.
inkanus-gray 26.05.2016 15:40 # +1
sayidandrtfm 29.11.2012 18:27 # 0
> return x, y;
Ага, http://stackoverflow.com/questions/423710/return-more-than-one-value-from-a-function-in-python
guesto 26.05.2016 21:21 # 0
нужно начинать с PHP, тогда ты никакие языки больше не сможешь, и не будешь гадить в сишечке
3_14dar 26.05.2016 22:10 # 0
guesto 26.05.2016 22:12 # 0