- •А.И. Шереметьев Информатика Сборник домашних заданий
- •Задачи для групп а1-04, 05
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •01100 (1-Я строка)
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •0X0056 999 rrrr dd.Fff
- •0X00f1 999 pppp dd.Fff
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Имя Отчество Фамилия
- •2. И. О. Фамилия
- •3. Фамилия и. О.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.
- •Задачи для групп а2-04, 05
- •Int BitLongFind(
- •Int len, /* длина этого массива */
- •Int BitFileFind( char *fn, /* имя файла - области поиска */
- •Int BitIntCnt(
- •Int len, /* длина этого массива */
- •Int BitIntHist( int arr[], /* массив целых - область подсчета */
- •Int len, /* длина массива целых */
- •Int hist[16] /* счетчики 1-битов в каждом слове */
- •Int BitLongHist(
- •Int len, /* длина этого массива */
- •Список рекомендуемой литературы
- •Информатика Сборник домашних заданий
- •115409, Г. Москва, Каширское ш., 31
Int BitLongHist(
long arr[], /* массив длинных целых - область подсчета */
Int len, /* длина этого массива */
long hist[32] /* счетчики 1-битов в каждом двойном слове */
);
/* Подсчитывает количество единиц в каждом бите для всех двойных слов массива arr[], накапливая их в массиве hist[], где индексом массива служит номер бита в двойном слове. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно), иначе 0. В main() предусмотреть вывод времени исполнения функции в тиках. */
Задача 2.23. Написать тестирующую main() и следующую функцию
long BitFileHist( char *fn, /* имя файла - области подсчета */
long hist[8] /* счетчики 1-битов в каждом байте */
);
/* Подсчитывает количество единиц в каждом бите для всех байтов файла fn, накапливая их в массиве hist[], где индексом массива служит номер бита в байте и возвращает длину файла в байтах. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). В main() предусмотреть вывод времени исполнения функции в тиках. */
Задача 2.24. Написать тестирующую main() и следующую функцию
int ChStrHist( char *str, /* текст строки - области подсчета */
int hist[256] /* счетчики одинаковых байтов */
);
/* Подсчитывает количество байтов с одинаковым значением для всех байтов строки str, накапливая их в массиве hist[], где индексом массива служит значение байта. Возвращает длину строки. В main() предусмотреть вывод времени исполнения функции в тиках. */
Задача 2.25. Написать тестирующую main() и следующую функцию
int ChArrHist( char arr[], /* массив байтов - области подсчета */
int len, /* длина массива байтов */
int hist[256] /* счетчики одинаковых байтов */
);
/* Подсчитывает количество байтов с одинаковым значением для всех байтов массива arr[], накапливая их в массиве hist[], где индексом массива служит значение байта. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно), иначе 0. В main() предусмотреть вывод времени исполнения функции в тиках. */
Задача 2.26. Написать тестирующую main() и следующую функцию
int IntArrHist(
int arr[], /* массив слов - области подсчета */
int len, /* длина массива слов */
int hist0[256], /* счетчики одинаковых младших байтов */
int hist1[256] /* счетчики одинаковых старших байтов */
);
/* Подсчитывает количество байтов с одинаковым значением для всех байтов массива arr[], накапливая их в массивах hist0[] и hist1[], где индексом массива служит значение байта. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно), иначе 0. В main() предусмотреть вывод времени исполнения функции в тиках. */
Задача 2.27. Написать тестирующую main() и следующую функцию
long ChFileHist( char *fn, /* имя файла - области подсчета */
long hist[256] /* счетчики одинаковых байтов */
);
/* Подсчитывает количество байтов с одинаковым значением для всех байтов файла fn, накапливая их в массиве hist[], где индексом массива служит значение байта и возвращает длину файла. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). В main() предусмотреть вывод времени исполнения функции в тиках. */
Задача 2.28. Написать тестирующую main() и следующую функцию
int TPutBitLong( int x, int y, /* координаты вывода */
long num, /* число для вывода */
int term, /* код символа-разделителя тетрад */
int na, /* атрибут цифр */
int ta /* атрибут символа-разделителя */
);
/* В текстовом режиме выводит число num в 2-системе счисления группами по 4 цифры (тетрадами), отделяя их друг от друга символом term с указанными атрибутами na и ta и возвращая 0. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.29. Написать тестирующую main() и следующую функцию
int TPutOctLong( int x, int y, /* координаты вывода */
long num, /* число для вывода */
int term, /* код символа-разделителя триад */
int na, /* атрибут цифр */
int ta /* атрибут символа-разделителя */
);
/* В текстовом режиме выводит число num в 8-системе счисления группами по 3 цифры (триадами), отделяя их друг от друга символом term с указанными атрибутами na и ta и возвращая 0. Разбиение на триады производится справа налево. В неполной триаде всегда выводятся левые нули. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно).*/
Задача 2.30. Написать тестирующую main() и следующую функцию
int TPutDecLong( int x, int y, /* координаты вывода */
long num, /* число для вывода */
int term, /* код символа-разделителя триад */
int na, /* атрибут цифр */
int ta /* атрибут символа-разделителя */
);
/* В текстовом режиме выводит число num в 10-системе счисления группами по 3 цифры (триадами), отделяя их друг от друга символом term с указанными атрибутами na и ta и возвращая 0. Разбиение на триады производится справа налево. Перед выводом цифр выводит знак числа: "+" или "-". При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно).*/
Задача 2.31. Написать тестирующую main() и следующую функцию
int TPutHexLong( int x, int y, /* координаты вывода */
long num, /* число для вывода */
int term, /* код символа-разделителя тетрад */
int na, /* атрибут цифр */
int ta /* атрибут символа-разделителя */
);
/* В текстовом режиме выводит число num в 16-системе счисления группами по 4 цифры (тетрадами), отделяя их друг от друга символом term с указанными атрибутами na и ta и возвращая 0. Разбиение на триады производится справа налево. В левой тетраде всегда выводятся левые нули. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.32. Написать тестирующую main() и следующую функцию
int TPutHist8( int y, /* номер строки вывода на экране */
long hist[8], /* счетчики 8 каналов */
int sym, /* символ гистограммы */
int ca, /* атрибут имени канала */
int ha, /* атрибут гистограммы */
int da, /* атрибут значения счетчика */
int pa /* атрибут доли счетчика в процентах */
);
/* В текстовом режиме начиная со строки y выводит 8 строк гистограммы по следующему шаблону (sym = '*', i - номер канала с 0):
hist[i]!************* 13 35.6 %.
имя гистограмма значение счетчика
канала канала доля счетчика
При необходимости проводит масштабирование и в этом случае выводит дополнительную 9-ю строку по следующему шаблону:
Каждый символ "*" = 3 (коэффициент масштаба)
При нормальном входе возвращает 0, при ошибке во входных параметрах сразу возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.33. Написать тестирующую main() и следующую функцию
int TPutHist( int hist[], /* счетчики каналов */
int hmax, /* количество каналов */
int lines, /* количество строк показа */
int sym, /* символ гистограммы */
int ca, /* атрибут имени канала */
int ha, /* атрибут гистограммы */
int da, /* атрибут значения счетчика */
int pa /* атрибут доли счетчика в процентах */
);
/* В текстовом режиме начиная со строки 0 экрана выводит lines строк гистограммы по следующему шаблону (sym = '*', i - номер канала с 0):
hist[i]!************ 12 17.1 %.
имя гистограмма значение счетчика
канала канала доля счетчика
Реакция на управляющие клавиши:
kbESC - выход из функции;
kbPGUP - на (lines-1) строк вверх по массиву hist[];
kbPGDN - на (lines-1) строк вниз по массиву hist[];
kbHOME - показ первых lines строк;
kbEND - показ последних lines строк;
При нормальном входе возвращает 0, при ошибке во входных параметрах сразу возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.34. Написать тестирующую main() и следующую функцию
int TFrameDraw(
int x, int y, /* координаты рамки */
int xend, int yend,
int fsym, /* начальный символ рамки */
int tsym, /* символ-заполнитель ее внутренности */
int sa, /* атрибут "чистого" экрана */
int fa, /* атрибут символа рамки */
int ta /* атрибут символа-заполнителя */
);
/* В текстовом режиме очищает экран и рисует прямоугольную рамку символом fsym с заполнением ее внутренности символом tsym с указанными атрибутами. После этого ожидает нажатия любой клавиши: при нажатии kbESC очищает весь экран и выходит, при любой другой - код этой клавиши становится символом fsym и рисуется новая рамка. При нормальном входе возвращает 0, при ошибке во входных параметрах сразу возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.35. Написать тестирующую main() и следующую функцию
int TFrameSize(
int x, int y, /* координаты рамки */
int xend, int yend,
int fsym, /* начальный символ рамки */
int tsym, /* символ-заполнитель ее внутренности */
int fa, /* атрибут символа рамки */
int ta /* атрибут символа-заполнителя */
);
/* В текстовом режиме рисует прямоугольную рамку символом fsym с заполнением ее внутренности символом tsym с указанными атрибутами. После этого ожидает нажатия любой клавиши и выполняет:
kbESC - выходит из функции;
kbF1...kbF10 - установить step = 1...10;
kbUP - увеличить на step высоту рамки;
kbDN - уменьшить на step высоту рамки;
kbRT - увеличить на step ширину рамки;
kbLT - уменьшить на step ширину рамки;
kbHOME - восстановить исходные размеры рамки.
При нормальном входе возвращает 0, при ошибке во входных параметрах сразу возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.36. Написать тестирующую main() и следующую функцию
int TFrameMove(
int x, int y, /* координаты рамки */
int xend, int yend,
int fsym, /* начальный символ рамки */
int tsym, /* символ-заполнитель ее внутренности */
int fa, /* атрибут символа рамки */
int ta /* атрибут символа-заполнителя */
);
/* В текстовом режиме рисует прямоугольную рамку символом fsym с заполнением ее внутренности символом tsym с указанными атрибутами. После этого ожидает нажатия любой клавиши и выполняет:
kbESC - выходит из функции;
kb0...kb9 - установить step = 1...10;
kbUP - сдвинуть рамку на step позиций вверх;
kbDN - сдвинуть рамку на step позиций вниз;
kbRT - сдвинуть рамку на step позиций вправо;
kbLT - сдвинуть рамку на step позиций влево;
kbHOME - восстановить исходное положение рамки.
При ошибке во входных параметрах сразу возвращает -1,-2,... по типу ошибки (доопределить самостоятельно), иначе 0. */
Задача 2.37. Написать тестирующую main() и следующую функцию
int far GStrRunXR(
int left, int top, /* координаты рамки со строкой */
int right, int bottom, /* показа на экране */
char far *text, /* текст строки сообщения */
int fcolor, /* цвет рамки, */
int tcolor, /* цвет текста, */
int bcolor /* цвет фона, все на время функции */
);
/* В графическом режиме показывает строку, бегущую справа налево в неподвижной одинарной рамке, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.38. Написать тестирующую main() и следующую функцию
int far GStrRunXL(
int left, int top, /* координаты рамки со строкой */
int right, int bottom, /* показа на экране */
char far *text, /* текст строки сообщения */
int fcolor, /* цвет рамки, */
int tcolor, /* цвет текста, */
int bcolor /* цвет фона, все на время функции */
);
/* В графическом режиме показывает строку, бегущую слева направо в неподвижной двойной рамке, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.39. Написать тестирующую main() и следующую функцию
int far GStrRunYD(
int left, int top, /* координаты рамки со строкой */
int right, int bottom, /* показа на экране */
char far *text, /* текст строки сообщения */
int fcolor, /* цвет рамки, */
int tcolor, /* цвет текста, */
int bcolor /* цвет фона, все на время функции */
);
/* В графическом режиме показывает строку, бегущую снизу вверх в неподвижной одинарной рамке, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.40. Написать тестирующую main() и следующую функцию
int far GStrRunYU(
int left, int top, /* координаты рамки со строкой */
int right, int bottom, /* показа на экране */
char far *text, /* текст строки сообщения */
int fcolor, /* цвет рамки, */
int tcolor, /* цвет текста, */
int bcolor /* цвет фона, все на время функции */
);
/* В графическом режиме показывает строку, бегущую сверху вниз в неподвижной двойной рамке, до нажатия любой клавиши, после чего возвращает ее код. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.41. Написать тестирующую main() и следующую функцию
int far GPutBitLong( int x, int y, /* координаты вывода */
long num, /* число для вывода */
int term, /* символ-разделитель тетрад */
int dcolor, /* цвет цифр */
int tcolor /* цвет символа-разделителя */
);
/* В графическом режиме выводит число num в 2-системе счисления группами по 4 цифры (тетрадами), отделяя их друг от друга символом term с указанными цветами и возвращая 0. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.42. Написать тестирующую main() и следующую функцию
int far GPutOctLong( int x, int y, /* координаты вывода */
long num, /* число для вывода */
int term, /* символ-разделитель триад */
int dcolor, /* цвет цифр */
int tcolor /* цвет символа-разделителя */
);
/* В графическом режиме выводит число num в 8-системе счисления группами по 3 цифры (триадами), отделяя их друг от друга символом term с указанными цветами и возвращая 0. Разбиение на триады производится справа налево. В неполной триаде всегда выводятся левые нули. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.43. Написать тестирующую main() и следующую функцию
int far GPutDecLong( int x, int y, /* координаты вывода */
long num, /* число для вывода */
int term, /* символ-разделитель триад */
int dcolor, /* цвет цифр */
int tcolor /* цвет символа-разделителя */
);
/* В графическом режиме выводит число num в 10-системе счисления группами по 3 цифры (триадами), отделяя их друг от друга символом term с указанными цветами и возвращая 0. Разбиение на триады производится справа налево. Перед выводом цифр выводит знак числа: "+" или "-". При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.44. Написать тестирующую main() и следующую функцию
int far GPutHexLong( int x, int y, /* координаты вывода */
long num, /* число для вывода */
int term, /* символ-разделитель тетрад */
int dcolor, /* цвет цифр */
int tcolor /* цвет символа-разделителя */
);
/* В графическом режиме выводит число num в 16-системе счисления группами по 4 цифры (тетрадами), отделяя их друг от друга символом term с указанными цветами и возвращая 0. Разбиение на тетрады производится справа налево. В левой тетраде всегда выводятся левые нули. При ошибке во входных параметрах возвращает -1, -2,... по типу ошибки (доопределить самостоятельно).*/
Задача 2.45. Написать тестирующую main() и следующую функцию
int far GFrameSize(
int far *left, int far *top, /* входные и выходные */
int far *right, int far *bottom, /* координаты рамки */
int pattern, /* код штриховки внутри рамки, */
int fcolor, /* цвет рамки, */
int pcolor, /* цвет штриховки, */
int bcolor /* цвет фона, все на время функции */
);
/* В графическом режиме рисует прямоугольную рамку с указанными штриховкой и цветами. После этого ожидает нажатия любой клавиши и выполняет:
kbESC - выходит из функции;
kb0...kb9 - установить step = 1...10;
kbUP - увеличить на step высоту рамки;
kbDN - уменьшить на step высоту рамки;
kbRT - увеличить на step ширину рамки;
kbLT - уменьшить на step ширину рамки;
kbHOME - восстановить исходные размеры рамки.
При нормальном входе возвращает 0 и текущие координаты рамки, при ошибке во входных параметрах сразу возвращает -1, -2,... по типу ошибки (доопределить самостоятельно). */
Задача 2.46. Написать тестирующую main() и следующую функцию
int far GFrameMove(
int far *left, int far *top, /* входные и выходные */
int far *right, int far *bottom, /* координаты рамки */
int pattern, /* код штриховки внутри рамки, */
int fcolor, /* цвет рамки, */
int pcolor, /* цвет штриховки, */
int bcolor /* цвет фона, все на время функции */
);
/* В графическом режиме рисует прямоугольную рамку с указанными штриховкой и цветами. После этого ожидает нажатия любой клавиши и выполняет:
kbESC - выходит из функции;
kbF1...kbF10 - установить step = 1...10;
kbUP - сдвинуть рамку на step позиций вверх;
kbDN - сдвинуть рамку на step позиций вниз;
kbRT - сдвинуть рамку на step позиций вправо;
kbLT - сдвинуть рамку на step позиций влево;
kbHOME - восстановить исходное положение рамки.
При нормальном входе возвращает 0, при ошибке во входных параметрах сразу возвращает -1, -2,... по типу ошибки. */
Задача 2.47. Написать тестирующую main() и следующую функцию
int TBitDiagram( char arr[], /* массив байтов - символов текста */
int len, /* его длина */
int na, /* атрибут имени "бит Х" */
int da /* атрибут линии диаграммы */
);
/* В текстовом режиме начиная со строки 0 экрана выводит массив байтов и его битовую диаграмму по следующему шаблону:
Массив байтов - символов:
1 2 3 4 5 6 7 8 9 0
Битовая диаграмма байтов:
+-+ +---------+
бит 0 -+ +---+ +--
+-+ +---+ +--+
бит 1 ---+ +--+ +-+ +--
...
++ +----+ ++ +--
бит 7 -++--+ +---++-+
в норме возвращая 0, а при ошибке -1, -2.,... по типу ошибки. */
Задача 2.48. Написать тестирующую main() и следующую функцию
int far GBitDiagram( int arr[], /* массив слов */
int len, /* его длина */
int ncolor, /* цвет имени "бит Х" */
int dcolor /* цвет линии диаграммы */
);
/* В графическом режиме начиная со строки 0 экрана выводит массив слов и его битовую диаграмму по следующему шаблону:
Массив слов (16-система):
8AF1 D3C2 47A5 5C43 A8F6
Битовая диаграмма слов:
+---+ +---------+
бит 0 -+ +----+ +--
+----+ +------
бит 1 -----+ +-----+
...
+-------+ +--
бит F -+ +---------+
в норме возвращая 0, а при ошибке -1, -2,... по типу ошибки. */
Задача 2.49. Написать тестирующую main() и следующую функцию
int far GCircHist( int x, int y, /* координаты центра */
int radius /* радиус окружности */
int hist[], /* счетчики гистограммы */
int len, /* количество счетчиков: 2...14 */
int bcolor, /* цвет фона */
int fcolor /* цвет обводки круговых секторов */
);
/* В графическом режиме выводит круговую гистограмму, предварительно отсортировав значения счетчиков в невозрастающем порядке и раскрашивая каждый круговой сектор, соответствующий счетчику, очередным цветом палитры, исключая цвета bcolor и tcolor. Затем справа от круга выводит долю каждого счетчика в процентах и небольшой квадрат, закрашенный тем же цветом, что и соответствующий сектор гистограммы. В норме возвращает сумму счетчиков, иначе -1, -2,... по типу ошибки (доопределить самостоятельно). */