From 2ffa7e9a39aa54b1a31e5a8a3652735438c61b00 Mon Sep 17 00:00:00 2001 From: Kaehvaman Date: Sun, 10 Nov 2024 13:45:07 +0400 Subject: [PATCH] a lot of changes --- clock/clock.sln | 31 ++++++ clock/clock.vcxproj | 135 ++++++++++++++++++++++++ clock/clock.vcxproj.filters | 22 ++++ clock/main.c | 16 +++ conversions/conversions.sln | 31 ++++++ conversions/conversions.vcxproj | 135 ++++++++++++++++++++++++ conversions/conversions.vcxproj.filters | 22 ++++ conversions/main.c | 15 +++ lab17/lab17/main.c | 15 +-- lab17/lab17/trace.txt | 15 --- lab18/lab18/lab18.cpp | 4 +- lab19/lab19/main.c | 2 +- lab19/lab19/randbin/bin0 | Bin 32768 -> 11 bytes lab20/lab20.sln | 31 ++++++ lab20/lab20/lab20.vcxproj | 135 ++++++++++++++++++++++++ lab20/lab20/lab20.vcxproj.filters | 22 ++++ lab20/lab20/main.c | 6 ++ logic/logic.sln | 31 ++++++ logic/logic.vcxproj | 135 ++++++++++++++++++++++++ logic/logic.vcxproj.filters | 22 ++++ logic/main.c | 16 +++ threads/main.c | 15 +++ threads/threads.sln | 31 ++++++ threads/threads.vcxproj | 135 ++++++++++++++++++++++++ threads/threads.vcxproj.filters | 22 ++++ 25 files changed, 1015 insertions(+), 29 deletions(-) create mode 100644 clock/clock.sln create mode 100644 clock/clock.vcxproj create mode 100644 clock/clock.vcxproj.filters create mode 100644 clock/main.c create mode 100644 conversions/conversions.sln create mode 100644 conversions/conversions.vcxproj create mode 100644 conversions/conversions.vcxproj.filters create mode 100644 conversions/main.c create mode 100644 lab20/lab20.sln create mode 100644 lab20/lab20/lab20.vcxproj create mode 100644 lab20/lab20/lab20.vcxproj.filters create mode 100644 lab20/lab20/main.c create mode 100644 logic/logic.sln create mode 100644 logic/logic.vcxproj create mode 100644 logic/logic.vcxproj.filters create mode 100644 logic/main.c create mode 100644 threads/main.c create mode 100644 threads/threads.sln create mode 100644 threads/threads.vcxproj create mode 100644 threads/threads.vcxproj.filters diff --git a/clock/clock.sln b/clock/clock.sln new file mode 100644 index 0000000..4d80de5 --- /dev/null +++ b/clock/clock.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35222.181 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "clock", "clock.vcxproj", "{268761F2-AF30-432D-91DF-77542792A4AB}" +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 + {268761F2-AF30-432D-91DF-77542792A4AB}.Debug|x64.ActiveCfg = Debug|x64 + {268761F2-AF30-432D-91DF-77542792A4AB}.Debug|x64.Build.0 = Debug|x64 + {268761F2-AF30-432D-91DF-77542792A4AB}.Debug|x86.ActiveCfg = Debug|Win32 + {268761F2-AF30-432D-91DF-77542792A4AB}.Debug|x86.Build.0 = Debug|Win32 + {268761F2-AF30-432D-91DF-77542792A4AB}.Release|x64.ActiveCfg = Release|x64 + {268761F2-AF30-432D-91DF-77542792A4AB}.Release|x64.Build.0 = Release|x64 + {268761F2-AF30-432D-91DF-77542792A4AB}.Release|x86.ActiveCfg = Release|Win32 + {268761F2-AF30-432D-91DF-77542792A4AB}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C3BF0543-6AB5-420A-8BD4-2235A53DF4C4} + EndGlobalSection +EndGlobal diff --git a/clock/clock.vcxproj b/clock/clock.vcxproj new file mode 100644 index 0000000..2fe3d14 --- /dev/null +++ b/clock/clock.vcxproj @@ -0,0 +1,135 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {268761f2-af30-432d-91df-77542792a4ab} + clock + 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/clock/clock.vcxproj.filters b/clock/clock.vcxproj.filters new file mode 100644 index 0000000..669bc4e --- /dev/null +++ b/clock/clock.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 + + + + + Исходные файлы + + + \ No newline at end of file diff --git a/clock/main.c b/clock/main.c new file mode 100644 index 0000000..168956b --- /dev/null +++ b/clock/main.c @@ -0,0 +1,16 @@ +#include +#include +#include +#include + + +int main() { + int n = 10, sl = 10, last_clock = 0; + clock_t start = clock(); + for (int i = 0; i < n; i++) { + printf_s("%d\n", i); + Sleep(sl); + } + printf_s("time = %.3lf seconds\nexpected %d seconds %lf", (double)(clock() - start) / (double)CLOCKS_PER_SEC, n * sl / 1000, 0.3300000000000000000000); + return 0; +} \ No newline at end of file diff --git a/conversions/conversions.sln b/conversions/conversions.sln new file mode 100644 index 0000000..5111a78 --- /dev/null +++ b/conversions/conversions.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35222.181 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "conversions", "conversions.vcxproj", "{D7D3694E-189B-4AA9-AE3C-CEC7985C856B}" +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 + {D7D3694E-189B-4AA9-AE3C-CEC7985C856B}.Debug|x64.ActiveCfg = Debug|x64 + {D7D3694E-189B-4AA9-AE3C-CEC7985C856B}.Debug|x64.Build.0 = Debug|x64 + {D7D3694E-189B-4AA9-AE3C-CEC7985C856B}.Debug|x86.ActiveCfg = Debug|Win32 + {D7D3694E-189B-4AA9-AE3C-CEC7985C856B}.Debug|x86.Build.0 = Debug|Win32 + {D7D3694E-189B-4AA9-AE3C-CEC7985C856B}.Release|x64.ActiveCfg = Release|x64 + {D7D3694E-189B-4AA9-AE3C-CEC7985C856B}.Release|x64.Build.0 = Release|x64 + {D7D3694E-189B-4AA9-AE3C-CEC7985C856B}.Release|x86.ActiveCfg = Release|Win32 + {D7D3694E-189B-4AA9-AE3C-CEC7985C856B}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {78048FC0-18B8-440A-B1D2-DFFD10408223} + EndGlobalSection +EndGlobal diff --git a/conversions/conversions.vcxproj b/conversions/conversions.vcxproj new file mode 100644 index 0000000..d636fc6 --- /dev/null +++ b/conversions/conversions.vcxproj @@ -0,0 +1,135 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {d7d3694e-189b-4aa9-ae3c-cec7985c856b} + conversions + 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/conversions/conversions.vcxproj.filters b/conversions/conversions.vcxproj.filters new file mode 100644 index 0000000..669bc4e --- /dev/null +++ b/conversions/conversions.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 + + + + + Исходные файлы + + + \ No newline at end of file diff --git a/conversions/main.c b/conversions/main.c new file mode 100644 index 0000000..3844d83 --- /dev/null +++ b/conversions/main.c @@ -0,0 +1,15 @@ +#include +#include + +int main() { + double n = 0.33; + double sum = 0; + int base = 8; + for (int i = 0; i < 10; i++) { + printf_s("%d", (int)(n * base)); + sum += (int)(n * base) * pow(base, -1 - i); + n = n * base - (int)(n * base); + } + printf_s("\n%lf", sum); + return 0; +} \ No newline at end of file diff --git a/lab17/lab17/main.c b/lab17/lab17/main.c index 7128821..2b1c93b 100644 --- a/lab17/lab17/main.c +++ b/lab17/lab17/main.c @@ -28,19 +28,12 @@ void f2(int n, FILE* f) { fprintf(f, "f2(%d) -> print(%d) \n", n, n); } -void f3(int n, FILE* f) { +void f3(int n) { printf_s("%d ", n); - fprintf(f, "f3(%d) -> print(%d) \n", n, n); - if (n > 3) { - f3(n - 2, f); - fprintf(f, "f3(%d) returned \n", n - 2); - } - if (n == 3) { - printf_s("1 "); - fprintf(f, "f3(%d) && n == 3 -> print(%d) \n", n, 1); + if (n > 1) { + f3(n - 2); } printf_s("%d ", n); - fprintf(f, "f3(%d) -> print(%d) \n", n, n); } void recEGE1(int n, FILE* f) { @@ -121,7 +114,7 @@ int main() { fprintf(fout, "\n"); printf_s("\n\n"); - f3(11, fout); + f3(11); fprintf(fout, "f3(%d) returned\n", 11); fprintf(fout, "\n"); diff --git a/lab17/lab17/trace.txt b/lab17/lab17/trace.txt index 25775bf..7f62296 100644 --- a/lab17/lab17/trace.txt +++ b/lab17/lab17/trace.txt @@ -24,21 +24,6 @@ f2(9) returned f2(11) -> print(11) f2(11) returned -f3(11) -> print(11) -f3(9) -> print(9) -f3(7) -> print(7) -f3(5) -> print(5) -f3(3) -> print(3) -f3(3) && n == 3 -> print(1) -f3(3) -> print(3) -f3(3) returned -f3(5) -> print(5) -f3(5) returned -f3(7) -> print(7) -f3(7) returned -f3(9) -> print(9) -f3(9) returned -f3(11) -> print(11) f3(11) returned recEGE1(3) && (n >= 1) == true -> print( 3) diff --git a/lab18/lab18/lab18.cpp b/lab18/lab18/lab18.cpp index 48db58e..61d99e1 100644 --- a/lab18/lab18/lab18.cpp +++ b/lab18/lab18/lab18.cpp @@ -259,8 +259,8 @@ void drawRecursiveCircle(HDC hdc, int cx, int cy, int size, int i) { i--; circlecount++; - static HFONT hFont = CreateFontW(18, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_OUTLINE_PRECIS, - CLIP_DEFAULT_PRECIS, PROOF_QUALITY, VARIABLE_PITCH, TEXT("Consolas")); + static HFONT hFont = CreateFontW(18, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, + OUT_OUTLINE_PRECIS, CLIP_DEFAULT_PRECIS, PROOF_QUALITY, VARIABLE_PITCH, TEXT("Consolas")); SelectObject(hdc, hFont); SetTextColor(hdc, RGB(0, 0, 0)); diff --git a/lab19/lab19/main.c b/lab19/lab19/main.c index e0c451d..9aaafa8 100644 --- a/lab19/lab19/main.c +++ b/lab19/lab19/main.c @@ -351,7 +351,7 @@ int main() { //task5(); - createRandomBinFiles(32, 32 * 1024); + createRandomBinFiles(32, 64 * 1024 * 1024); printf_s("time = %.3lf seconds", (double)(clock() - start) / (double)CLOCKS_PER_SEC); diff --git a/lab19/lab19/randbin/bin0 b/lab19/lab19/randbin/bin0 index a3a66fdbcf0b967c470a5c7a72664b20e198566e..fb3f2b2d332072dd75e52349593fbd7e84172e7e 100644 GIT binary patch literal 11 Scmc~u%cw|6OUo!psQ>^QK?Iio literal 32768 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 XXg8HdKig}+Cv)~^m?ImTQ9~e|Te;WB diff --git a/lab20/lab20.sln b/lab20/lab20.sln new file mode 100644 index 0000000..2eac83f --- /dev/null +++ b/lab20/lab20.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35327.3 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lab20", "lab20\lab20.vcxproj", "{BEC1C9F8-3CA8-4228-9655-EC51B39ECA4B}" +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 + {BEC1C9F8-3CA8-4228-9655-EC51B39ECA4B}.Debug|x64.ActiveCfg = Debug|x64 + {BEC1C9F8-3CA8-4228-9655-EC51B39ECA4B}.Debug|x64.Build.0 = Debug|x64 + {BEC1C9F8-3CA8-4228-9655-EC51B39ECA4B}.Debug|x86.ActiveCfg = Debug|Win32 + {BEC1C9F8-3CA8-4228-9655-EC51B39ECA4B}.Debug|x86.Build.0 = Debug|Win32 + {BEC1C9F8-3CA8-4228-9655-EC51B39ECA4B}.Release|x64.ActiveCfg = Release|x64 + {BEC1C9F8-3CA8-4228-9655-EC51B39ECA4B}.Release|x64.Build.0 = Release|x64 + {BEC1C9F8-3CA8-4228-9655-EC51B39ECA4B}.Release|x86.ActiveCfg = Release|Win32 + {BEC1C9F8-3CA8-4228-9655-EC51B39ECA4B}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D9DF22E7-12A5-4CCF-A78D-F7E81AE12588} + EndGlobalSection +EndGlobal diff --git a/lab20/lab20/lab20.vcxproj b/lab20/lab20/lab20.vcxproj new file mode 100644 index 0000000..6967813 --- /dev/null +++ b/lab20/lab20/lab20.vcxproj @@ -0,0 +1,135 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {bec1c9f8-3ca8-4228-9655-ec51b39eca4b} + lab20 + 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/lab20/lab20/lab20.vcxproj.filters b/lab20/lab20/lab20.vcxproj.filters new file mode 100644 index 0000000..669bc4e --- /dev/null +++ b/lab20/lab20/lab20.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 + + + + + Исходные файлы + + + \ No newline at end of file diff --git a/lab20/lab20/main.c b/lab20/lab20/main.c new file mode 100644 index 0000000..f8f766b --- /dev/null +++ b/lab20/lab20/main.c @@ -0,0 +1,6 @@ +#include + +int main() { + + return 0; +} \ No newline at end of file diff --git a/logic/logic.sln b/logic/logic.sln new file mode 100644 index 0000000..fa90985 --- /dev/null +++ b/logic/logic.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35222.181 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "logic", "logic.vcxproj", "{0837E6C8-2FDD-4B18-AD59-96E8B75A0E75}" +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 + {0837E6C8-2FDD-4B18-AD59-96E8B75A0E75}.Debug|x64.ActiveCfg = Debug|x64 + {0837E6C8-2FDD-4B18-AD59-96E8B75A0E75}.Debug|x64.Build.0 = Debug|x64 + {0837E6C8-2FDD-4B18-AD59-96E8B75A0E75}.Debug|x86.ActiveCfg = Debug|Win32 + {0837E6C8-2FDD-4B18-AD59-96E8B75A0E75}.Debug|x86.Build.0 = Debug|Win32 + {0837E6C8-2FDD-4B18-AD59-96E8B75A0E75}.Release|x64.ActiveCfg = Release|x64 + {0837E6C8-2FDD-4B18-AD59-96E8B75A0E75}.Release|x64.Build.0 = Release|x64 + {0837E6C8-2FDD-4B18-AD59-96E8B75A0E75}.Release|x86.ActiveCfg = Release|Win32 + {0837E6C8-2FDD-4B18-AD59-96E8B75A0E75}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {841C0A48-DE0D-41D2-B431-8CEF53A52D00} + EndGlobalSection +EndGlobal diff --git a/logic/logic.vcxproj b/logic/logic.vcxproj new file mode 100644 index 0000000..f27e045 --- /dev/null +++ b/logic/logic.vcxproj @@ -0,0 +1,135 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {0837e6c8-2fdd-4b18-ad59-96e8b75a0e75} + logic + 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/logic/logic.vcxproj.filters b/logic/logic.vcxproj.filters new file mode 100644 index 0000000..669bc4e --- /dev/null +++ b/logic/logic.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 + + + + + Исходные файлы + + + \ No newline at end of file diff --git a/logic/main.c b/logic/main.c new file mode 100644 index 0000000..1585324 --- /dev/null +++ b/logic/main.c @@ -0,0 +1,16 @@ +#include +#include + +int f(int A, int B) { + return (A and B) == (((not B) <= (not A)) xor A); +} + +int main() { + printf_s("A B f\n"); + for (int A = 0; A <= 1; A++) { + for (int B = 0; B <= 1; B++) { + printf_s("%d %d %d\n", A, B, f(A, B)); + } + } + return 0; +} diff --git a/threads/main.c b/threads/main.c new file mode 100644 index 0000000..d83858b --- /dev/null +++ b/threads/main.c @@ -0,0 +1,15 @@ +#include +#include +#include + +void thrd_func(int* i) { + printf_s("%d\n", *i); +} + +int main() { + thrd_t* threads[10]; + for (int i = 0; i < 10; i++) { + thrd_create(threads[i], thrd_func, &i); + } + return 0; +} \ No newline at end of file diff --git a/threads/threads.sln b/threads/threads.sln new file mode 100644 index 0000000..979afa4 --- /dev/null +++ b/threads/threads.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35222.181 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "threads", "threads.vcxproj", "{0D89D366-F1EE-4FF3-AF21-0E209449319E}" +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 + {0D89D366-F1EE-4FF3-AF21-0E209449319E}.Debug|x64.ActiveCfg = Debug|x64 + {0D89D366-F1EE-4FF3-AF21-0E209449319E}.Debug|x64.Build.0 = Debug|x64 + {0D89D366-F1EE-4FF3-AF21-0E209449319E}.Debug|x86.ActiveCfg = Debug|Win32 + {0D89D366-F1EE-4FF3-AF21-0E209449319E}.Debug|x86.Build.0 = Debug|Win32 + {0D89D366-F1EE-4FF3-AF21-0E209449319E}.Release|x64.ActiveCfg = Release|x64 + {0D89D366-F1EE-4FF3-AF21-0E209449319E}.Release|x64.Build.0 = Release|x64 + {0D89D366-F1EE-4FF3-AF21-0E209449319E}.Release|x86.ActiveCfg = Release|Win32 + {0D89D366-F1EE-4FF3-AF21-0E209449319E}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BACEAC8C-D7B3-4929-952A-9A23E610A197} + EndGlobalSection +EndGlobal diff --git a/threads/threads.vcxproj b/threads/threads.vcxproj new file mode 100644 index 0000000..79454ee --- /dev/null +++ b/threads/threads.vcxproj @@ -0,0 +1,135 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {0d89d366-f1ee-4ff3-af21-0e209449319e} + threads + 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/threads/threads.vcxproj.filters b/threads/threads.vcxproj.filters new file mode 100644 index 0000000..669bc4e --- /dev/null +++ b/threads/threads.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 + + + + + Исходные файлы + + + \ No newline at end of file