Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы Волков / Отчёт индивидуалки.docx
Скачиваний:
0
Добавлен:
09.07.2025
Размер:
2.04 Mб
Скачать

1.2 Схемы алгоритмов

При нажатии на кнопку «Пуск», выполняется алгоритм функции, представленный на рисунках 1-2.

Рисунок 1 - Схема алгоритма функции обработки нажатия кнопки «Пуск»

Рисунок 2 - Схема алгоритма функции обработки нажатия кнопки «Пуск», продолжение

На рисунке 3 представлена схема алгоритма функции обработчика нажатия на кнопку "Загрузить".

Рисунок 3 – Схема алгоритма функции обработчика нажатия на кнопку «Загрузить»

На рисунке 4 представлена схема алгоритма функции обработчика нажатия на кнопку "Сохранить".

Рисунок 4 – Схема алгоритма функции обработчика нажатия на кнопку «Сохранить»

На рисунках 5-6 представлены схемы алгоритмов проверки ввода числа n и k соответственно.

Рисунок 5 – Схема алгоритма функции проверки ввода n

Рисунок 6 – Схема алгоритма функции проверки ввода k

При нажатии на кнопку «Закрыть», выполняется функция закрытия программы (рисунок 7).

Рисунок 7 – Схема алгоритма функции обработки нажатия на кнопку «Закрыть»

На рисунке 8 представлена схема алгоритма функции обработчика нажатия на кнопку "Очистить".

Рисунок 8 – Схема алгоритма функции обработчика нажатия на кнопку «Очистить»

На рисунках 9-10 соответственно представлены схемы алгоритмов, которые выполняются при изменении числа N.

Рисунок 9 – Схема алгоритма функции при изменении n

Рисунок 10 – Схема алгоритма функции при изменении k

1.3 Текст программы

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

if (textBox1->Text != "" && textBox2->Text != "")

{

int n = Convert::ToInt32(textBox1->Text);

int k = Convert::ToInt32(textBox2->Text);

int* a = new int[n];

int col = 0;

String^ s = textBox4->Text;

if (s == "")

{

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

a[i] = rand() % 100;

textBox4->Text += a[i] + " ";

}

}

else {

String^ text = textBox4->Text;

array<String^>^ lines = text->Split(gcnew array<Char>{' '}, StringSplitOptions::RemoveEmptyEntries);

int i = 0;

for each (String ^ line in lines) {

int number;

if (Int32::TryParse(line, number)) {

a[i] = number;

i++;

}

}

}

int* b = new int[col];

int j = 0;

textBox3->Clear();

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

if (a[i] % 10 == k) {

b[j] = a[i];

textBox3->Text += b[j] + " ";

j++;

}

}

}

else

{

MessageBox::Show("Введите все исходные данные!");

}

}

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

{

OpenFileDialog^ openFileDialog = gcnew OpenFileDialog();

openFileDialog->Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";

if (openFileDialog->ShowDialog() == System::Windows::Forms::DialogResult::OK)

{

String^ fileName = openFileDialog->FileName;

StreamReader^ sr = gcnew StreamReader(fileName);

String^ line;

array<String^>^ tokens;

line = sr->ReadLine();

tokens = line->Split(' ');

int n = Convert::ToInt32(tokens[0]);

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

line = sr->ReadLine();

textBox4->Text = line;

sr->Close();

}

}

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

{

SaveFileDialog^ saveFileDialog = gcnew SaveFileDialog();

saveFileDialog->Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";

if (saveFileDialog->ShowDialog() == System::Windows::Forms::DialogResult::OK)

{

String^ fileName = saveFileDialog->FileName;

StreamWriter^ sw = gcnew StreamWriter(fileName);

sw->WriteLine(textBox1->Text);

sw->WriteLine(textBox4->Text);

sw->Close();

}

}

private: System::Void textBox1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)

{

if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b') {

e->Handled = true;

}

}

private: System::Void textBox2_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) {

if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b') {

e->Handled = true;

}

}

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

{

this->Close();

}

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

this->textBox4->Text = "";

this->textBox3->Text = "";

this->textBox2->Text = "";

this->textBox1->Text = "";

}

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

this->textBox3->Text = "";

}

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

this->textBox3->Text = "";

}

};

}