24.11.2014 Views

Программирование на С++ - eDrive

Программирование на С++ - eDrive

Программирование на С++ - eDrive

SHOW MORE
SHOW LESS

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!