Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Так что ли... Концовку надо проверить. Убрать из printf отладочный вывод и отладочный '\n' - и будет в строке по 16 штук >>

Отправлено VasilyS (80.92.96.25) 30 ноября 2010, г. 15:31
В ответ на: Похоже, кроме таблицы вариантов нет. Но и таблицу еще нужно правильно составить. Как-то она хромает: отправлено Леонид Иванович 30 ноября 2010, г. 10:35


char find_min_err( int gain ){
char ma;
int a,b;
int err=32767;
for(a=1;a<16;a++){
for(b=0;b<16;b++){
if((a*b)>gain ) continue;
else{
if((gain-(a*b))<=err){
err = (gain-(a*b));
ma=(char)((a>=b)?(a):(b));
}}}}
return ma;
}
void NOD( unsigned int gain ){
if(gain < 16)
printf("%d \t 0x%02x\n", gain, gain);
else
printf("%d \t 0x%02x\n", gain, find_min_err(gain));
}
void main(void){
unsigned int x;
for( x=0; x<256; x++){
NOD(x);
if((x&0x0f)==0x0f)
printf("\n"); // не убирать
}
}


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите двойку на единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru