Рекурсивный вывод массива C# | СИ ШАРП ДОМАШНИЕ ЗАДАНИЯ # 15

  Рет қаралды 43,949

#SimpleCode

#SimpleCode

4 жыл бұрын

В этом уроке мы разберём домашнее задание на тему рекурсии, продолжим изучении рекурсии на практике и с помощью рекурсивного вызова метода, выведем массив на консоль.
✅ ИСХОДНЫЙ КОД bit.ly/3jCWA4p
🔹 Telegram канал t.me/SergeySimpleCode
🔹 Наша группа ВК smplcode
✅ Доступ к исходному коду и спонсорство / simplecode
✅ donatepay.ru/don/SimpleCode
✅ BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ Подписывайтесь на канал / @simplecodeit
#сишарп #simplecode #рекурсия

Пікірлер: 128
@SimpleCodeIT
@SimpleCodeIT 3 жыл бұрын
Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =) ✅Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode ✅ donatepay.ru/don/SimpleCode ✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
@ashimovroman
@ashimovroman 3 жыл бұрын
Я не перестаю удивляться! У Вас, Сергей, самые лучшие уроки! Все настолько подробно, фундаментально и последовательно "разжёвано", что, мне кажется, после Ваших уроков и обезьяна будет программировать! В очередной раз огромное спасибо!
@ForikForikish
@ForikForikish 3 жыл бұрын
Как же жаль, что дальше пока нет роликов, очень понятно объясняете, прям душа радуется.
@oleksandralekseiev8370
@oleksandralekseiev8370 3 жыл бұрын
Это лучше, чем анонс сталкер 2
@vitaliy1773
@vitaliy1773 3 жыл бұрын
Это было в 2018.
@oleksandralekseiev8370
@oleksandralekseiev8370 3 жыл бұрын
Dojer я имел ввиду трейлер, но мы же все понимаем, что именно он и стал начальной точкой активного ожидания игры, а не официальный анонс
@user-uw4ql2kd8k
@user-uw4ql2kd8k 3 жыл бұрын
@@oleksandralekseiev8370 привет из 2021, скоро покажут геймплей)
@oleksandralekseiev8370
@oleksandralekseiev8370 3 жыл бұрын
@@user-uw4ql2kd8k и тебе привет с 21. Устроился на работу .NET разработчиком. Ебаште, парни, оно того стоит)
@user-uw4ql2kd8k
@user-uw4ql2kd8k 3 жыл бұрын
@@oleksandralekseiev8370 О, а вот с этого места поподробнее. Если есть возможность расскажи, что изучал, какие требования были и что посоветуешь для начинающего? Заранее спасибо
@DARKNETOFFICIAL
@DARKNETOFFICIAL 3 жыл бұрын
А я так сделал: if (i >= Array.Length) { return; } Console.WriteLine(Array[i]); i++; PrintArray(Array, i);
@AlexandrSavchenko
@AlexandrSavchenko 3 жыл бұрын
Тоже так же сделал.
@denisk9728
@denisk9728 Жыл бұрын
+
@DrimingPlays
@DrimingPlays Жыл бұрын
static void Main(string[] args) { int[] myArray = { 9, 21, 5, 7, 11 }; Foo(myArray); } static void Foo (int[] myArray, int length = 0) { if (length >= myArray.Length) return; Console.WriteLine(myArray[length]); Foo(myArray, length + 1); }
@icu4
@icu4 3 жыл бұрын
Очень жаль, что в свое время по мере выхода не мог просматривать данный курс уроков (был полностью занят своим поступлением в ВУЗ). Уроки действительно очень понятные, очень многим данный язык похож на С++, который я относительно знаю. С динамическими структурами данных тоже знаком, поэтому для меня данные уроки понятны на 100. Почему я пишу это сейчас? А кто его знает :D Подумал, что все таки стоит отметить пользу данных роликов. Лучше уж поздно, чем никогда. Спасибо большое автору! Не останавливайся, продолжай. Мне нравится)
@uzbekspotter
@uzbekspotter 3 жыл бұрын
👍Спасибо за видео, внимательно слежу и изучаю язык.
@alex_creeper2752
@alex_creeper2752 3 жыл бұрын
Ооооочень жду ваших видео! Все понято , легко запоминаемо.
@zerinshirinli9956
@zerinshirinli9956 3 жыл бұрын
Какие курсы не смотрела, какие тесты не решала. Сначала стало скучно, поискала курсы на оконные приложения. Никакой пользы. Вернулась продолжаю изучение) Вы - лучший! Продолжайте в том же духе)
@HeIvis
@HeIvis 2 жыл бұрын
Есть какие результаты за год?
@_chill_relax_calm4647
@_chill_relax_calm4647 3 жыл бұрын
Поддерживающий комментарий для дальнейшего развития канала. Вы чрезвычайно понятно все объясняете
@nyashuka
@nyashuka 3 жыл бұрын
Интересно какие чувства у автора этого канала. Под каждым видео нет ни одного плохого комента, все только благодарят).
@sheonaner
@sheonaner 4 ай бұрын
на этом моменте я остановился изучать c# 9 месяцев назад, но сейчас за пару дней я снова дошёл до этого момента, надеюсь я дальше это дело не заброшу...
@SuperAbisal
@SuperAbisal 3 жыл бұрын
Спасибо ! Вы очень сильно подтянули уровень моих знаний.
@adamadamesko9759
@adamadamesko9759 3 жыл бұрын
Благодарствую Сергею за еще один урок.
@user-sq4ff4zp9b
@user-sq4ff4zp9b 2 жыл бұрын
Большое спасибо за урок! Каждый раз при просмотре домашки удивляюсь, как лаконично и просто вы объясняете весь материал!
@fenrir9022
@fenrir9022 3 жыл бұрын
Console.Write(«Спасибо за урок»);
@strannik-klp
@strannik-klp 3 жыл бұрын
namespace СамыеПолезныеУрокиKZfaq { class СиШарпУрокиОтСергея { public void СказатьСпасибо(string словаБлагодарности) { if(string.IsNullOrEmpty(словаБлагодарности)) { Console.WriteLine("Таким здесь не место!"); Environment.Exit(0); } Console.WriteLine(словаБлагодарности); } } class МоиКомментарии { static void Main(string[] args) { СиШарпУрокиОтСергея объектКомментирования = new СиШарпУрокиОтСергея(); string мойКомментарий = "Спасибо за урок! Это лучшие уроки, из всех, что я видел! Продолжай в том же духе! =)"; объектКомментирования.СказатьСпасибо(мойКомментарий); } } }
@geshoi
@geshoi 2 жыл бұрын
Всего лишь шесть строчек кода, а я так и не смог довести до ума свою программу, сделал где-то 85% правильно. Хорошо, что есть учитель, который всегда поможет.
@user-lx5vv3uu8u
@user-lx5vv3uu8u 3 жыл бұрын
Сергей, спасибо!!!
@artefakt4349
@artefakt4349 3 жыл бұрын
Спасибо за объяснения! Доходчиво и ясно! Перед просмотром вот моя версия с заполнением массива случайными числами и выводом его на консоль с использованием слова in. Только вот с названиями методов я наверно погорячился. static void fill_arr(in int[]Arr,int i) { if (i
@dobbmnx1690
@dobbmnx1690 3 жыл бұрын
Огромное спасибо за уроки
@user-ck3tt2bq1q
@user-ck3tt2bq1q 3 жыл бұрын
Спасибо за урок👍
@user-dh8mg3gb6n
@user-dh8mg3gb6n 3 жыл бұрын
Спасибо за ещё один отличный урок)
@poplop7492
@poplop7492 3 жыл бұрын
А сколько будет еще роликов в курсе по c#
@MinRide
@MinRide 2 жыл бұрын
Спасибо за ролики, Сергей!
@kerpik2025
@kerpik2025 3 жыл бұрын
Топ как обычно 👍👍
@crackall1946
@crackall1946 3 жыл бұрын
Заканчиваю твой плейлист по c++, потом собираюсь смотреть этот
@Roni_Gerto
@Roni_Gerto 3 жыл бұрын
Спасибо за очередной урок!
@3x__
@3x__ 3 жыл бұрын
Спасибо за урок!
@BuFFerS103
@BuFFerS103 3 жыл бұрын
Ура! *Спасибо*
@hrachkirakosyan4722
@hrachkirakosyan4722 3 жыл бұрын
Наконец спасибо;)
@andremartynov401
@andremartynov401 3 жыл бұрын
Оу ессс!! Наконец-то
@user-kz4xm7zk5c
@user-kz4xm7zk5c 3 жыл бұрын
Благодарствую!
@KlevaGameS
@KlevaGameS 8 ай бұрын
Благодарю за урок.
@valentinevdokimov4002
@valentinevdokimov4002 Жыл бұрын
Сделал слегка по-другому! Приятно осознавать, что чему то научился.)
@elfinroom1178
@elfinroom1178 3 жыл бұрын
спасибо за грамотный разбор
@bebra9471
@bebra9471 Жыл бұрын
Если сделать так Console.WriteLine(a[h]); if (h < a.Length - 1) { Sum(a, h + 1 ); } вместо 4 методов вызовиться 3 и получиться быстрее. В этом случае мы сразу выходим из метода когда индекс доходит до 2, и не ждем пока случиться еще один вызов метода чтобы выйти
@GODNET-qe3mu
@GODNET-qe3mu 3 жыл бұрын
Еее спасибо!)
@flowifreak387
@flowifreak387 3 жыл бұрын
Спасибо очень помог!
@user-od8mn6ns2z
@user-od8mn6ns2z 2 жыл бұрын
Это дз пошло на ура , как и следующие, но вот с суммой цифр числа - беда ( Спасибо за разбор!)
@ifelru
@ifelru 2 жыл бұрын
Спасибо за отличное решение!
@user-kk6ob5ud3n
@user-kk6ob5ud3n 3 жыл бұрын
Спасибо!
@egorkalmykov4003
@egorkalmykov4003 3 жыл бұрын
Спасибо !!!
@OleksandrOryshchenko
@OleksandrOryshchenko 3 жыл бұрын
Сделал таким образом... Практически идентично :) class Program { static void PrintArr(int[] arr, int i) { if (i < arr.Length) { Console.Write("\t" + arr[i]); i++; PrintArr(arr, i); } } static void Main(string[] args) { int[] myArray = new int[5] { 1, 2, 3, 4, 5 }; PrintArr(myArray,0); } } } Правда номер индекса массива надо указывать в параметрах метода, не подумал про дефолтное значение :)
@DARKNETOFFICIAL
@DARKNETOFFICIAL 3 жыл бұрын
Походу все так сделали: if (i >= Array.Length) { return; } Console.WriteLine(Array[i]); i++; PrintArray(Array, i);
@leskhanmuratuly5374
@leskhanmuratuly5374 3 жыл бұрын
Спасибо)
@antonkudrya3870
@antonkudrya3870 3 жыл бұрын
Сергей, добрый вечер! Практически полностью посмотрел ваши уроки по с++ и хотел бы выразить вам огромную благодарность за ваши труды - вы очень хорошо объясняете материал, делая акценты на всем, что нужно) Скажите пожалуйста, вы не планировали сделать отдельные теоретические уроки ( возможно с практической реализацией) сортировок, на подобии уроков про динамические структуры данных? P.S. Пишу сюда, потому что уроки по с++ вышли давно.
@geraltt1455
@geraltt1455 3 жыл бұрын
отлично
@dobbmnx1690
@dobbmnx1690 3 жыл бұрын
Стоит ли читать C# для чайников Мюллера?
@Petrov521
@Petrov521 2 жыл бұрын
сделал так: static void printarray(int [] myarray, int firstindex) { Console.WriteLine(myarray[firstindex]); if (firstindex == (myarray.Length - 1)) { return; } firstindex++; printarray(myarray, firstindex); } static void Main(string[] args) { int[] myarray; myarray = new int[5] { 1, 2, 3, 4, 5 }; printarray(myarray, 0); }
@artefakt4349
@artefakt4349 3 жыл бұрын
Сергей или кто-нибудь! Пожалуйста, подскажите как включить стрелочки в методах? Те, что появляются в по сказке, когда ставишь скобки (перегрузки). У меня они не появляются и в интернете только нашёл как отключить сами подсказки (а они-то как раз выводятся нормально, но без стрелочек). Спасибо!
@mrdgnf
@mrdgnf 2 жыл бұрын
class Program { static void PrintMas(in T[] array, int i = 0) { if (i < array.Length) { Console.WriteLine(array[i]); PrintMas(array, i + 1); } } static void Main(String[] args) { int[] array = { 1, 2, 3,1,2,3,4,5,1,2,3,4}; PrintMas(array); } }
@fox__gun6420
@fox__gun6420 3 жыл бұрын
а что если массив был бы многомерным? как определять, закончилась ли часть массива ( [вот эта часть, а здесь понятно] )?
@beshenyy_sobaken
@beshenyy_sobaken Жыл бұрын
У меня так вышло: internal class Program { static void Print(int[] array, int index = 0) { if (index >= array.Length) return; Console.WriteLine(array[index]); Print(array, index + 1); } static void Main(string[] args) { int[] array = { 3, 6, 9, 12, 15 }; Print(array); } }
@ohshie
@ohshie Жыл бұрын
до просмотра: задание показалось очень легким. разве что не уверен что код супер хороший) Но рабочий) public static void PrintArray(int[] inputArray, int cycle) { Console.WriteLine(inputArray[cycle]); cycle++; if (cycle >= inputArray.GetLength(0)) { return; } PrintArray(inputArray, cycle); }
@ohshie
@ohshie Жыл бұрын
ага, забыл про индекс. получилось благодаря этому сократить остальной код)
@user-zi2fh7zp1q
@user-zi2fh7zp1q 2 жыл бұрын
Как легко, а я знаете как сделал. Вы учили работать с Ref, я в методе вызывал другой метод, удалял первый элемент массива, возвращался в рекурсию и так до тех пор пока в массиве не оставалось элементов.
@yelenaabazyan7016
@yelenaabazyan7016 3 жыл бұрын
Обидно замечать, что с каждым роликов все меньше и меньше просмотров и лайков, хоть все предельно понятно и это, пожалуй, лучший курс по Шарпу. Максимально понятно и приятно. Сергей, не останавливайтесь, пожалуйста, Вы нам нужны!!)))
@vladosjameson5217
@vladosjameson5217 3 жыл бұрын
это нормально,было бы странно,если бы было столько чем дальше тем труднее и многие сдаются
@user-np1fq9ux9z
@user-np1fq9ux9z 6 күн бұрын
Я как всегда, захожу в комменты по решению домашки и каждый раз у всех решение короче :DD вот моё) static void Recursion(ref int[] array, ref int b) { Console.WriteLine(array[b]); b++; if (b >= array.Length) { return; } else { Recursion(ref array, ref b); } } static void Main(string[] args) { int[] array = {10, 20, 30, 40, 50}; int b = 0; Recursion(ref array, ref b); }
@kirambatv9248
@kirambatv9248 Жыл бұрын
А был ли смысл сделать функцию Foo с двумя переменными с модификатором ref?
@user-rx3xs8qd8t
@user-rx3xs8qd8t 3 жыл бұрын
Сделал чуть подругому! static void foo(int[]arr, int value) { Console.WriteLine(arr[value]); value++; if (value == arr.Length) return; else foo(arr,value); } static void Main(string[] args) { int[] arr = { 1, 2, 3, 4, 5 }; int value = 0; foo(arr,value); }
@joobboxx
@joobboxx Жыл бұрын
Имеет ли место быть такая реализация решения? static void Foo(int[] array, int index = 0) { if (index < array.Length) Console.WriteLine(array[index]); else return; index++; Foo(array, index); }
@maxzaranik2359
@maxzaranik2359 3 жыл бұрын
18)
@steshapokosova1775
@steshapokosova1775 3 жыл бұрын
У меня так по 4 строчки кода, у автора три... не догадалась))... Первый метод заполняет массив Рандомно с помощью рекурсии, второй выводит его на экран.. Рандом когда выполняется в методе через рекурсию не успевает рандомить.. вынуждена была вынести его в другой метод... static void RandomMassiv(ref int[] Array, int SIZE, Random Rand) { if (SIZE == 0) return; Array[SIZE-1] = Rand.Next(100); RandomMassiv(ref Array, SIZE-1, Rand); } static void iMassiv(ref int[] Array, int SIZE) { if (SIZE==0) return; Console.WriteLine(Array[SIZE-1]); iMassiv(ref Array, SIZE-1); }
@user-ix4cm7ch5z
@user-ix4cm7ch5z Жыл бұрын
сделал это задание по типо прошлого в уроке
@Golden_Dragon_SO2
@Golden_Dragon_SO2 Жыл бұрын
Как вы запустили метод, когда в методе Main не было входа а был массив myArray? 1:10
@753bc9
@753bc9 Жыл бұрын
Дальше в видео ведь написали вызов функции
@bazed41
@bazed41 3 жыл бұрын
У меня так получилось: static void WriteArray(int[] array, int index = 0) { if(index >= array.Length) { return; } Console.WriteLine(array[index]); index++; WriteArray(array, index); }
@DARKNETOFFICIAL
@DARKNETOFFICIAL 3 жыл бұрын
Лол я также сделал) if (i >= Array.Length) { return; } Console.WriteLine(Array[i]); i++; PrintArray(Array, i);
@Proffiservices
@Proffiservices 2 жыл бұрын
Подскажите , почему нужно использовать Foo(ref array, i +1);??? , а не Foo(ref array, i ++);
@Proffiservices
@Proffiservices 2 жыл бұрын
@@kompotalive 4:21
@Roni_Gerto
@Roni_Gerto 3 жыл бұрын
Не по теме, но можно ли убавить анонимный метод из события?
@hrachkirakosyan4722
@hrachkirakosyan4722 3 жыл бұрын
1
@user-vi7ts2we5t
@user-vi7ts2we5t 3 жыл бұрын
немного по-другому получилось, но суть та же : static void ShowArray (int [] Array,int index = 0) { Console.WriteLine(Array[index]); if (index == Array.Length-1) return; ShowArray(Array,++index); }
@user-jq8jm9xz2k
@user-jq8jm9xz2k 3 жыл бұрын
Я реализовал это вот таким образом: using System; namespace Lesson { class Program { static void PrintArr(int[] arr, int i = 0) { if (i < arr.Length) { Console.WriteLine(arr[i]); } else { return; } PrintArr(arr, ++i); } static void Main(string[] args) { int[] arr = { 6,7,32,1 }; PrintArr(arr); } } }
@CHHazi
@CHHazi 7 ай бұрын
static void Cicl(int[] array, int index = 0) { if (index < array.Length) { Console.WriteLine($"Элемент под индексом {index} = {array[index]}"); index++; Cicl(array, index); } } static void Main(string[] args) { int[] array = { 22, 33, 53, 42, 51}; Cicl(array, 0); }
@user-hk5le8nv7x
@user-hk5le8nv7x 2 жыл бұрын
почему если при рекурсивном вызове метода в параметре индексе указывать декремент, он не увеличивает индекс? Т.е. если вместо i+1 указать i++, i не увеличивается на 1, и в метод передается первоначальный индекс, почему?
@user-hz2cj5ek4p
@user-hz2cj5ek4p Жыл бұрын
Потому что внитри метода надо тоже передавать i. Т.е. при входе в рекурсию (когда вызывается метод внутри метода), туда надо не только массив передавать, но и сам i. static void Draw(int[] ArrayToDraw, int i = 0) { Console.WriteLine(ArrayToDraw[i]); i++; if (i == ArrayToDraw.Length) return; Draw(ArrayToDraw, i); }
@sh4rk717
@sh4rk717 5 ай бұрын
Используйте ++i
@Pikulok1
@Pikulok1 2 жыл бұрын
Можно было в 2 параметра?) Блин, а я голову ломал, как создать рекурсию с одним параметром на основе предыдущих уроков)) static void ArrayPrinter(int[] array) { Console.WriteLine(array[0]); if (array.Length != 1) { Array.Reverse(array); Array.Resize(ref array,array.Length-1); Array.Reverse(array); ArrayPrinter(array); } }
@clownkrusty9950
@clownkrusty9950 Жыл бұрын
Сначала сделал так, но выводился только первый элемент массива, и каждый раз по циклу почему то данные массива и индекса удалялись static void foo (params int [] massive) { int i = 0; Console.WriteLine(massive[i]); if (i == massive.Length) return; i++; foo(); } static void Main(string[] args) { foo(1, 22, 333, 4444, 55555); }
@raheelscar5886
@raheelscar5886 3 жыл бұрын
Привет, подскажите плис, после отладки в конце консоли выдает сообщение c:\users\1\source epos\ConsoleApp2\bin\Debug etcoreapp3.1\ConsoleApp2.exe(процесс 6069) завершил работу с кодом 0. Все нормально выполняется, но как убрать это? ой я оказывается открыл net.core вместо net.framework, все робит
@t3m8ch79
@t3m8ch79 3 жыл бұрын
А зачем это убирать? Если программа завершена с кодом 0, значит всё нормально
@raheelscar5886
@raheelscar5886 3 жыл бұрын
@@t3m8ch79 ок, я просто совсем новичок, подумал что то неправльно сделал
@kirillkhlopkoff252
@kirillkhlopkoff252 Жыл бұрын
а я немного другим вариантом решал: class Program { static void Foo(int i, int length) { Console.WriteLine(i); if(i
@anvar2939
@anvar2939 3 жыл бұрын
как называется Call Stack на русском?
@user-wp6up7pg5i
@user-wp6up7pg5i 3 жыл бұрын
Вызов стека, разве нет?
@GODNET-qe3mu
@GODNET-qe3mu 3 жыл бұрын
Напишите мне сюда через год и спросите выучил ли я с#, я еще на с++ сейчас но через месяц начинаю этот курс)
@datboi5601
@datboi5601 3 жыл бұрын
Не забросил?
@DARKNETOFFICIAL
@DARKNETOFFICIAL 3 жыл бұрын
@@datboi5601 походу забросил
@user-ir5ut4tq3e
@user-ir5ut4tq3e Жыл бұрын
Немного по другому сделал ^^ static void ArrayPrint(int[] anyArr, int i = 0) { Console.WriteLine($"Index {i}: " + anyArr[i]); if (i >= anyArr.Length -1) { return; } i++; ArrayPrint(anyArr , i); }
@user-zi2fh7zp1q
@user-zi2fh7zp1q 2 жыл бұрын
пока делал домашку чуть не спалил комп)
@firemanhood1526
@firemanhood1526 3 жыл бұрын
Я так понимаю, если в одном методе сразу вывел массивы и посчитал сумму, это говнокод?
@bulbianopyano7134
@bulbianopyano7134 2 жыл бұрын
У меня вот что получилось: static void PrintArray(ref int[] arr, int size) { if (size == 0) Console.WriteLine("Все"); else { Console.WriteLine(arr[arr.Length - size]); PrintArray(ref arr, --size); } }
@evilgamer2503
@evilgamer2503 Жыл бұрын
А я через длину масива сделал выход из рекурсии
@molchanov823
@molchanov823 3 жыл бұрын
static int Print (int [] Array, int i = 0) { if (i >= Array.Length) { return 0; } Console.WriteLine(Array[i]); return i + Print(Array, i + 1); }
@abdussattarkassymbekov3643
@abdussattarkassymbekov3643 3 жыл бұрын
Я бы предложил задачу на переворот какого-то (n-го) количество элементов, без использования массива. Пример: Ввод: n=3 12 3 4 Вывод: 4 3 12
@purple299
@purple299 11 ай бұрын
Я всё сделал правильно, но у меня происходит сбой в компелировании программы, плак плак.
@immelby3155
@immelby3155 2 жыл бұрын
Лол, я по своей глупости вывел 2-мерный массив
@anna-3524
@anna-3524 3 жыл бұрын
У меня пара вопросов, добрые люди, помогите разобраться! 1. Почему при рекурсивном вызове метода мы используем i+1 а не i++ ? И почему если поставить i++ будет рекурсивно выводиться первый элемент массива? 2. Почему после вывода массива консоль все равно пишет StackOverflowException? Буду невероятно рада чьему-либо ответу.
@mumanmuman9119
@mumanmuman9119 3 жыл бұрын
Не могу ответить почему I++ выводит 0(но вообще i++ на данный момент есть 0, и лишь в дальнейшем он станет 1, выходит так что мы вызываем метод снова с 0.) А вот ++i отлично работает. Ну к примеру у тебя int i = 0; следующая строка: Console.WriteLine(i++); Ну и 3 строка Console.WriteLine(i); В первом выводе(2 строка) мы выведем 0, а вот в 3 строке вывод будет таков: 1. Так инкремент работает, почитай про инкремент и декремент. PS: ++i по факту увеличивает число на 1, в той же строке грубо говоря
@bulbianopyano7134
@bulbianopyano7134 2 жыл бұрын
Потому, что между ++i и i++ при передаче параметра i в метод есть разница
@akstis4183
@akstis4183 3 жыл бұрын
Мне больше интересно, как можно реализовать 3-е(по-моему) д\з. Где надо найти сумму цифр числа, например 512(5+1+2=8). А так, спасибо за разбор
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
я сложный метод нашел. прошу ввести число с консоли. перевожу в строку. перевожу в массив чаров. каждый чар опять в строку и в инт. получаю массив интов
@HATAHKE762
@HATAHKE762 3 жыл бұрын
Я для себя так решил: static void Sum(int i, int p = 0, int t = 0) { if (i != 0) { t = i % 10; p += t; i = (i - t) / 10; if (i == 0) { Console.WriteLine(p); } Sum(i, p, t); } }
@dronsan-unity7302
@dronsan-unity7302 3 жыл бұрын
@@HATAHKE762 по царски решил)
@HATAHKE762
@HATAHKE762 3 жыл бұрын
@@dronsan-unity7302) Посмотрим, как это сделает мастер.
@mumanmuman9119
@mumanmuman9119 3 жыл бұрын
@@HATAHKE762 static void SumNumber(int num, int sum = 0) { if(num == 0) { Console.WriteLine(sum); return; } sum += num % 10; num = num / 10; SumNumber(num, sum); }
@Dirtywoodpecker
@Dirtywoodpecker 3 жыл бұрын
Разочарован... Счел необязательные параметры, в данном задании, костылями. Решил задачу через array.skip. А вы тут эти костыли в массы толкаете.
@user-mc7kc2bd8b
@user-mc7kc2bd8b 2 жыл бұрын
Спасибо!
@artemky3bmu45
@artemky3bmu45 10 ай бұрын
Спасибо!!!
@amigo75833
@amigo75833 Жыл бұрын
static void Print(int[] arr, int i = 0) { if (i >= arr.Length) return; Console.WriteLine(arr[i]); i++; Print(arr, i); }
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 8 МЛН
Was ist im Eis versteckt? 🧊 Coole Winter-Gadgets von Amazon
00:37
SMOL German
Рет қаралды 30 МЛН
Неприятная Встреча На Мосту - Полярная звезда #shorts
00:59
Полярная звезда - Kuzey Yıldızı
Рет қаралды 7 МЛН
Зачем нужны указатели в C++?
8:14
Dima
Рет қаралды 1,9 М.
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
Рекурсия. Репка и матрёшка
18:37
Тимофей Хирьянов
Рет қаралды 116 М.
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 8 МЛН