Здравствуйте, не могу привязать к main файлу еще один. Ниже представл код для main файла, доп.файла и header файла.
Main файл
#include <iostream>
#include <ctime>
#include <fstream>
#include "choice_of_method.h"
using namespace std;
void quicksort(int* array, int size_of_array) {
int id_last_element = size_of_array - 1;
int id_fist_element = 0;
int flag = 1;
int pivot = 0;
cout << size_of_array << endl;
while (id_fist_element != id_last_element)
{
if (flag % 2 != 0)
{
if (array[pivot] > array[id_last_element])
{
cout << array[pivot] << " Ìåíÿåòñÿ ñ " << array[id_last_element] << endl;
swap(array[pivot], array[id_last_element]);
pivot = id_last_element;
cout << "Array: ";
for (int k = 0; k < size_of_array; k++)
{
cout << array[k] << " ";
}
cout << endl;
id_fist_element++;
flag++;
}
else {
id_last_element--;
}
}
else if (flag % 2 == 0)
{
if (array[pivot] < array[id_fist_element])
{
cout << array[pivot] << " Ìåíÿåòñÿ ñ " << array[id_fist_element] << endl;
swap(array[pivot], array[id_fist_element]);
pivot = id_fist_element;
for (int k = 0; k < size_of_array; k++)
{
cout << array[k] << " ";
}
cout << endl;
id_last_element--;
flag++;
}
else {
id_fist_element++;
}
}
}
}
int main() {
setlocale(LC_ALL, "Rus");
int array_size; // Ðàçìåð ìàññèâà
cout << "ÂÍÈÌÀÍÈÅ! Ðàçìåð ìàññèâà íå äîëæåí ïðåâûøàòü 40" << endl;
cout << "Ââåäèòå ðàçìåð ìàññèâà: ";
cin >> array_size;
if (array_size > 40) {
cout << "Ââîäèìîå çíà÷åíèå ìàññèâà ïðåâûøàåò 40" << endl;
return 0;
}
int* array_1{new int[array_size] }; // Îáúÿâëåíèå äèíàìè÷åñêîãî ìàññèâà
// 1 ÈÇ 3 ÌÅÒÎÄÎÂ ÇÀÏÎËÍÅÍÈß ÌÀÑÑÈÂÀ(ÏÅÐÅÍÅÑÒÈ Â ÎÒÄÅËÜÍÛÉ ÔÀÉË)
int flag;
cin >> flag;
switch (flag)
{
case 1:
keyboard_method(array_1, array_size);
break;
case 2:
random_method(array_1, array_size);
break;
case 3:
read_from_file_method(array_1, array_size);
break;
default:
break;
}
// Äàëëå ïðîèñõîäèò quicksort
quicksort(array_1, array_size);
delete[] array_1;
return 0;
}
Доп.файл
#include <iostream>
#include <ctime>
#include <fstream>
#include "choice_of_method.h"
using namespace std;
void keyboard_method(int* array, int array_size) {
int element;
cout << "Ýëåìåíò ìàññèâà íå äîëæåí áûòü íèæå 0" << endl;
for (int i = 0; i < array_size; i++) // Çàïîëíåíèå ìàññèâà ââîäèìûìè çíà÷åíèÿìè
{
int element;
cin >> element;
if (element < 0) {
cout << "Âû ââåëè íåäîñòóïíîå çíà÷åíèå ýëåìåíòà ìàññèâà";
break;
}
else {
array[i] = element;
}
}
for (int j = 0; j < array_size; j++)
{
cout << array[j] << endl;
}
}
void random_method(int* array, int array_size) {
srand(time(NULL));
int max_num;
cout << "Ââåäèòå ìàêñèìàëüíîå çíà÷åíèå ýëåìåíòà(Íå äîëæíî ïðåâûøàòü 99): ";
cin >> max_num;
if (max_num > 99 || max_num < 0) {
cout << "Âû ââåëè íåäîñòóïíîå çíà÷åíèå ýëåìåíòà ìàññèâà";
}
else {
for (int i = 0; i < array_size; i++)
{
array[i] = rand() % max_num;
}
for (int j = 0; j < array_size; j++)
{
cout << array[j] << endl;
}
}
}
void read_from_file_method(int* array,int array_size) {
string file_name;
cout << "Óêàæèòå èìÿ ôàéëà è ôîðìàò: ";
cin >> file_name;
ofstream File(file_name);
cout << "Çàïîëíèòå ôàéë" << endl;
for (int i = 0; i < array_size; i++)
{
int element;
cin >> element;
File << element << " ";
//array[i] = element;
}
File.close();
/*
File.open(file_name);
if (File)
{
for (int i = 0; i < array_size; i++)
{
File >> array[i];
cout << array[i];
}
}
else
{
cout << "Ôàéëà íå ñóùåñòâóåò.";
EXIT_FAILURE;
}
File.close();
*/
}
Header файл
#pragma once
void keyboard_method(int* array, int array_size);
void random_method(int* array, int array_size);
void read_from_file_method(int* array, int array_size);