Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчёты 2 семестр

.docx
Скачиваний:
1
Добавлен:
12.01.2020
Размер:
168.06 Кб
Скачать

Глава III

Циклы

Ивин П.А.

ЭИС-14

Вариант 6

Задание:

Распечатать таблицу значений функции F для x, изменяющегося в интервале от x0 до xk с шагом h. Значения x0, xk, h вводятся пользователем.

Код программы:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

DataTable ^table;

DataColumn ^column;

DataRow ^row;

table = gcnew DataTable();

String^ nameFirstColumn = "x";

String^ nameSecondColumn = "F";

column = gcnew DataColumn(nameFirstColumn, Double::typeid);

table->Columns->Add(column);

column = gcnew DataColumn (nameSecondColumn, String::typeid);

table->Columns->Add(column);

double x0, xk, F, h, x, const b = 4;

Convert::ToString(x0 = Convert::ToDouble(textBox1->Text));

Convert::ToString(xk = Convert::ToDouble(textBox2->Text));

Convert::ToString(h = Convert::ToDouble(textBox3->Text));

for (x = x0; x <= xk; x += h)

{

if (x < 2) F = atan(x) + sqrt(abs(x - 2));

else if (x == 2) F = (5 - pow(b, 2) + cos(3.14*x));

else F = (log(x - 2)*sin(x / 2));

row = table->NewRow();

row[nameFirstColumn] = x;

row[nameSecondColumn] = F;

table->Rows->Add(row);

}

dataGridView1-> DataSource = table;

}

Результат работы программы:

Глава IV

Одномерные массивы

Ивин П.А.

ЭИС-14

Вариант 6

Задание:

Код программы: #pragma endregion private: Void form(int *mass)

{

srand(time(NULL));

int sum1 = 0;

for (int i = 0; i < 10; i++)

{

mass[i] = rand() % 100 - 50;

sum1 += pow(-1, i + 1)*mass[i];

}

textBox1->Text = Convert::ToString(sum1);

}

private: void show(int *mass)

{

for (int i = 0; i < 10; i++)

{

dataGridView1->Rows[0]->HeaderCell->Value = "Вектор a:";

dataGridView1->Columns[i]->HeaderCell->Value = Convert::ToString(i + 1);

dataGridView1->Rows[0]->Cells[i]->Value = mass[i];

}

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

int mass[10];

dataGridView1->ColumnCount = 10;

dataGridView1->RowCount = 1;

form(mass);

show(mass);

dataGridView1->AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode::AutoSizeToAllHeaders);

dataGridView1->AutoResizeColumns();

}

Результат работы программы:

Глава V

Двумерные массивы

Ивин П.А.

ЭИС-14

Вариант 6

Раздел 1

Задание: Условие задачи: дана матрица А(nxn). Написать программу нахождения матрицы Ат*А, где Ат - транспонированная матрица. Код программы: #pragma endregion

private: void form(int size, int **massA, int **massAt)

{

for (int i = 0; i < size; i++)

for (int j = 0; j < size; j++)

massA[i][j] = rand() % 100 - 50;

for (int i = 0; i < size; i++)

for (int j = 0; j < size; j++)

massAt[j][i] = massA[i][j];

}

private: void formAtA(int size, int **massA, int **massAt, int **massAtA)

{

for (int i = 0; i < size; i++)

{

int AtA = 0;

for (int j = 0; j < size; j++)

{

for (int n = 0; n < size; n++)

AtA += massA[i][n] * massAt[n][j];

massAtA[i][j] = AtA;

}

}

}

private: void show(int size, int **massA, int **massAt, int **massAtA)

