Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.126.244] |
|
Сообщ.
#1
,
|
|
|
Алогичное поведение автозаполнения массивов при их создании:
- не зависит от типа данных; - один элемент делает нужным; - остальные элементы зануляет. float ttt[32] = {5}, например. Или float ttt[32][32] = {{5}, {5}}. float ttt[32][32] = {5,5}. Результат +- 1 нормально заполненный элемент; остальные - зануляются. Как заполнить массив одинаковыми значениями без использования циклов после создания массива? |
Сообщ.
#2
,
|
|
|
ttt[0] = 5.;
ttt[1] = 5.0; ... ttt[30] = 5.f; ttt[31] = 5.0f; C остальными аналогично |
Сообщ.
#3
,
|
|
|
Цитата DrUnkard @ Зачем так жестоко троллить? Нет способа сделать это одной функцией? |
Сообщ.
#4
,
|
|
|
memset подходящий нужен.
В АСМе, по сути, так: eax = значение; ecx = сколько штук; edi = ttt; адрес массива rep stosd ; float=4 байта. Как на Билдере в Си точно не скажу, а в вижуалке, кажись, есть все эти stosd'ы. Добавлено Да, точно: void __stosd( unsigned long* Dest, unsigned long Data, size_t Count ); #include <intrin.h> float ttt[32]; float t = 5.0f; __stosd( ttt, *((long *)&t), 32); |