Оконное приложение С++. Матрица

Содержание

Слайд 2

Двумерный массив (матрица) —

Теория (вспомним)

Матрица характеризуется име­нем, размерностью и размером.

Имя матрицы

Двумерный массив (матрица) — Теория (вспомним) Матрица характеризуется име­нем, размерностью и размером.
образуется по общему правилу образова­ния имен, т. е. представляет собой идентификатор, например, A, Bl, C_8 и т. д.

Размерность матрицы определяется числом индексов (у матрицы два индекса: первый показывает номер строки, а второй но­мер столбца, где элемент находится).

это совокупность пронумерованных однотипных данных; прямоугольная таблица, состоящая из N строк и M столбцов.

Слайд 3

Двумерный массив (матрица) —

Теория (вспомним)

Матрица характеризуется име­нем, размерностью и размером.

это совокупность

Двумерный массив (матрица) — Теория (вспомним) Матрица характеризуется име­нем, размерностью и размером.
пронумерованных однотипных данных; прямоугольная таблица, состоящая из N строк и M столбцов.

Двухмерный массив (матрица)
представляет собой список одномер­ных массивов.

Общая форма записи двухмерного массива:
тип имя_массива[размер1] [размер2];
В приведенной записи размер1 означает количество строк двухмер­ного массива, а размер2 - количество столбцов.

Для двухмерных массивов общий размер массива в байтах вычисля­ется по формуле:
всего байт = число строк * число столбцов * размер типа в байтах.
Для определения размера типа в байтах применяется функция sizeof()

Слайд 4

i

j

a – имя матрицы
a[i][j] – элемент матрицы
i – индекс строки
j –

i j a – имя матрицы a[i][j] – элемент матрицы i –
индекс столбца
int a[3][4] – описание матрицы

Слайд 5

int main()
{
setlocale(LC_ALL, "rus");
int a[100][100];
int N,M;
cin >> N >>

int main() { setlocale(LC_ALL, "rus"); int a[100][100]; int N,M; cin >> N
M;
// Помещаем в массив значения
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
{
cin >> a[i][j];
}
// Выводим значения массива
cout << "Вывод массива" << endl;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
cout << a[i][j] << “\t";
}
// Решаем задачу
int s=0;
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
{
s=+ a[i][j] ;
}
cout << s;
system("pause");
return 0;
}

Ответ=

Слайд 6

Использование элемента управления
DataGridView
для работы с матрицами

Использование элемента управления DataGridView для работы с матрицами

Слайд 7

DataGridView - это элемент управления, который может отобра­жать буквально любой вид данных

DataGridView - это элемент управления, который может отобра­жать буквально любой вид данных
в ячейках прямоугольной сетки.
Элемент управления DataGridView позволяет отображать и изменять прямоугольный массив данных из множества различных источников дан­ных. Его можно использовать также для отображения практически любых данных, созданных непосредственно в программе. По своей сущности это сложный элемент управления, который обеспечивает огромную гибкость при его применении, и преимуществами множества его функциональных возможностей можно воспользоваться через множество свойств, функций и событий.

Слайд 8

Данные элемента управления DataGridView отображаются в прямо­угольном массиве ячеек, которые можно представить

Данные элемента управления DataGridView отображаются в прямо­угольном массиве ячеек, которые можно представить
в виде коллекции строк или столбцов. Каждый столбец ячеек имеет в верхней части ячейку заголовка, которая, как правило, содержит идентифицирующий этот стол­бец текст, а в начале каждой строки расположена ячейка заголовка строки, как показано на рисунке.

Слайд 9

Обращение к строкам и столбцам ячеек выполня­ется через свойства объекта DataGridView.
Свойство

