На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Бесцикловое заполнение массивов нужными значениями. , Borland 6.0, Qt v.5.13.
    Алогичное поведение автозаполнения массивов при их создании:
    - не зависит от типа данных;
    - один элемент делает нужным;
    - остальные элементы зануляет.

    float ttt[32] = {5}, например. Или float ttt[32][32] = {{5}, {5}}. float ttt[32][32] = {5,5}. Результат +- 1 нормально заполненный элемент; остальные - зануляются.

    Как заполнить массив одинаковыми значениями без использования циклов после создания массива?
      ttt[0] = 5.;
      ttt[1] = 5.0;
      ...
      ttt[30] = 5.f;
      ttt[31] = 5.0f;

      C остальными аналогично
      Сообщение отредактировано: DrUnkard -
        Цитата DrUnkard @

        Зачем так жестоко троллить? Нет способа сделать это одной функцией?
          memset подходящий нужен.
          В АСМе, по сути, так:
          eax = значение;
          ecx = сколько штук;
          edi = ttt; адрес массива
          rep stosd ; float=4 байта.
          Как на Билдере в Си точно не скажу, а в вижуалке, кажись, есть все эти stosd'ы.

          Добавлено
          Да, точно:
          void __stosd(
          unsigned long* Dest,
          unsigned long Data,
          size_t Count
          );
          ExpandedWrap disabled
            #include <intrin.h>
            float ttt[32];
            float t = 5.0f;
            __stosd( ttt, *((long *)&t), 32);
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0239 ]   [ 16 queries used ]   [ Generated: 4.03.24, 22:36 GMT ]