From 7f9bff95705891346503baf45fdc8998b400b807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Wed, 17 Aug 2022 15:01:25 +0300 Subject: [PATCH 01/13] Task 15 done. Tasks 10, 13 checked, reviewed --- .DS_Store | Bin 8196 -> 10244 bytes HW10/HW10.csproj | 10 ++++++++++ HW10/Program.cs | 32 ++++++++++++++++++++++++++++++++ HW13/HW13.csproj | 10 ++++++++++ HW13/Program.cs | 22 ++++++++++++++++++++++ HW15/HW15.csproj | 10 ++++++++++ HW15/Program.cs | 21 +++++++++++++++++++++ 7 files changed, 105 insertions(+) create mode 100644 HW10/HW10.csproj create mode 100644 HW10/Program.cs create mode 100644 HW13/HW13.csproj create mode 100644 HW13/Program.cs create mode 100644 HW15/HW15.csproj create mode 100644 HW15/Program.cs diff --git a/.DS_Store b/.DS_Store index 4285d9482e5426396278704822b0776a65fdde72..ab50e17827e9ea7a27e0a491460c9251b745bdb3 100644 GIT binary patch delta 844 zcmd5)yGjE=6g_KJ5t8U88;yY!5fQ9Rf(W7rzESW=6fG3V%Ll~WJT^WmEz(-(6xs?l zVihd?5i7yY#>&D{&#V|W5qoEtxpQaknRCybsf<;Yy8tK?(EXbYAp# zE4|g_$9APxc(m=H2jeKRCvk!WWMN?sCNkpF-*Ni-X*WUvuOn^=hm0(8-lsj9%bDp^ z&P+)PjysY&k!}aFgajFq#9H+zCD?%SVn!I+y?D_=n|UiWUoKfiUfzc_lx*@6qL^k1 zyYvhulB7Sy)YB;Az}~YM871K=F;kdhbOKRTSBKPLb%-aE=s{FGYvEQBEJ_0DNC_=0 z!Vzm$kX<7a=M{x*yNO&bqw zzH24uX7UCy6m?7qS-XB|?1>v)-*P7AvEwXO*TlB-HGf}?YscIEiIa(k{ycrS^5>hY yXSXh&i#pgMZcfwkqg4wZF3}!d2{e6wzdm_PwJ~W$K71~cfgN$_5By_oKIIFE7Sf>r delta 105 zcmZn(XmOBWU|?W$DortDU;r^WfEYvza8E20o2aMAD84aZH$S8JWFCR|$-;u`Hop_@ uW!%gpp2#Z53{(aL65K$-6{KTh;dkcA{3?MQj1Y4eCdczk-5e>&&I|wx$P>r_ diff --git a/HW10/HW10.csproj b/HW10/HW10.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/HW10/HW10.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/HW10/Program.cs b/HW10/Program.cs new file mode 100644 index 0000000..5448a34 --- /dev/null +++ b/HW10/Program.cs @@ -0,0 +1,32 @@ +// Принять трёхзначное число, вывести 2й знак + +void FillArray(int[] numbers) // Рассматриваем число как массив - создаем и заполняем массив +{ + int length = numbers.Length; + int index = 0; + while(index < length) + { + numbers[index] = new Random().Next(1,9); + index++; + } +} + +void PrintArray(int[] nums) +{ + int count = nums.Length; + int ind = 0; + while(ind < count) + { + Console.Write(nums[ind]); + ind++; + } +} + + +int[] array = new int[3]; + +FillArray(array); +PrintArray(array); + +Console.WriteLine(":"); +Console.WriteLine(array[1]); diff --git a/HW13/HW13.csproj b/HW13/HW13.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/HW13/HW13.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/HW13/Program.cs b/HW13/Program.cs new file mode 100644 index 0000000..c69ce1b --- /dev/null +++ b/HW13/Program.cs @@ -0,0 +1,22 @@ +// Вывести 3-й знак заданного числа или сообщить, что 3-его знака нет (для двузначных чисел и цифр) + +class Program +{ + static void Main(string[] args) + { + // 1st method + Console.WriteLine("Введите Ваше число: "); + // 2nd method + string? userNumber = Console.ReadLine(); + Console.WriteLine(ThirdChar(userNumber)); + } + + static string ThirdChar(string? userNumber) + { + if (userNumber?.Length > 2) + { + return $"Третий знак - {userNumber[2]}"; + } + return "Третьего знака нет!"; + } +} diff --git a/HW15/HW15.csproj b/HW15/HW15.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/HW15/HW15.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/HW15/Program.cs b/HW15/Program.cs new file mode 100644 index 0000000..05fa6c4 --- /dev/null +++ b/HW15/Program.cs @@ -0,0 +1,21 @@ +// Принять на вход цифру, обозначающую день недели, и проверить, выходной ли это день. + + +class Program +{ + static void Main(string[] args) + { + Console.WriteLine("Введите день недели (цифру от 1 до 7): "); + string? day = Console.ReadLine(); + Console.WriteLine(usersDay(day)); + } + + static string usersDay(string? day) + { + if (day == "6" || day == "7") + { + return "День выходной"; + } + return "День будний"; + } +} From e3695240865db2112c9c3a25db99e4ff79d8933f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Fri, 19 Aug 2022 17:15:30 +0300 Subject: [PATCH 02/13] 4 Kinds of common Methods added --- 4KindsMethods/4KindsMethods.csproj | 11 +++++++ 4KindsMethods/Program.cs | 52 ++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 4KindsMethods/4KindsMethods.csproj create mode 100644 4KindsMethods/Program.cs diff --git a/4KindsMethods/4KindsMethods.csproj b/4KindsMethods/4KindsMethods.csproj new file mode 100644 index 0000000..b686486 --- /dev/null +++ b/4KindsMethods/4KindsMethods.csproj @@ -0,0 +1,11 @@ + + + + Exe + net6.0 + _4KindsMethods + enable + enable + + + diff --git a/4KindsMethods/Program.cs b/4KindsMethods/Program.cs new file mode 100644 index 0000000..bec5171 --- /dev/null +++ b/4KindsMethods/Program.cs @@ -0,0 +1,52 @@ +// 4 kinds of common Methods overview + +void Method1() +{ + Console.WriteLine("Автор..."); +} +//Method1(); + + +void Method2(string msg) +{ + Console.WriteLine(msg); +} +//Method2("Текст сообщения"); + +void Method21(string msg, int count) +{ + int i = 0; + while (i < count) + { + Console.WriteLine(msg); + i++; + } + +} +//Method21(count: 4, msg: "Текст"); // Для именованных переменных порядок значения не имеет. Count - сколько раз. + + +int Method3() +{ + return DateTime.Now.Year; +} + +//int year = Method3; +//Console.WriteLine(year); + + +string Method4(int count, string c) // Вместо string тут можно char +{ + int i = 0; + string result = String.Empty; + + while(i < count) + { + result = result + c; + i++; + } + return result; +} + +string res = Method4(10, "some_text "); +Console.WriteLine(res); From 812cf64dafa6e96ccac298aa77f07f045e0f4ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Fri, 19 Aug 2022 17:38:55 +0300 Subject: [PATCH 03/13] =?UTF-8?q?=D0=A2=D0=B0=D0=B1=D0=BB=D0=B8=D1=86?= =?UTF-8?q?=D0=B0=20=D1=83=D0=BC=D0=BD=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D1=86=D0=B8=D0=BA=D0=BB=20?= =?UTF-8?q?=D0=B2=20=D1=86=D0=B8=D0=BA=D0=BB=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Multiplication/Multiplication.csproj | 10 ++++++++++ Multiplication/Program.cs | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 Multiplication/Multiplication.csproj create mode 100644 Multiplication/Program.cs diff --git a/Multiplication/Multiplication.csproj b/Multiplication/Multiplication.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/Multiplication/Multiplication.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/Multiplication/Program.cs b/Multiplication/Program.cs new file mode 100644 index 0000000..e55a034 --- /dev/null +++ b/Multiplication/Program.cs @@ -0,0 +1,10 @@ +// Таблица умножения + +for(int i =2; i < 10; i++) +{ + for(int j = 2; j <= 10; j++) + { + Console.WriteLine($"{i} * {j} = {i * j}"); + } + Console.WriteLine(); // Разрыв +} From 65adca862c849d8f0ffe1e1859cb7792fa3ddc4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Fri, 19 Aug 2022 18:07:22 +0300 Subject: [PATCH 04/13] Symbols replacing method added --- TextEdit/Program.cs | 24 ++++++++++++++++++++++++ TextEdit/TextEdit.csproj | 10 ++++++++++ 2 files changed, 34 insertions(+) create mode 100644 TextEdit/Program.cs create mode 100644 TextEdit/TextEdit.csproj diff --git a/TextEdit/Program.cs b/TextEdit/Program.cs new file mode 100644 index 0000000..9e4a458 --- /dev/null +++ b/TextEdit/Program.cs @@ -0,0 +1,24 @@ +// Замена символов в тексте + +string text= "- Я думаю, сказал, улыбаясь, князь, - что, " + + "ежели бы Вас послали вместо нашего..."; +string Replace(string text, char oldValue, char newValue) +{ + string result = string.Empty; + + int length = text.Length; + for(int i = 0; i < length; i++) + { + if(text[i] == oldValue) result = result + $"{newValue}"; + else result = result + $"{text[i]}"; + } + return result; +} + +string newText = Replace(text, ' ', '|'); +Console.WriteLine(newText); +Console.WriteLine(); + +newText = Replace(newText, 'а', 'А'); +Console.WriteLine(newText); +Console.WriteLine(); diff --git a/TextEdit/TextEdit.csproj b/TextEdit/TextEdit.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/TextEdit/TextEdit.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + From 2f7e82292dd68a84839a98f0365f3cdcc744f745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Fri, 19 Aug 2022 18:27:01 +0300 Subject: [PATCH 05/13] =?UTF-8?q?=D0=9A=D0=B0=D0=BA=20=D1=83=D0=BF=D0=BE?= =?UTF-8?q?=D1=80=D1=8F=D0=B4=D0=BE=D1=87=D0=B8=D1=82=D1=8C=20=D1=8D=D0=BB?= =?UTF-8?q?-=D1=82=D1=8B=20=D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2=D0=B0=20?= =?UTF-8?q?=D0=BE=D1=82=20=D0=BC=D0=B5=D0=BD=D1=8C=D1=88=D0=B5=D0=B3=D0=BE?= =?UTF-8?q?=20=D0=BA=20=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=B5=D0=BC=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ArraySorting/ArraySorting.csproj | 10 +++++++++ ArraySorting/Program.cs | 37 ++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 ArraySorting/ArraySorting.csproj create mode 100644 ArraySorting/Program.cs diff --git a/ArraySorting/ArraySorting.csproj b/ArraySorting/ArraySorting.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/ArraySorting/ArraySorting.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/ArraySorting/Program.cs b/ArraySorting/Program.cs new file mode 100644 index 0000000..680714a --- /dev/null +++ b/ArraySorting/Program.cs @@ -0,0 +1,37 @@ +// Упорядочить данные внутри массива методом выбора (от минимального к максимальному). + +int[] arr = {5, 2, 1, 6, 8, 20, 7, 2, 23, 3, 1}; + +void PrintArray(int[] array) +{ + int count = array.Length; + for (int i = 0; i < count; i++) + { + Console.Write($"{array[i]} "); // Вывели массив + } + Console.WriteLine(); +} + +void SelectionSort(int[] array) +{ + for (int i = 0; i < array.Length; i++) + { + int minPosition = i; + + for(int j = i + 1; j < array.Length; j++) // На лекции было (array.Length - 1), но так первый эл-т встает в конец + { + if (array[j] < array[minPosition]) + { + minPosition = j; + } + } + int temporary = array[i]; + array[i] = array[minPosition]; + array[minPosition] = temporary; + Console.Write($"{array[i]} "); // Вывели массив + } + Console.WriteLine(); +} + +PrintArray(arr); +SelectionSort(arr); From 4ecb3dd93f5f4dedac80ac67c286391c41c6e352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Fri, 19 Aug 2022 18:38:49 +0300 Subject: [PATCH 06/13] Method 3 fixed --- 4KindsMethods/Program.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/4KindsMethods/Program.cs b/4KindsMethods/Program.cs index bec5171..ab68a96 100644 --- a/4KindsMethods/Program.cs +++ b/4KindsMethods/Program.cs @@ -4,14 +4,14 @@ void Method1() { Console.WriteLine("Автор..."); } -//Method1(); +Method1(); void Method2(string msg) { Console.WriteLine(msg); } -//Method2("Текст сообщения"); +Method2("Текст сообщения"); void Method21(string msg, int count) { @@ -23,7 +23,7 @@ void Method21(string msg, int count) } } -//Method21(count: 4, msg: "Текст"); // Для именованных переменных порядок значения не имеет. Count - сколько раз. +Method21(count: 4, msg: "Текст"); // Для именованных переменных порядок значения не имеет. Count - сколько раз. int Method3() @@ -31,8 +31,8 @@ int Method3() return DateTime.Now.Year; } -//int year = Method3; -//Console.WriteLine(year); +int year = Method3(); +Console.WriteLine(year); string Method4(int count, string c) // Вместо string тут можно char From efe1e27c5599f04b9152b594eb41703fbe42c51a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Mon, 29 Aug 2022 15:19:17 +0300 Subject: [PATCH 07/13] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20?= =?UTF-8?q?=D1=81=20=D0=B4=D0=B2=D1=83=D0=BC=D0=B5=D1=80=D0=BD=D1=8B=D0=BC?= =?UTF-8?q?=D0=B8=20=D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2=D0=B0=D0=BC=D0=B8?= =?UTF-8?q?.=20=D0=A0=D0=B5=D0=BA=D1=83=D1=80=D1=81=D0=B8=D1=8F,=20=D1=84?= =?UTF-8?q?=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=B0=D0=BB,=20=D1=87?= =?UTF-8?q?=D0=B8=D1=81=D0=BB=D0=B0=20=D0=A4=D0=B8=D0=B1=D0=BE=D0=BD=D0=B0?= =?UTF-8?q?=D1=87=D1=87=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DoubleArray/DoubleArray.csproj | 10 ++++++ DoubleArray/Program.cs | 55 +++++++++++++++++++++++++++++ Factorial/Factorial.csproj | 10 ++++++ Factorial/Program.cs | 20 +++++++++++ Fibonacci/Fibonacci.csproj | 10 ++++++ Fibonacci/Program.cs | 18 ++++++++++ Recursion/Program.cs | 63 ++++++++++++++++++++++++++++++++++ Recursion/Recursion.csproj | 10 ++++++ 8 files changed, 196 insertions(+) create mode 100644 DoubleArray/DoubleArray.csproj create mode 100644 DoubleArray/Program.cs create mode 100644 Factorial/Factorial.csproj create mode 100644 Factorial/Program.cs create mode 100644 Fibonacci/Fibonacci.csproj create mode 100644 Fibonacci/Program.cs create mode 100644 Recursion/Program.cs create mode 100644 Recursion/Recursion.csproj diff --git a/DoubleArray/DoubleArray.csproj b/DoubleArray/DoubleArray.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/DoubleArray/DoubleArray.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/DoubleArray/Program.cs b/DoubleArray/Program.cs new file mode 100644 index 0000000..941c664 --- /dev/null +++ b/DoubleArray/Program.cs @@ -0,0 +1,55 @@ +// Двумерные массивы + +string[,] table = new string[5, 8]; // по умолчанию String.Empty + +for(int rows = 0; rows < 5; rows++) +{ + for(int columns = 0; columns < 8; columns++) + { + Console.Write($"{table[rows, columns]}"); + } + Console.WriteLine(); // Разрыв для аккуратности вывода +} + + +int[,] matrix = new int [3,4]; // По умолчанию заполняется 0 +matrix[1,2] = 15; // обратились к элементу и изменили его + +for(int rows = 0; rows < matrix.GetLength(0); rows++) +{ + for(int columns = 0; columns < matrix.GetLength(1); columns++) + { + Console.Write($"{matrix[rows, columns]}"); + } + Console.WriteLine(); +} + + +int[,] array = new int[4,7]; +void PrintArray(int[,] arr) +{ + for(int i = 0; i < arr.GetLength(0); i++) + { + for(int j = 0; j < arr.GetLength(1); j++) + { + Console.Write($"{arr[i, j]}"); + } + Console.WriteLine(); + } +} + +void FillArray(int[,] arr) +{ + for(int i = 0; i < arr.GetLength(0); i++) + { + for(int j = 0; j < arr.GetLength(1); j++) + { + arr[i, j] = new Random().Next(1, 10); + } + } +} + +FillArray(array); +Console.WriteLine(); +PrintArray(array); +Console.WriteLine(); diff --git a/Factorial/Factorial.csproj b/Factorial/Factorial.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/Factorial/Factorial.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/Factorial/Program.cs b/Factorial/Program.cs new file mode 100644 index 0000000..f73fdf7 --- /dev/null +++ b/Factorial/Program.cs @@ -0,0 +1,20 @@ +// Факториал через рекурсию + +double Factorial (int n) // Тип int переполянется на 17, надо заменить на double +{ + if(n == 1) + { + return 1; + } + else + { + return n * Factorial(n - 1); + } +} + +Console.WriteLine(Factorial(40)); + +for(int i = 1; i < 40; i++) // Проверка работы алгоритма, вывод всех чисел ДО искомого +{ + Console.WriteLine($"{i}! = {Factorial(i)}"); +} diff --git a/Fibonacci/Fibonacci.csproj b/Fibonacci/Fibonacci.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/Fibonacci/Fibonacci.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/Fibonacci/Program.cs b/Fibonacci/Program.cs new file mode 100644 index 0000000..e731c4d --- /dev/null +++ b/Fibonacci/Program.cs @@ -0,0 +1,18 @@ +// Числа Фибоначчи + +int Fibonacci(int n) +{ + if(n == 1 || n == 2) + { + return 1; + } + else + { + return Fibonacci(n - 1) + Fibonacci(n - 2); + } +} + +for(int i = 1; i < 17; i++) // Число можно задать любое, после 40 начнет работать медленно из-за зтрат ресурсов +{ + Console.WriteLine(Fibonacci(i)); +} diff --git a/Recursion/Program.cs b/Recursion/Program.cs new file mode 100644 index 0000000..5ea52c2 --- /dev/null +++ b/Recursion/Program.cs @@ -0,0 +1,63 @@ +// Рекурсивные функции. Вывод ч/б изображение, его заливка с помощью правила обхода + +int[,] pic = new int[,] +{ + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, + {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, + {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, + {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, + {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, + {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, + {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, + {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, + {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, + {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }, + {0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +}; + +void PrintImage(int[,] image) +{ + for(int i = 0; i < image.GetLength(0); i++) + { + for(int j = 0; j < image.GetLength(1); j++) + { + if(image[i,j] == 0) + { + Console.Write($" "); + } + else + { + Console.Write($"+"); + } + } + Console.WriteLine(); + } +} + +void FillImage(int row, int col) +{ + if(pic[row, col] == 0) + { + pic[row, col] = 1; + FillImage(row -10, col); + FillImage(row, col - 1); + FillImage(row + 1, col); + FillImage(row, col + 1); + } +} + +PrintImage(pic); +FillImage(5,5); +PrintImage(pic); \ No newline at end of file diff --git a/Recursion/Recursion.csproj b/Recursion/Recursion.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/Recursion/Recursion.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + From 2da4b1323605515d311d702f2c32ccb69a7e0eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Mon, 29 Aug 2022 15:28:32 +0300 Subject: [PATCH 08/13] Typo fixed in Recursion --- Recursion/Program.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Recursion/Program.cs b/Recursion/Program.cs index 5ea52c2..1242e45 100644 --- a/Recursion/Program.cs +++ b/Recursion/Program.cs @@ -1,5 +1,6 @@ // Рекурсивные функции. Вывод ч/б изображение, его заливка с помощью правила обхода +//int[,] pic = new int[23, 25]; int[,] pic = new int[,] { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, @@ -51,7 +52,7 @@ void FillImage(int row, int col) if(pic[row, col] == 0) { pic[row, col] = 1; - FillImage(row -10, col); + FillImage(row - 1, col); FillImage(row, col - 1); FillImage(row + 1, col); FillImage(row, col + 1); @@ -59,5 +60,5 @@ void FillImage(int row, int col) } PrintImage(pic); -FillImage(5,5); -PrintImage(pic); \ No newline at end of file +FillImage(13,13); +PrintImage(pic); From 9a6b65b709cd88a9eceee784d221356e2591ceb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Mon, 29 Aug 2022 18:55:49 +0300 Subject: [PATCH 09/13] Fibonacci algorythm reviewed --- Fibonacci/Program.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Fibonacci/Program.cs b/Fibonacci/Program.cs index e731c4d..14782e4 100644 --- a/Fibonacci/Program.cs +++ b/Fibonacci/Program.cs @@ -2,17 +2,24 @@ int Fibonacci(int n) { + /* + if(n == 0) + { + return 0; + } if(n == 1 || n == 2) { return 1; } - else + */ + if (n == 0 || n == 1) { - return Fibonacci(n - 1) + Fibonacci(n - 2); + return n; } + return Fibonacci(n - 1) + Fibonacci(n - 2); } -for(int i = 1; i < 17; i++) // Число можно задать любое, после 40 начнет работать медленно из-за зтрат ресурсов +for(int i = 0; i < 17; i++) // Число можно задать любое, после 40 начнет работать медленно из-за затрат ресурсов { Console.WriteLine(Fibonacci(i)); } From 67024376fa3929c5c547239caaf33be595cc9e35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Mon, 29 Aug 2022 20:59:29 +0300 Subject: [PATCH 10/13] Task 35 done --- HW35/HW35.csproj | 10 ++++++++++ HW35/Program.cs | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 HW35/HW35.csproj create mode 100644 HW35/Program.cs diff --git a/HW35/HW35.csproj b/HW35/HW35.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/HW35/HW35.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/HW35/Program.cs b/HW35/Program.cs new file mode 100644 index 0000000..c153ddb --- /dev/null +++ b/HW35/Program.cs @@ -0,0 +1,49 @@ +// Задать одномерный массив из 123 случайных чисел. +// Найти количество элементов массива, значения которых лежат в отрезке [10,99]. + +class Program +{ + static void Main() + { + int[] array = CreateRandomArray(); + PrintArray(array); + Console.WriteLine(Inside(array, 10, 99)); + } + + static int[] CreateRandomArray() + { + int[] array = new int[123]; + return FillArray(array); + } + + static int[] FillArray(int[] arr) + { + for (int i = 0; i < arr.Length; i++) + { + arr[i] = new Random().Next(1, 100); + } + return arr; + } + + static void PrintArray(int[] arr) + { + for (int i = 0; i < arr.Length; i++) + { + Console.Write($"{arr[i]} "); + } + Console.WriteLine(); + } + + static int Inside(int[] array, int from, int to) + { + int count = 0; + for (int i = 0; i < array.Length; i++) + { + if (array[i] >= from && array[i] <= to) + { + count++; + } + } + return count; + } +} From 405f9defaf5fdaa173f6beecf354506af00b89f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Mon, 29 Aug 2022 21:42:04 +0300 Subject: [PATCH 11/13] Task 37 version1 --- HW37/HW37.csproj | 10 +++++++++ HW37/Program.cs | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 HW37/HW37.csproj create mode 100644 HW37/Program.cs diff --git a/HW37/HW37.csproj b/HW37/HW37.csproj new file mode 100644 index 0000000..40c60dd --- /dev/null +++ b/HW37/HW37.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/HW37/Program.cs b/HW37/Program.cs new file mode 100644 index 0000000..1c33fdd --- /dev/null +++ b/HW37/Program.cs @@ -0,0 +1,55 @@ +// Найти произведение пар чисел в одномерном массиве. +// Парой считаем первый и последний элемент, второй и предпоследний и т.д. +// Результат записать в новом массиве. + +class Program +{ + static void Main() + { + int[] array = CreateRandomArray(); + PrintArray(array); + PrintArray(Multiply(array)); + } + + static int[] CreateRandomArray() + { + int[] array = new int[3]; + return FillArray(array); + } + + static int[] FillArray(int[] arr) + { + for (int i = 0; i < arr.Length; i++) + { + arr[i] = new Random().Next(1, 100); + } + return arr; + } + + static void PrintArray(int[] arr) + { + for (int i = 0; i < arr.Length; i++) + { + Console.Write($"{arr[i]} "); + } + Console.WriteLine(); + } + + static int[] Multiply(int[] array) + { + int[] newArray = new int[array.Length % 2 == 0 ? array.Length / 2 : array.Length / 2 + 1]; + for (int i = 0; i < newArray.Length; i++) + { + newArray[i] = array[i] * array[array.Length - (i + 1)]; // i + 1 потому что индекс с нуля, а Length даст длину (с 1) + } + + // Костыль - исправить! + if (array.Length % 2 == 0) + { + return newArray; + } + newArray[newArray.Length - 1] = array[newArray.Length - 1]; + return newArray; + } +} + From 78161c64a3b388c50232d190325de3d5728fb933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Mon, 29 Aug 2022 23:58:53 +0300 Subject: [PATCH 12/13] Task 37 version2 --- HW37/Program.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/HW37/Program.cs b/HW37/Program.cs index 1c33fdd..0a0eb7e 100644 --- a/HW37/Program.cs +++ b/HW37/Program.cs @@ -43,7 +43,7 @@ static int[] Multiply(int[] array) newArray[i] = array[i] * array[array.Length - (i + 1)]; // i + 1 потому что индекс с нуля, а Length даст длину (с 1) } - // Костыль - исправить! + // TODO Костыль - исправить! if (array.Length % 2 == 0) { return newArray; @@ -52,4 +52,3 @@ static int[] Multiply(int[] array) return newArray; } } - From 1bcd45a41c63d7fdba166ae431869cd0ba9a0bd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D1=8F?= Date: Thu, 1 Sep 2022 13:05:45 +0300 Subject: [PATCH 13/13] Task 37 version2 --- HW37/Program.cs | 58 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/HW37/Program.cs b/HW37/Program.cs index 0a0eb7e..2a21479 100644 --- a/HW37/Program.cs +++ b/HW37/Program.cs @@ -1,7 +1,60 @@ -// Найти произведение пар чисел в одномерном массиве. -// Парой считаем первый и последний элемент, второй и предпоследний и т.д. +// Найти произведение пар чисел в одномерном массиве. +// Парой считаем первый и последний элемент, второй и предпоследний и т.д. // Результат записать в новом массиве. +class Program +{ + static void Main() + { + int[] array = CreateRandomArray(); + PrintArray(array); + PrintArray(Multiply(array)); + } + + static int[] CreateRandomArray() + { + int[] array = new int[3]; + return FillArray(array); + } + + static int[] FillArray(int[] arr) + { + for (int i = 0; i < arr.Length; i++) + { + arr[i] = new Random().Next(1, 100); + } + return arr; + } + + static void PrintArray(int[] arr) + { + for (int i = 0; i < arr.Length; i++) + { + Console.Write($"{arr[i]} "); + } + Console.WriteLine(); + } + + static int[] Multiply(int[] array) + { + int[] newArray = new int[array.Length % 2 == 0 ? array.Length / 2 : array.Length / 2 + 1]; + if (array.Length % 2 == 1) + { + newArray[newArray.Length - 1] = array[newArray.Length - 1]; + } + for (int i = 0; i < array.Length / 2; i++) + { + newArray[i] = array[i] * array[array.Length - (i + 1)]; + } + return newArray; + } +} + + +// Найти произведение пар чисел в одномерном массиве. +// Парой считаем первый и последний элемент, второй и предпоследний и т.д. +// Результат записать в новом массиве. +/* class Program { static void Main() @@ -52,3 +105,4 @@ static int[] Multiply(int[] array) return newArray; } } +*/