Обращение к строкам и столбцам ячеек выполня­ется через свойства объекта DataGridView. Свойство
Rows возвращает значение типа DataGridRowCollection, представляющее коллекцию всех строк, а обращение к конкретной строке выполняется с помощью индекса, что можно видеть на рисунке.
Аналогично свойство Columns элемента управления возвращает зна­чение типа DataGridviewColumnCollection, которое также можно индек­сировать для обращения к конкретному столбцу.

Слайд 10

Индексация строк и столбцов осуществляется, начиная с нуля.
Свойство Cells объекта DataGridRowCollection

Индексация строк и столбцов осуществляется, начиная с нуля. Свойство Cells объекта DataGridRowCollection
представляет коллекцию, содержащую ячейки строки, и это свойство можно индексировать для получения доступа к конкретной ячейке в строке. Пример ссылки на четвертую ячейку в третьей строке приведен на рисунке.

Слайд 11

Количество строк доступно как значение свойства RowCount, а свой­ство ColumnCount возвращает количество

Количество строк доступно как значение свойства RowCount, а свой­ство ColumnCount возвращает количество
столбцов.
Вначале, когда эле­мент управления еще не связан с источником данных, он не будет содер­жать ни строк, ни столбцов. Количество столбцов и / или строк можно определить, устанавливая значения свойств элемента управления, но при его использовании для отображения данных из источника данных это дей­ствие выполняется автоматически.

Слайд 12

Персональная настройка элемента управления DataGridView
(свойство элемента)

Свойства объекта DataGridViewCellStyle, влияю­щие на внешний

Персональная настройка элемента управления DataGridView (свойство элемента) Свойства объекта DataGridViewCellStyle, влияю­щие на внешний вид ячейки
вид ячейки

Слайд 13

Персональная настройка элемента управления DataGridView

Нам необходимо, чтобы элемент управления размещался в

Персональная настройка элемента управления DataGridView Нам необходимо, чтобы элемент управления размещался в
фиксированной позиции в клиентской области формы. Это можно осуществить, устанавливая значение свойства Dock:
dataGridView->Dock = DockStyle::Fill;
В качестве значения свойства Dock должна быть установлена одна из констант, определенных перечислением DockStyle. Другими допусти­мыми значениями этого свойства являются Тор (Вверху), Bottom (Внизу), Left (Слева), Right (Справа) и None (Нет), которые указывают стороны элемента управления, привязанные к позиции размещения.
Привязку позиции элемента управления к клиентской области фор­мы можно выполнять также посредством установки свойства Anchor эле­мента управления. Значение этого свойства указывает края элемента управления, которые должны быть привязаны к клиентской области фор­мы. Значение является побитовой комбинацией констант, определенных перечислением AnchorStyles, и может принимать любые или все из зна­чений Top, Bottom, Left и Right. Например, чтобы привязать верхнюю и левую стороны элемента управления, в качестве значения нужно было бы указать AnchorStyles ::Тор & AnchorStyles::Left.
Определение свойства Anchor ведет к фиксации позиции элемента управления и его ли­неек прокрутки внутри контейнера заданного размера. Поэтому при изме­нении размера окна приложения элемент управления и его линейки про­крутки сохраняют свои размеры. Если установить значение свойства Dock так, как в предыдущем операторе, при изменении размера окна приложе­ния отображаемая в нем часть элемента управления будет изменяться с со­ответствующим изменением линеек прокрутки. Поэтому теперь работать с приложением значительно удобнее.
Нам требуется, чтобы ширина, столбцов автоматически изменялась, обеспечивая отображение полных строк данных в ячейках. Для этого мож­но вызывать функцию AutoResizeColumns (): dataGridview->AutoResizeColumns();
Этот оператор подбирает ширину всех столбцов в соответствии с те­кущим содержимым, в том числе в соответствии с содержимым ячеек за­головков. Обратите внимание, что эта настройка выполняется во время вы­зова функции, поэтому к моменту её вызова содержимое уже должно су­ществовать. При последующем изменении содержимого ширина столбца не изменяется. Если требуется, чтобы ширина столбца автоматически из­менялась при каждом изменении содержимого ячеек, для элемента управ­ления нужно установить также свойство AutoSizeColumnsMode:dataGridView->AutoSizeColumnsMode= DataGridViewAutoSizeColumnsMode::AllCells;

