diff --git a/lab10/lab10.sln b/lab10/lab10.sln
new file mode 100644
index 0000000..f7f6836
--- /dev/null
+++ b/lab10/lab10.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}") = "lab10", "lab10\lab10.vcxproj", "{656A5C2B-24D5-40ED-A852-3E38EDE307B0}"
+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
+ {656A5C2B-24D5-40ED-A852-3E38EDE307B0}.Debug|x64.ActiveCfg = Debug|x64
+ {656A5C2B-24D5-40ED-A852-3E38EDE307B0}.Debug|x64.Build.0 = Debug|x64
+ {656A5C2B-24D5-40ED-A852-3E38EDE307B0}.Debug|x86.ActiveCfg = Debug|Win32
+ {656A5C2B-24D5-40ED-A852-3E38EDE307B0}.Debug|x86.Build.0 = Debug|Win32
+ {656A5C2B-24D5-40ED-A852-3E38EDE307B0}.Release|x64.ActiveCfg = Release|x64
+ {656A5C2B-24D5-40ED-A852-3E38EDE307B0}.Release|x64.Build.0 = Release|x64
+ {656A5C2B-24D5-40ED-A852-3E38EDE307B0}.Release|x86.ActiveCfg = Release|Win32
+ {656A5C2B-24D5-40ED-A852-3E38EDE307B0}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {FE0BD7A7-5DE3-4E9A-8CE7-60E8F5FCA1D0}
+ EndGlobalSection
+EndGlobal
diff --git a/lab10/lab10/lab10.vcxproj b/lab10/lab10/lab10.vcxproj
new file mode 100644
index 0000000..31929a1
--- /dev/null
+++ b/lab10/lab10/lab10.vcxproj
@@ -0,0 +1,138 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {656a5c2b-24d5-40ed-a852-3e38ede307b0}
+ lab10
+ 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/lab10/lab10/lab10.vcxproj.filters b/lab10/lab10/lab10.vcxproj.filters
new file mode 100644
index 0000000..91883cd
--- /dev/null
+++ b/lab10/lab10/lab10.vcxproj.filters
@@ -0,0 +1,27 @@
+
+
+
+
+ {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/lab10/lab10/main.c b/lab10/lab10/main.c
new file mode 100644
index 0000000..cb4e839
--- /dev/null
+++ b/lab10/lab10/main.c
@@ -0,0 +1,127 @@
+#include
+
+
+void printTable() {
+ int i = 1;
+ while (i <= 9) {
+ int j = 1;
+ while (j <= 9) {
+ printf("%d%d ", i, j);
+ j++;
+ }
+ i++;
+ puts("");
+ }
+}
+
+void pithagoreanTable() {
+ int i = 1;
+ while (i <= 10) {
+ int j = 1;
+ while (j <= 10) {
+ printf("%3d ", i * j);
+ j++;
+ }
+ i++;
+ puts("");
+ }
+}
+
+void numTriagle() {
+ int n = 0;
+ printf("N = ");
+ scanf_s("%d", &n);
+ int i = 0;
+ while (i < n) {
+ int j = i;
+ while (j >= 0) {
+ printf("%d ", n - j);
+ j--;
+ }
+ puts("");
+ i++;
+ }
+
+}
+
+void hardNumTriagle() {
+ int n = 0;
+ printf("N = ");
+ scanf_s("%d", &n);
+ int i = 0;
+ while (i < n) {
+ int space = n - i - 1;
+ while (space > 0) {
+ printf(" ");
+ space--;
+ }
+ int j = i;
+ while (j >= 0) {
+ printf("%2d ", n - j);
+ j--;
+ }
+ puts("");
+ i++;
+ }
+ i--;
+ while (i > 0) {
+ int space = 0;
+ while (space < n - i) {
+ printf(" ");
+ space++;
+ }
+ int j = i - 1;
+ while (j >= 0) {
+ printf("%2d ", n - j);
+ j--;
+ }
+ puts("");
+ i--;
+ }
+
+}
+
+int main() {
+ int n = -1;
+ int r = 0;
+ do {
+ puts("\n");
+ puts("choose program");
+ puts("1) print ij matrix");
+ puts("2) print pithagorean table");
+ puts("3) print number triangle");
+ puts("4) print hard number triangle");
+ puts("");
+ puts("0) exit program");
+
+ while (scanf_s(" %d", &n) != 1) {
+ scanf_s("%*[^\n]");
+ scanf_s("%*c");
+ }
+ puts("");
+
+ switch (n)
+ {
+ case 1:
+ printTable();
+ break;
+ case 2:
+ pithagoreanTable();
+ break;
+ case 3:
+ numTriagle();
+ break;
+ case 4:
+ hardNumTriagle();
+ break;
+ case 0:
+ puts("goodbye :3");
+ break;
+ default:
+ puts("error: wrong N");
+ break;
+ }
+
+ } while (n != 0);
+ return 0;
+}
\ No newline at end of file
diff --git a/lab10/numTriangle.json b/lab10/numTriangle.json
new file mode 100644
index 0000000..a07a4cf
--- /dev/null
+++ b/lab10/numTriangle.json
@@ -0,0 +1 @@
+{"blocks":[{"x":555,"y":130,"text":"numTriangle","width":130,"height":20,"type":"Текст / комментарий","isMenuBlock":false,"fontSize":19,"textHeight":19,"isBold":true,"isItalic":false,"textAlign":"left","labelsPosition":1},{"x":550,"y":200,"text":"начало","width":100,"height":30,"type":"Начало / конец","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":550,"y":270,"text":"ввод n","width":120,"height":40,"type":"Ввод / вывод","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":550,"y":430,"text":"i < n","width":100,"height":40,"type":"Условие","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":700,"y":640,"text":"вывод n - j","width":120,"height":40,"type":"Ввод / вывод","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":700,"y":550,"text":"j ≥ 0","width":100,"height":40,"type":"Условие","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":700,"y":720,"text":"j = j - 1","width":100,"height":40,"type":"Блок","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":550,"y":340,"text":"i = 0","width":100,"height":40,"type":"Блок","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":700,"y":470,"text":"j = i","width":100,"height":40,"type":"Блок","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":550,"y":550,"text":"вывод '\\n'","width":120,"height":40,"type":"Ввод / вывод","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":550,"y":630,"text":"i = i + 1","width":100,"height":40,"type":"Блок","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1},{"x":390,"y":430,"text":"конец","width":100,"height":30,"type":"Начало / конец","isMenuBlock":false,"fontSize":14,"textHeight":14,"isBold":false,"isItalic":false,"textAlign":"center","labelsPosition":1}],"arrows":[{"startIndex":2,"endIndex":7,"startConnectorIndex":2,"endConnectorIndex":0,"nodes":[{"x":550,"y":290},{"x":550,"y":300},{"x":550,"y":320}],"counts":[1,1,1]},{"startIndex":1,"endIndex":2,"startConnectorIndex":2,"endConnectorIndex":0,"nodes":[{"x":550,"y":215},{"x":550,"y":230},{"x":550,"y":250}],"counts":[1,1,1]},{"startIndex":7,"endIndex":3,"startConnectorIndex":2,"endConnectorIndex":0,"nodes":[{"x":550,"y":360},{"x":550,"y":390},{"x":550,"y":410}],"counts":[1,1,1]},{"startIndex":3,"endIndex":8,"startConnectorIndex":1,"endConnectorIndex":0,"nodes":[{"x":600,"y":430},{"x":700,"y":430},{"x":700,"y":450}],"counts":[1,1,1]},{"startIndex":5,"endIndex":4,"startConnectorIndex":1,"endConnectorIndex":0,"nodes":[{"x":750,"y":550},{"x":770,"y":550},{"x":770,"y":600},{"x":700,"y":600},{"x":700,"y":620}],"counts":[1,1,1,1,1]},{"startIndex":4,"endIndex":6,"startConnectorIndex":2,"endConnectorIndex":0,"nodes":[{"x":700,"y":660},{"x":700,"y":680},{"x":700,"y":700}],"counts":[1,1,1]},{"startIndex":8,"endIndex":5,"startConnectorIndex":2,"endConnectorIndex":0,"nodes":[{"x":700,"y":490},{"x":700,"y":510},{"x":700,"y":530}],"counts":[1,1,1]},{"startIndex":6,"endIndex":5,"startConnectorIndex":2,"endConnectorIndex":0,"nodes":[{"x":700,"y":740},{"x":700,"y":760},{"x":800,"y":760},{"x":800,"y":510},{"x":700,"y":510},{"x":700,"y":530}],"counts":[1,1,1,1,1,1]},{"startIndex":5,"endIndex":9,"startConnectorIndex":3,"endConnectorIndex":1,"nodes":[{"x":650,"y":550},{"x":630,"y":550},{"x":610,"y":550}],"counts":[1,1,1]},{"startIndex":9,"endIndex":10,"startConnectorIndex":2,"endConnectorIndex":0,"nodes":[{"x":550,"y":570},{"x":550,"y":590},{"x":550,"y":610}],"counts":[1,1,1]},{"startIndex":10,"endIndex":3,"startConnectorIndex":2,"endConnectorIndex":0,"nodes":[{"x":550,"y":650},{"x":550,"y":790},{"x":850,"y":790},{"x":850,"y":390},{"x":550,"y":390},{"x":550,"y":410}],"counts":[1,1,1,1,1,1]},{"startIndex":3,"endIndex":11,"startConnectorIndex":3,"endConnectorIndex":1,"nodes":[{"x":500,"y":430},{"x":460,"y":430},{"x":440,"y":430}],"counts":[1,1,1]}],"x0":-1129,"y0":-863}
\ No newline at end of file
diff --git a/lab10/numTriangle.png b/lab10/numTriangle.png
new file mode 100644
index 0000000..de00d0c
Binary files /dev/null and b/lab10/numTriangle.png differ