ГОСТ Р ИСО/МЭК 16022 — 2008
} while ((го*// < nrow) || (ool < ncol»;
Г Lastly. A the lower righthand oomer is untouched, fill in fixed pattern V 11
if (!array{nrow*ncol-1]) {
arraylrvow’ncoMl = array[nrow’r>col-ncol-2] = 1;
)
}
/* «main» checks for valid command line entries, then computes & displays array V 2>
void main (int argc. char *argv[ ])
{ int x. y, z;
if (argc =< 3) {
prmtf(«Command line: ECC200 #_of_Data_Rows #_of_Data_Columns\n»);
} ELSE{
nrow = ncol = 0;
nrow = ato<(argv{1]): ncol = atoi(argv[2]):
if ((nrow >= 6) && (-nrow&OxOI) && (ncol >= 6) && (~ncol&0x01)) (
array = malloc(sizeof(int) * nrow * ncol):
ECC200 <):
for (x=0; x<nrow; x++) {
for (y=0: y<ncol; y++){
z = array(x*ncol+yl;
if (z == 0) printf (« WHI»);
ELSE if (z == 1) printf («BLK»);
ELSE printf («%3d.%d»,z/10.z%10) :
}
Printf («\п»):
}
Free (array):
}
}
}
F.2 Правила размещения знаков символа
F.2.1 Нетипичная форма знака символа
Ввиду того, что знаки символа типичной формы не всегда могут быть размещены в границах модулей дан
ных в символе и в некоторых его углах, необходим небольшой набор знаков символа нетипичной формы. Установ
лено шесть условий размещения — два условия размещения на границах, которые действуют во всех
форматах символа, и четыре различных условия размещения в углах, которые применимы для отдельных
форматов симво ла:
a) одну часть знака символа нетипичной формы размещают на одной стороне символа и другую — на
противоположной. Это условие применяют к двум базовым формам знака символа (рисунок F.1). Варианты таких
компоновок зависят от взаимосвязи между строками на левой и правой границах (таблица F.1);
b
) одну часть знака символа размещают на верхней границе символа, а другую — на нижней. Это условие
применяют к двум базовым формам знака символа (рисунок F.2). Варианты такой компоновки зависят от взаимо
связи между столбцами на верхней и нижней границах (таблица F.1);
c) четыре знака символа нетипичной формы распределяют по двум или трем углам (рисунки F.3 — F.6).
Знаки символа нетипичной формы размещают на противоположных границах. Число таких пар возрастает прямо
пропорционально периметру координатной матрицы. Базовые комбинации представлены на рисунках F.1 и F.2. На
рисунке F.1 модули з8 и а7 находятся в одной и тойже строке, также как и модули Ь7 и Ь6. На рисунке F.2 модули сб и сЗ
находятся в одном и том же столбце, так же как и модули d3 и d1. Существует семь вариантов размещения знаков
символа на границах, которые определяют относительное положение знаков символа по вертикали (рису нок F.1).
положение по горизонтали (рисунок F.2) и условия размещения в углах.
4 И наконец, если не заполнен нижний правый угол, заполняют его. используя фиксированный шаблон.
21 Процедура кmain» проверяет правильность командной строки, затем вычисляет и отображает
массив array.
53