Слайд 14

Элемент управления DataGridView применяется в трех различных режимах. Мы будет применять «несвязанный

Элемент управления DataGridView применяется в трех различных режимах. Мы будет применять «несвязанный
режим». В несвязанном ре­жиме передача данных элементу управления выполняется вручную, как правило, с помощью функции Add () применительно к свойству Rows эле­мента управления. Этот режим следует использовать для отображения сравнительно небольших объемов данных.
В несвязанном режиме элемент управления DataGridView можно использовать для отображения в приложении любых данных, которые могут быть отображены в табличном виде. Потому этот инструмент очень удобен для отображения данных во множестве разнообразных приложений.

Слайд 15

Следующие операторы создают элемент управления, обращение к которому выполняется посред­ством дескриптора DataGridView,

Следующие операторы создают элемент управления, обращение к которому выполняется посред­ством дескриптора DataGridView,
а затем устанавливают количество столбцов, равное 3:
DataGridView^ dataGridView = dcnew DataGridView; //создает элемент управления
DataGridView->ColumnCount = 3; // Устанавливает количество столбцов.
При желании столбцы в элементе управления можно пометить путем установки свойства Name (это имя элемента управления в коде!!!) для каждого столбца, указывая заголовки, иденти­фицирующие данные в каждом из них. Это можно выполнить так:
dataGridView->Columns[0]->Name="Name";
dataGrldView->Columns[l]->Name="Phone Number";
dataGridView->Columns[2]->Name="Address";

Слайд 16

Свойства для добавления и удаления строк

Свойства для добавления и удаления строк

Слайд 17

Задание 1
1) Создайте новый проект. Добавьте на форму визуальную компоненту DataGridView.
2) Запустите

Задание 1 1) Создайте новый проект. Добавьте на форму визуальную компоненту DataGridView.
приложение
3) Выберите свойство Columns и нажмите на кнопку с тремя точками, расположенную справа. В окне «Правка столбцов» выбрать «Добавить», столбец (column). Таким образом добавьте три столбца.

Слайд 18

Задание 1
4) В свойстве HeaderText для каждого столбца пропишите их названия: Фамилия,

Задание 1 4) В свойстве HeaderText для каждого столбца пропишите их названия:
Имя, Возраст. Если вы случайно вышли из данного окна, нажмите на компоненту (которая на форме) правую кнопку мышки и выберите «Правка столбцов». Если столбцы не отображаются, установите свойство видимости в True.
5) Запустите приложение. Проверьте его работу. Заполните таблицу информацией.

Слайд 19

Задание 1
6) Внешний вид каждой ячейки определяется объектом типа DataGridViewCellStyle. Потренируйтесь работать

Задание 1 6) Внешний вид каждой ячейки определяется объектом типа DataGridViewCellStyle. Потренируйтесь работать с этим свойством.
с этим свойством.

Слайд 20

Задание 1
7) Проработай свойство настройки заголовков столбцов. Если хотите самостоятельно определить внешний

Задание 1 7) Проработай свойство настройки заголовков столбцов. Если хотите самостоятельно определить
вид заголовков столбцов, значение свойства EnableHeadersVisualStyles потребуется установить равным false.
Определите несколько свойств, определяющих внешний вид заголовков столбцов. Простой способ достижения этого - со­здание объекта DataGridViewCellStyle.

8) Запустите приложение. Проверьте его работу.
9) Установите другие свойства визуальной компоненты DataGridView. Запустите приложение. Проверьте его работу.

Имя файла: Оконное-приложение-С++.-Матрица.pptx
Количество просмотров: 52
Количество скачиваний: 0