diff --git a/15/Lab15/Lab15.cpp b/15/Lab15/Lab15.cpp new file mode 100644 index 0000000..e682d09 --- /dev/null +++ b/15/Lab15/Lab15.cpp @@ -0,0 +1,97 @@ +#include +#include +using namespace std; + + +int findMinIndex(double* arr, int size) { + int minIndex = 0; + + for (int i = 1; i < size; i++) { + if (arr[i] < arr[minIndex]) { + minIndex = i; + } + } + + return minIndex; +} + +int findMaxIndex(double* arr, int size) { + int maxIndex = 0; + + for (int i = 1; i < size; i++) { + if (arr[i] > arr[maxIndex]) { + maxIndex = i; + } + } + + return maxIndex; +} + +void swapMinMax(double* arr, int size) { + int minIndex = findMinIndex(arr, size); + int maxIndex = findMaxIndex(arr, size); + + double temp = arr[minIndex]; + arr[minIndex] = arr[maxIndex]; + arr[maxIndex] = temp; +} + +int main() { + + SetConsoleOutputCP(CP_UTF8); + + int n, i; + double* arr; + + cout << "Введіть кількість елементів послідовності: "; + cin >> n; + + arr = new double[n]; + + for (i = 0; i < n; i++) { + cout << "Введіть " << i + 1 << "-й елемент: "; + cin >> arr[i]; + } + + // шукаємо перше від'ємне число + int firstNegativeIndex = -1; + for (i = 0; i < n; i++) { + if (arr[i] < 0) { + firstNegativeIndex = i; + break; + } + } + + if (firstNegativeIndex == -1) { + cout << "У послідовності немає від'ємних чисел." << endl; + return 0; + } + + // виділяємо пам'ять для нового масиву + int new_size = n - firstNegativeIndex - 1; + double* new_arr = new double[new_size]; + + // копіюємо елементи від першого від'ємного числа в новий масив + for (i = firstNegativeIndex + 1; i < n; i++) { + new_arr[i - firstNegativeIndex - 1] = arr[i]; + } + + // виводимо новий масив + cout << "Новий масив: "; + for (i = 0; i < new_size; i++) { + cout << new_arr[i] << " "; + } + cout << endl; + + // міняємо місцями мінімальний та максимальний елементи в новому масиві + swapMinMax(new_arr, new_size); + + // виводимо новий масив + cout << "Новий масив зі зміненими місцями мінімального та максимального елементів: "; + for (i = 0; i < new_size; i++) { + cout << new_arr[i] << " "; + } + cout << endl; + + return 0; +} \ No newline at end of file diff --git a/15/Lab15/Lab15.sln b/15/Lab15/Lab15.sln new file mode 100644 index 0000000..3cbe36c --- /dev/null +++ b/15/Lab15/Lab15.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32929.385 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lab15", "Lab15.vcxproj", "{AFCC3C29-27EB-4608-947B-1F4E4FFE78BC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AFCC3C29-27EB-4608-947B-1F4E4FFE78BC}.Debug|x64.ActiveCfg = Debug|x64 + {AFCC3C29-27EB-4608-947B-1F4E4FFE78BC}.Debug|x64.Build.0 = Debug|x64 + {AFCC3C29-27EB-4608-947B-1F4E4FFE78BC}.Debug|x86.ActiveCfg = Debug|Win32 + {AFCC3C29-27EB-4608-947B-1F4E4FFE78BC}.Debug|x86.Build.0 = Debug|Win32 + {AFCC3C29-27EB-4608-947B-1F4E4FFE78BC}.Release|x64.ActiveCfg = Release|x64 + {AFCC3C29-27EB-4608-947B-1F4E4FFE78BC}.Release|x64.Build.0 = Release|x64 + {AFCC3C29-27EB-4608-947B-1F4E4FFE78BC}.Release|x86.ActiveCfg = Release|Win32 + {AFCC3C29-27EB-4608-947B-1F4E4FFE78BC}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {2F70985F-2A04-4548-93A5-51FFA235AF3C} + EndGlobalSection +EndGlobal diff --git a/15/Lab15/Lab15.vcxproj b/15/Lab15/Lab15.vcxproj new file mode 100644 index 0000000..2acd716 --- /dev/null +++ b/15/Lab15/Lab15.vcxproj @@ -0,0 +1,135 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {afcc3c29-27eb-4608-947b-1f4e4ffe78bc} + Lab15 + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/15/Lab15/Lab15.vcxproj.filters b/15/Lab15/Lab15.vcxproj.filters new file mode 100644 index 0000000..aa140b0 --- /dev/null +++ b/15/Lab15/Lab15.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file diff --git a/15/Lab15/Lab15.vcxproj.user b/15/Lab15/Lab15.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/15/Lab15/Lab15.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/15/Lab15/x64/Debug/Lab15.exe b/15/Lab15/x64/Debug/Lab15.exe new file mode 100644 index 0000000..a94ddd6 Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.exe differ diff --git a/15/Lab15/x64/Debug/Lab15.exe.recipe b/15/Lab15/x64/Debug/Lab15.exe.recipe new file mode 100644 index 0000000..0c90ffd --- /dev/null +++ b/15/Lab15/x64/Debug/Lab15.exe.recipe @@ -0,0 +1,11 @@ + + + + + D:\2 семестр\Технології програмування\Lab15\x64\Debug\Lab15.exe + + + + + + \ No newline at end of file diff --git a/15/Lab15/x64/Debug/Lab15.ilk b/15/Lab15/x64/Debug/Lab15.ilk new file mode 100644 index 0000000..ba2a88e Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.ilk differ diff --git a/15/Lab15/x64/Debug/Lab15.log b/15/Lab15/x64/Debug/Lab15.log new file mode 100644 index 0000000..4b29a2f --- /dev/null +++ b/15/Lab15/x64/Debug/Lab15.log @@ -0,0 +1,2 @@ + Lab15.cpp + Lab15.vcxproj -> D:\2 семестр\Технології програмування\Lab15\x64\Debug\Lab15.exe diff --git a/15/Lab15/x64/Debug/Lab15.obj b/15/Lab15/x64/Debug/Lab15.obj new file mode 100644 index 0000000..681bcc8 Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.obj differ diff --git a/15/Lab15/x64/Debug/Lab15.pdb b/15/Lab15/x64/Debug/Lab15.pdb new file mode 100644 index 0000000..77b1e8a Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.pdb differ diff --git a/15/Lab15/x64/Debug/Lab15.tlog/CL.command.1.tlog b/15/Lab15/x64/Debug/Lab15.tlog/CL.command.1.tlog new file mode 100644 index 0000000..4780ada Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.tlog/CL.command.1.tlog differ diff --git a/15/Lab15/x64/Debug/Lab15.tlog/CL.read.1.tlog b/15/Lab15/x64/Debug/Lab15.tlog/CL.read.1.tlog new file mode 100644 index 0000000..49fe0d3 Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.tlog/CL.read.1.tlog differ diff --git a/15/Lab15/x64/Debug/Lab15.tlog/CL.write.1.tlog b/15/Lab15/x64/Debug/Lab15.tlog/CL.write.1.tlog new file mode 100644 index 0000000..82d3ce3 Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.tlog/CL.write.1.tlog differ diff --git a/15/Lab15/x64/Debug/Lab15.tlog/Lab15.lastbuildstate b/15/Lab15/x64/Debug/Lab15.tlog/Lab15.lastbuildstate new file mode 100644 index 0000000..2e74a0a --- /dev/null +++ b/15/Lab15/x64/Debug/Lab15.tlog/Lab15.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.33.31629:TargetPlatformVersion=10.0.19041.0: +Debug|x64|D:\2 семестр\Технології програмування\Lab15\| diff --git a/15/Lab15/x64/Debug/Lab15.tlog/link.command.1.tlog b/15/Lab15/x64/Debug/Lab15.tlog/link.command.1.tlog new file mode 100644 index 0000000..d21cf18 Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.tlog/link.command.1.tlog differ diff --git a/15/Lab15/x64/Debug/Lab15.tlog/link.read.1.tlog b/15/Lab15/x64/Debug/Lab15.tlog/link.read.1.tlog new file mode 100644 index 0000000..a6b6d3a Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.tlog/link.read.1.tlog differ diff --git a/15/Lab15/x64/Debug/Lab15.tlog/link.write.1.tlog b/15/Lab15/x64/Debug/Lab15.tlog/link.write.1.tlog new file mode 100644 index 0000000..b1bc175 Binary files /dev/null and b/15/Lab15/x64/Debug/Lab15.tlog/link.write.1.tlog differ diff --git a/15/Lab15/x64/Debug/Lab15.vcxproj.FileListAbsolute.txt b/15/Lab15/x64/Debug/Lab15.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000..1ac57d8 --- /dev/null +++ b/15/Lab15/x64/Debug/Lab15.vcxproj.FileListAbsolute.txt @@ -0,0 +1 @@ +D:\2 семестр\Технології програмування\Lab15\x64\Debug\Lab15.exe diff --git a/15/Lab15/x64/Debug/vc143.idb b/15/Lab15/x64/Debug/vc143.idb new file mode 100644 index 0000000..df3e8de Binary files /dev/null and b/15/Lab15/x64/Debug/vc143.idb differ diff --git a/15/Lab15/x64/Debug/vc143.pdb b/15/Lab15/x64/Debug/vc143.pdb new file mode 100644 index 0000000..a05601f Binary files /dev/null and b/15/Lab15/x64/Debug/vc143.pdb differ