Сравнить коммиты

...

Ничего общего в коммитах. 'master' и '467c8466df9de41a38a53b95007fe90b2036cd0a' имеют совершенно разные истории.

@ -1,85 +0,0 @@

#include <iostream>
#include <iomanip>
#include <bitset>
using namespace std;
// инструменты для исследований и отладки
// функции для печати
void print_in_hex(uint8_t byte) {
cout << setfill('0') << setw(2) << hex << (unsigned)byte << " ";
}
void print_in_hex(const void* data, size_t size) {
for (size_t i = 0; i < size; i++) {
cout << setfill('0') << setw(2) << hex << (unsigned)*((uint8_t*)data + i) << " ";
if ((i + 1) % 16 == 0)
cout << endl;
}
}
void print_in_binary(uint8_t byte) {
cout << setfill('0') << setw(8) << bitset<8>(byte) << " ";
}
void print_in_binary(const void* data, size_t size) {
for (size_t i = 0; i < size; i++) {
cout << setfill('0') << setw(8) << bitset<8>(*((uint8_t*)data + i)) << " ";
if ((i + 1) % 4 == 0)
cout << endl;
}
}
// побитовый калькулятор
int main()
{
uint16_t a, b, c;
char op;
cout << "101 & 100"; //вывод примеров
cout << endl;
cout << "102 | 100";
cout << endl;
cout << "103 ^ 100";
cout << endl;
cin >> a >> op >> b;
// операции
switch (op)
{
case '&':
c = a & b;
break;
case '|':
c = a | b;
break;
case '^':
c = a ^ b;
break;
default:
c = 0;
break;
}
print_in_hex(&a, sizeof(a));
cout << op << " ";
print_in_hex(&b, sizeof(b));
cout << "= ";
print_in_hex(&c, sizeof(c));
cout << endl;
print_in_binary(&a, sizeof(a));
cout << op << " ";
print_in_binary(&b, sizeof(b));
cout << "= ";
print_in_binary(&c, sizeof(c));
cout << endl;
return 0;
}

@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.8.34330.188
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bits 1-2", "bits 1-2\bits 1-2.vcxproj", "{D4B87F64-4705-41E0-A047-B63DA220B9DD}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bits 4", "bits 4\bits 4.vcxproj", "{CEDC70AD-DC0C-436A-B728-EF4CC32E0C81}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -13,19 +13,19 @@ Global
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D4B87F64-4705-41E0-A047-B63DA220B9DD}.Debug|x64.ActiveCfg = Debug|x64
{D4B87F64-4705-41E0-A047-B63DA220B9DD}.Debug|x64.Build.0 = Debug|x64
{D4B87F64-4705-41E0-A047-B63DA220B9DD}.Debug|x86.ActiveCfg = Debug|Win32
{D4B87F64-4705-41E0-A047-B63DA220B9DD}.Debug|x86.Build.0 = Debug|Win32
{D4B87F64-4705-41E0-A047-B63DA220B9DD}.Release|x64.ActiveCfg = Release|x64
{D4B87F64-4705-41E0-A047-B63DA220B9DD}.Release|x64.Build.0 = Release|x64
{D4B87F64-4705-41E0-A047-B63DA220B9DD}.Release|x86.ActiveCfg = Release|Win32
{D4B87F64-4705-41E0-A047-B63DA220B9DD}.Release|x86.Build.0 = Release|Win32
{CEDC70AD-DC0C-436A-B728-EF4CC32E0C81}.Debug|x64.ActiveCfg = Debug|x64
{CEDC70AD-DC0C-436A-B728-EF4CC32E0C81}.Debug|x64.Build.0 = Debug|x64
{CEDC70AD-DC0C-436A-B728-EF4CC32E0C81}.Debug|x86.ActiveCfg = Debug|Win32
{CEDC70AD-DC0C-436A-B728-EF4CC32E0C81}.Debug|x86.Build.0 = Debug|Win32
{CEDC70AD-DC0C-436A-B728-EF4CC32E0C81}.Release|x64.ActiveCfg = Release|x64
{CEDC70AD-DC0C-436A-B728-EF4CC32E0C81}.Release|x64.Build.0 = Release|x64
{CEDC70AD-DC0C-436A-B728-EF4CC32E0C81}.Release|x86.ActiveCfg = Release|Win32
{CEDC70AD-DC0C-436A-B728-EF4CC32E0C81}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {60885E7F-23C6-456D-885B-76F61CFD9427}
SolutionGuid = {139BCBC1-22A6-49BB-9FA2-41ED0A385CE9}
EndGlobalSection
EndGlobal

@ -0,0 +1,77 @@
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
char fileName[260];
cin.getline(fileName, 260);
if (strchr(fileName, '*') || strchr(fileName, '"') || strchr(fileName, '<') ||
strchr(fileName, '>') || strchr(fileName, '?') || strchr(fileName, '|') ||
strchr(fileName + 2, ':') || (fileName[0] == ':')) {
cout << "Invalid path" << endl;
return 1;
}
if (fileName[1] == ':' && (!isalpha(fileName[0]) || fileName[2] != '\\')) {
cout << "Invalid path" << endl;
return 1;
}
if (strrchr(fileName, '.') && (strrchr(fileName, '.') > strrchr(fileName, '\\')) && (strrchr(fileName, '.') > strrchr(fileName, '/'))) {
char* ext = strrchr(fileName, '.') + 1;
if (strlen(ext) != 3) {
cout << "Invalid path" << endl;
return 1;
}
ext[0] = tolower(ext[0]);
ext[1] = tolower(ext[1]);
ext[2] = tolower(ext[2]);
if (strncmp(ext, "txt", 3) != 0) {
cout << "Invalid path" << endl;
return 1;
}
}
else {
strcat_s(fileName, 260, ".txt");
}
ifstream fin;
fin.open(fileName, ios_base::binary);
if (!fin.is_open()) {
cout << "Can't open file" << endl;
return 1;
}
fin.seekg(0, ios_base::_Seekend);
size_t size = fin.tellg();
fin.seekg(0, ios_base::_Seekbeg);
char* buf = new char[size];
fin.read(buf, size);
fin.close();
char str[64];
cin.getline(str, 64);
char* found = buf - 1;
uint16_t cnt = -1;
do {
++cnt;
++found;
found = strstr(found, str);
} while (found);
delete[] buf;
cout << cnt << " occurrences found" << endl;
cin.get();
return 0;
}

@ -21,8 +21,8 @@
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{d4b87f64-4705-41e0-a047-b63da220b9dd}</ProjectGuid>
<RootNamespace>bits12</RootNamespace>
<ProjectGuid>{cedc70ad-dc0c-436a-b728-ef4cc32e0c81}</ProjectGuid>
<RootNamespace>bits4</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@ -127,7 +127,7 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="bits 1-2.cpp" />
<ClCompile Include="bits 4.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

@ -15,7 +15,7 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="bits 1-2.cpp">
<ClCompile Include="bits 4.cpp">
<Filter>Исходные файлы</Filter>
</ClCompile>
</ItemGroup>
Загрузка…
Отмена
Сохранить