{

for (int i = 0; i < size; i++)

{

for (int j = 0; j < size; j++)

{

dataGridView1->TopLeftHeaderCell->Value = "Матрица A";

dataGridView1->Columns[j]->HeaderCell->Value = Convert::ToString(j + 1);

dataGridView1->Rows[i]->HeaderCell->Value = Convert::ToString(i + 1);

dataGridView1->Rows[i]->Cells[j]->Value = massA[i][j];

dataGridView2->TopLeftHeaderCell->Value = "Матрица Aт";

dataGridView2->Columns[j]->HeaderCell->Value = Convert::ToString(j + 1);

dataGridView2->Rows[i]->HeaderCell->Value = Convert::ToString(i + 1);

dataGridView2->Rows[i]->Cells[j]->Value = massAt[i][j];

dataGridView3->TopLeftHeaderCell->Value = "Матрица Ат*А";

dataGridView3->Columns[j]->HeaderCell->Value = Convert::ToString(j + 1);

dataGridView3->Rows[i]->HeaderCell->Value = Convert::ToString(i + 1);

dataGridView3->Rows[i]->Cells[j]->Value = massAtA[i][j];

}

}

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

int size = Convert::ToInt32(numericUpDown1->Value);

int **massA = new int *[size];

int **massAt = new int *[size];

int **massAtA = new int *[size];

for (int i = 0; i < size; i++) {

massA[i] = new int[size];

massAt[i] = new int[size];

massAtA[i] = new int[size];

}

dataGridView1->ColumnCount = size;

dataGridView1->RowCount = size;

dataGridView2->ColumnCount = size;

dataGridView2->RowCount = size;

dataGridView3->ColumnCount = size;

dataGridView3->RowCount = size;

form(size, massA, massAt);

formAtA(size, massA, massAt, massAtA);

show(size, massA, massAt, massAtA);

dataGridView1->AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode::AutoSizeToAllHeaders);

dataGridView1->AutoResizeColumns();

dataGridView2->AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode::AutoSizeToAllHeaders);

dataGridView2->AutoResizeColumns();

dataGridView3->AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode::AutoSizeToAllHeaders);

dataGridView3->AutoResizeColumns(); }

Результат работы программы:

Глава V

Двумерные массивы

Ивин П.А.

ЭИС-14

Вариант 6

Раздел 2

Задание:

Код программы:

#pragma endregion

private: void formA(int size, int **mass)

{

for (int i = 0; i < size; i++)

for (int j = 0; j < size; j++)

mass[i][j] = rand() % 100 - 50;

}

private: void formAy(int size, int **mass)

{

for (int i = 0; i < size; i++)

for (int j = 0; j < size; j++)

for (int k = 0; k < size-1; k++)

if (mass[k][j] < mass[k + 1][j]) std::swap(mass[k][j], mass[k + 1][j]);

}

private: void showA(int size, int **massA)

{

for (int i = 0; i < size; i++)

{

for (int j = 0; j < size; j++)

{

dataGridView1->TopLeftHeaderCell->Value = "Матрица";

dataGridView1->Columns[j]->HeaderCell->Value = Convert::ToString(j + 1);

dataGridView1->Rows[i]->HeaderCell->Value = Convert::ToString(i + 1);

dataGridView1->Rows[i]->Cells[j]->Value = massA[i][j];

}

}

}

private: void showAy(int size, int **massA)

{

for (int i = 0; i < size; i++)

{

for (int j = 0; j < size; j++)

{

dataGridView2->TopLeftHeaderCell->Value = "Матрица Ау";

dataGridView2->Columns[j]->HeaderCell->Value = Convert::ToString(j + 1);

dataGridView2->Rows[i]->HeaderCell->Value = Convert::ToString(i + 1);

dataGridView2->Rows[i]->Cells[j]->Value = massA[i][j];

}

}

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

int size = Convert::ToInt32(numericUpDown1->Value);

int **massA = new int *[size];

for (int i = 0; i < size; i++)

massA[i] = new int[size];

dataGridView1->ColumnCount = size;

dataGridView1->RowCount = size;

dataGridView2->ColumnCount = size;

dataGridView2->RowCount = size;

formA(size, massA);

showA(size, massA);

formAy(size, massA);

showAy(size, massA);

dataGridView1->AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode::AutoSizeToAllHeaders);

dataGridView1->AutoResizeColumns();

dataGridView2->AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode::AutoSizeToAllHeaders);

dataGridView2->AutoResizeColumns();

}

Результат работы программы:

Соседние файлы в предмете Информатика