Программирование на С++ - eDrive
Программирование на С++ - eDrive
Программирование на С++ - eDrive
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
6<br />
Работа 1. Массивы<br />
Задание<br />
Для з<strong>на</strong>комства со средствами формирования и отображения массивов данных<br />
разработать приложение, форма которого отображает таблицу с тремя<br />
столбцами и произвольно изменяемым числом строк. Предоставить пользователю<br />
возможность заполнения первых двух столбцов таблицы вручную<br />
или с помощью генератора случайных чисел. Третий столбец должен вычисляться<br />
как результат заданной в табл. 1 операции <strong>на</strong>д строкой.<br />
Рекомендации<br />
1. Создание формы с таблицей. Подготовить проект с формой для отображения<br />
и ввода табличных данных. Поместить в нее элемент управления<br />
StringGrid с панели визуальных компонентов Additional и задать его свойства<br />
ColCount = 3 и RowCount = 10, FixedCols = 0 и FixedRows = 1. В группе<br />
Options установить в true свойства goEdition и goAlwaysShowEditor, a<br />
goRangeSelect – в false. В конструкторе формы организовать заполнение<br />
заголовка таблицы, <strong>на</strong>пример, так:<br />
StringGrid1–>Rows [0]–>Append (“Vector0”);<br />
StringGrid1–>Rows [0]–>Append (“Vector1”);<br />
StringGrid1–>Rows [0]–>Append (“Vector2”);<br />
Испытать приложение, вводя в ячейки таблицы произвольные числа.<br />
2. Подготовка массивов. В классе формы объявить три вещественных статических<br />
массива и целочисленную переменную для хранения числа строк<br />
таблицы, <strong>на</strong>пример:<br />
double myVector0 [256], myVector1 [256], myVector2 [256]; int gridRows;<br />
Дополнить класс функцией, передающей содержимое столбца таблицы в<br />
массив, и функцией, выполняющей обратное действие, и определить эти<br />
функции в файле кода формы, <strong>на</strong>пример:<br />
void __fastcall TForm1::MyVectorToGrid (double* vec, int col)<br />
{ for (int i = 0; i < gridRows; ++i)<br />
StringGrid1–>Cells [col][i+1] = FloatToStr (vec [i]); }<br />
3. Формирование массивов. Дополнить класс формы функцией, заполняющей<br />
массив случайными числами, и определить ее, <strong>на</strong>пример, так:<br />
void __fastcall TForm1::MyFill (double* vec)