Easyelectronics.ru

Электроника для всех
Текущее время: 24 сен 2019, 01:13

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Заполнение двухмерного массива
СообщениеДобавлено: 11 дек 2014, 13:09 
Заглядывает иногда

Зарегистрирован: 24 сен 2014, 17:16
Сообщения: 34
Есть духмерный массив 4х3 (шапка таблицы ниже)
Нужно последовательно заполнять элементы массива соответственно таблице (в данном случае значения меняются с шагом в 10% от максимума 255):
В перывый момент времени [1][1] = 255; [1][2] = 0; и т.д.
Во следующий: [1][1] = 230; [1][2] = 255; [1][3] = 0; и т.д.
Вложение:
1212.jpg
1212.jpg [ 246.87 Кб | Просмотров: 2165 ]

Ни как не соображу алгоритм сего действия. Вроде все просто, но уже второ день думаю...

Привожу таблицу в другом виде, и чтоб было проще понять суть, в процентах:
Вложение:
1313.jpg
1313.jpg [ 133.6 Кб | Просмотров: 2165 ]

Здесь каждая табличка - то, что должен содержать массив в каждый определенный момент времени, т.е. это должен быть цикл из 22 шагов, и в каждый раз последовательность значений от 0 до 100 с шагом 10 должна смещаться по массиву до тех пор, пока все элементы массива не будут содержать 0, и так по кругу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заполнение двухмерного массива
СообщениеДобавлено: 11 дек 2014, 13:29 
Старожил

Зарегистрирован: 20 мар 2010, 17:31
Сообщения: 1394
Откуда: Челябинск
студенты обленились...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заполнение двухмерного массива
СообщениеДобавлено: 11 дек 2014, 13:31 
Старожил
Аватара пользователя

Зарегистрирован: 14 апр 2014, 11:06
Сообщения: 1539
Откуда: Курск
А если представить как массив 12х1 ?
Из двумерного можно получить:
i = 3*x+y

x=(0,3)
y=(0,2)
i=(0,12)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заполнение двухмерного массива
СообщениеДобавлено: 11 дек 2014, 14:15 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3287
даю подсказку: const u8 Table[22][3][4] = {...};

ну или можно обойтись одним констатным массивом из 24х элементов {255,230,204,...,0,0,0,...} и почитать что-нибудь про циклические(кольцевые) буферы.

ну или как-то так:
Код:
inline unsigned char Table(int x, int y, int step){
  int v = (255 - (step - y - x * 3) * 255 / 10);
  return (v & ~0xFF) ? 0 : v;
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 дек 2014, 01:19 
Заглядывает иногда

Зарегистрирован: 10 май 2014, 01:29
Сообщения: 100
А можно дурацке вопрос? А нельзя сделать стек, глубиной 22 байта и просто тупо шевелить тремя указателями стека? (в принципе то же самое, что кольцевой буфер). При инициализации заталкиваем в стек нужные значения. Просто, в зависимости от языка, реализация можеть оказаться проще. ;)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB