From 875f4f3dc766dbb19848db58350d4e5e10559ad8 Mon Sep 17 00:00:00 2001 From: linyongji <lyj18391569527@163.com> Date: Mon, 18 Jan 2021 12:46:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=94=AF9=E5=AE=8C=E6=88=90=E9=A2=98?= =?UTF-8?q?=E7=9B=AE=EF=BC=8C=E5=81=9A=E4=BA=86=E5=8D=95=E5=85=83=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +++ Alogrithm/.vs/Alogrithm/v16/.suo | Bin 80384 -> 80384 bytes Alogrithm/Alogrithm/Alogrithm.vcxproj | 3 ++ Alogrithm/Alogrithm/Alogrithm.vcxproj.filters | 9 +++++ Alogrithm/Alogrithm/config/9_AddBinary.ini | 20 +++++++++++ Alogrithm/Alogrithm/include/9_AddBinary.h | 6 ++++ Alogrithm/Alogrithm/src/9_AddBinary.cpp | 32 ++++++++++++++++++ Alogrithm/UnitTest/UnitTest.cpp | 22 +++++++++++- Alogrithm/UnitTest/UnitTest.vcxproj | 2 +- Alogrithm/UnitTest/pch.h | 1 + 10 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 Alogrithm/Alogrithm/config/9_AddBinary.ini create mode 100644 Alogrithm/Alogrithm/include/9_AddBinary.h create mode 100644 Alogrithm/Alogrithm/src/9_AddBinary.cpp diff --git a/.gitignore b/.gitignore index 056950b..629070a 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,7 @@ Alogrithm/.vs/Alogrithm/v16/TestStore/3/001.testlog Alogrithm/Alogrithm/Debug/7_MaxDepth.obj Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/5507929c4351e38d/8_HAMMINGWEIGHT.ipch Alogrithm/Alogrithm/Debug/8_HammingWeight.obj +Alogrithm/.vs/Alogrithm/v16/TestStore/3/002.testlog +Alogrithm/Alogrithm/Debug/9_AddBinary.obj +Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/27a527fda8b54c6b/9_ADDBINARY.ipch +Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/d00489e06883ba57/9_ ADDBINARY.ipch diff --git a/Alogrithm/.vs/Alogrithm/v16/.suo b/Alogrithm/.vs/Alogrithm/v16/.suo index 19cc6de74295565349b93e19bf3c81d9f560e485..f1e99816617e0b0ba66a8f1626f5140bf6a894d8 100644 GIT binary patch delta 7861 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 delta 6053 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 AhX4Qo diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj b/Alogrithm/Alogrithm/Alogrithm.vcxproj index 2f9ea17..847bf41 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj @@ -148,6 +148,7 @@ <ClCompile Include="src\6_ContainsDuplicate.cpp" /> <ClCompile Include="src\7_MaxDepth.cpp" /> <ClCompile Include="src\8_HammingWeight.cpp" /> + <ClCompile Include="src\9_AddBinary.cpp" /> <ClCompile Include="src\main.cpp" /> </ItemGroup> <ItemGroup> @@ -159,6 +160,7 @@ <ClInclude Include="include\6_ContainsDuplicate.h" /> <ClInclude Include="include\7_MaxDepth.h" /> <ClInclude Include="include\8_HammingWeight.h" /> + <ClInclude Include="include\9_AddBinary.h" /> </ItemGroup> <ItemGroup> <None Include="config\1_ContainsNearbyDuplicate.ini" /> @@ -169,6 +171,7 @@ <None Include="config\6_ContainsDuplicate.ini" /> <None Include="config\7_MaxDepth.ini" /> <None Include="config\8_HammingWeight.ini" /> + <None Include="config\9_AddBinary.ini" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters index 4b6745b..61f2f35 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters @@ -51,6 +51,9 @@ <ClCompile Include="src\8_HammingWeight.cpp"> <Filter>源文件\src</Filter> </ClCompile> + <ClCompile Include="src\9_AddBinary.cpp"> + <Filter>源文件\src</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="include\2_ExcelSheetColumnTitle.h"> @@ -77,6 +80,9 @@ <ClInclude Include="include\8_HammingWeight.h"> <Filter>头文件\include</Filter> </ClInclude> + <ClInclude Include="include\9_AddBinary.h"> + <Filter>头文件\include</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <None Include="config\3_bool IsUgly.ini"> @@ -103,5 +109,8 @@ <None Include="config\8_HammingWeight.ini"> <Filter>资源文件\config</Filter> </None> + <None Include="config\9_AddBinary.ini"> + <Filter>资源文件\config</Filter> + </None> </ItemGroup> </Project> \ No newline at end of file diff --git a/Alogrithm/Alogrithm/config/9_AddBinary.ini b/Alogrithm/Alogrithm/config/9_AddBinary.ini new file mode 100644 index 0000000..0342992 --- /dev/null +++ b/Alogrithm/Alogrithm/config/9_AddBinary.ini @@ -0,0 +1,20 @@ +[TEST1] +input1=11 +input2=1 +output=100 +[TEST2] +input1=1100 +input2=11 +output=1111 +[TEST3] +input1=1100011 +input2=1001 +output=1101100 +[TEST4] +input1=1100011 +input2=1000 +output=1101011 +[TEST5] +input1=110001100 +input2=11 +output=110001111 \ No newline at end of file diff --git a/Alogrithm/Alogrithm/include/9_AddBinary.h b/Alogrithm/Alogrithm/include/9_AddBinary.h new file mode 100644 index 0000000..1382b1a --- /dev/null +++ b/Alogrithm/Alogrithm/include/9_AddBinary.h @@ -0,0 +1,6 @@ +#pragma once +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +char* AddBinary(char* a, char* b); \ No newline at end of file diff --git a/Alogrithm/Alogrithm/src/9_AddBinary.cpp b/Alogrithm/Alogrithm/src/9_AddBinary.cpp new file mode 100644 index 0000000..fedc668 --- /dev/null +++ b/Alogrithm/Alogrithm/src/9_AddBinary.cpp @@ -0,0 +1,32 @@ +#include"../include/9_AddBinary.h" + +char* AddBinary(char* a, char* b) +{ + int len_a = strlen(a) - 1;//����ַ���a�ij��� + int len_b = strlen(b) - 1;//����ַ���b�ij��� + int carry = 0;//��λ��־ + int len = len_a > len_b ? len_a : len_b;//��ȡ�����ַ����г��Ƚϳ�����һ�� + + char* pstr = (char*)malloc(sizeof(char) * (len + 3));//����һ��ָ����Ϊ����ֵ������������ռ���Ϊ�˷�ֹ�н�λ���ַ���β��־\0 + if (NULL == pstr) + return NULL; + pstr[len + 2] = '\0';//���ַ���ĩβ��\0 + len = len + 1; + while ((len_a >= 0) || (len_b >= 0)) {//ֻҪ�����ַ�����һ��û�����꣬���������������������ַ�����ĩβ��ʼ���� + int sum = carry;//sum��������a[len_a]��b[len_b]��carry��ӵĽ����sum����Ϊ��0,1,2,3 + sum += (len_a >= 0 ? a[len_a] - '0' : 0); + sum += (len_b >= 0 ? b[len_b] - '0' : 0); + carry = sum / 2;//��sum=2��3ʱ��Ҫ��λ��2��ʾ��a[a_len]��b[b_len]���Ҫ��λ��3��ʾ����һλ��Ҫ��λ + pstr[len] = '0' + sum % 2;//��pstr[len]��ֵ�� + len_a--, len_b--, len--; + } + //�ж�Ҫ��Ҫ��ǰ��0 + if (carry == 0) { + return (pstr + 1);//ָ���һ����ʾָ������ƶ����������������λ�Ļ�ָ���ָ���0����һλ�� + } + else { + pstr[0] = '1'; + return pstr; + } + //free(pstr); +} \ No newline at end of file diff --git a/Alogrithm/UnitTest/UnitTest.cpp b/Alogrithm/UnitTest/UnitTest.cpp index 041ba31..aec922b 100644 --- a/Alogrithm/UnitTest/UnitTest.cpp +++ b/Alogrithm/UnitTest/UnitTest.cpp @@ -10,7 +10,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; #define FileName_6 "../Alogrithm/config/6_ContainsDuplicate.ini" #define FileName_7 "../Alogrithm/config/7_MaxDepth.ini" #define FileName_8 "../Alogrithm/config/8_HammingWeight.ini" - +#define FileName_9 "../Alogrithm/config/9_AddBinary.ini" namespace UnitTest @@ -150,4 +150,24 @@ namespace UnitTest } } }; + TEST_CLASS(UnitTest_9) + { + TEST_METHOD(TestMethode1) + { + char Section_Name[100][10] = { 0 }; + int Section_Count = CalcCount(100, Section_Name, FileName_9); + CString input1,input2, output; + for (int i = 0; i < Section_Count; i++) { + GetPrivateProfileString(Section_Name[i], "input1", " ", input1.GetBuffer(100), 100, FileName_9); + GetPrivateProfileString(Section_Name[i], "input2", " ", input2.GetBuffer(100), 100, FileName_9); + GetPrivateProfileString(Section_Name[i], "output", " ", output.GetBuffer(200), 200, FileName_9); + char p1[100]; + char p2[100]; + strcpy(p1, input1); + strcpy(p2, input2); + char* nReal = AddBinary(p1,p2); + Assert::AreEqual(nReal, output); + } + } + }; } diff --git a/Alogrithm/UnitTest/UnitTest.vcxproj b/Alogrithm/UnitTest/UnitTest.vcxproj index f6b117a..f96836e 100644 --- a/Alogrithm/UnitTest/UnitTest.vcxproj +++ b/Alogrithm/UnitTest/UnitTest.vcxproj @@ -103,7 +103,7 @@ <SubSystem>Windows</SubSystem> <AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <GenerateDebugInformation>DebugFull</GenerateDebugInformation> - <AdditionalDependencies>../Alogrithm/Debug/1_ContainsNearbyDuplicate.obj;../Alogrithm/Debug/2_ExcelSheetColumnTitle.obj;../Alogrithm/Debug/3_bool IsUgly.obj;../Alogrithm/Debug/4_IsPalindrome.obj;../Alogrithm/Debug/5_MinDepth.obj;../Alogrithm/Debug/6_ContainsDuplicate.obj;../Alogrithm/Debug/7_MaxDepth.obj;../Alogrithm/Debug/8_HammingWeight.obj;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>../Alogrithm/Debug/1_ContainsNearbyDuplicate.obj;../Alogrithm/Debug/2_ExcelSheetColumnTitle.obj;../Alogrithm/Debug/3_bool IsUgly.obj;../Alogrithm/Debug/4_IsPalindrome.obj;../Alogrithm/Debug/5_MinDepth.obj;../Alogrithm/Debug/6_ContainsDuplicate.obj;../Alogrithm/Debug/7_MaxDepth.obj;../Alogrithm/Debug/8_HammingWeight.obj;../Alogrithm/Debug/9_AddBinary.obj;%(AdditionalDependencies)</AdditionalDependencies> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> diff --git a/Alogrithm/UnitTest/pch.h b/Alogrithm/UnitTest/pch.h index accfddc..52a9d5c 100644 --- a/Alogrithm/UnitTest/pch.h +++ b/Alogrithm/UnitTest/pch.h @@ -21,6 +21,7 @@ #include"../Alogrithm/include/6_ContainsDuplicate.h" #include"../Alogrithm/include/7_MaxDepth.h" #include"../Alogrithm/include/8_HammingWeight.h" +#include"../Alogrithm/include/9_AddBinary.h" int CalcCount(int n, char(*str)[10],const char *FileName);