ЧТО ТАКОЕ РЕКУРСИЯ C# | ПЕРЕПОЛНЕНИЕ СТЕКА | СТЕК ВЫЗОВОВ |  C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 49

ЧТО ТАКОЕ РЕКУРСИЯ C# | ПЕРЕПОЛНЕНИЕ СТЕКА | СТЕК ВЫЗОВОВ | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 49

#SimpleCode

4 года назад

109,700 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@АлександрМеньков-у2и
@АлександрМеньков-у2и - 28.01.2022 16:26

Сергей! Сделайте, пожалуйста, ещё домашних заданий по С#. Пусть они будут платными, он не дорогими, мне кажется будут востребованы!

Ответить
@yyegor
@yyegor - 10.02.2022 13:29

Здравствуйте, я нихуя не понял про ООП, помогите пожалуйста

Ответить
@АлексейКавылин
@АлексейКавылин - 17.02.2022 09:57

автору спасибо. Домашние задания однозначно способствуют закреплению темы. Но слишком уж быстро автор скачет по материалу. сходу не понять

Ответить
@RGames-qn5tl
@RGames-qn5tl - 23.02.2022 21:59

Домашние задания, очень интересны и разумеется очень нужны, ведь без практики бессмысленно изучать теорию!) Огромное спасибо за ваши уроки!

Ответить
@shedryn
@shedryn - 09.03.2022 12:18

А что в итоге лучше (быстрее /оптимизированее)? Рекурсия или цикл?

Ответить
@АлександрСтогов-б5п
@АлександрСтогов-б5п - 17.03.2022 01:04

Спасибо большое, надеюсь у вас и дальше будет интересовать ютуб.

Ответить
@АлександрСтогов-б5п
@АлександрСтогов-б5п - 17.03.2022 02:05

Домашки огонь, вот бы побольше.

Ответить
@romanmarchuk247
@romanmarchuk247 - 01.04.2022 15:58

Домашні завдання потрібні)))

Ответить
@jangsung-rak37
@jangsung-rak37 - 28.05.2022 10:53

Спасибо за домашку

Ответить
@Novikov48
@Novikov48 - 18.06.2022 18:47

Рекурсия - ненужная и вредная вещь

Ответить
@brickgaming1240
@brickgaming1240 - 21.06.2022 18:35

ДЗ == ТОП

Ответить
@haiwiaksbab7362
@haiwiaksbab7362 - 23.06.2022 00:45

Твои забигания на перед все рушат

Ответить
@АлександрГребенюк-д9ъ
@АлександрГребенюк-д9ъ - 19.07.2022 23:01

Вот там где рекурсия item там я уже нихрена не понял прям совсем ничего. И домашку пожалуй тоже пропущу.

Ответить
@Captain_W
@Captain_W - 20.07.2022 02:25

Конечно домашние задания нужны! Только с помощью них мы понимаем все пройденные материалы)

Ответить
@Estarossa_Miloserdia
@Estarossa_Miloserdia - 02.08.2022 19:10

Ура дз

Ответить
@olgaivolgin3902
@olgaivolgin3902 - 04.08.2022 20:07

Сергей огромное спасибо , у вас талант объяснять легко и профессионально !
Уроки остаются в памяти и придают уверенность !

Ответить
@Baerer
@Baerer - 05.08.2022 14:26

Немногие смогли дойти до сюда, жаль. Видимо не все готовы так много времени посвятить проге.

Ответить
@АртемНиколаевич-о7п
@АртемНиколаевич-о7п - 26.08.2022 12:15

Большое спасибо за урок.

Ответить
@andrey4194
@andrey4194 - 01.09.2022 16:03

Вроде получились домашки, но есть проблемка в 2 и 3 - после верного решения, продолжается вывод предыдуших решений со стека, и как его остановить я не понял, нужно разбор смотреть)

Ответить
@Denis.ArtMod
@Denis.ArtMod - 12.09.2022 12:13

Что ж все так запутано? Уроки великолепны, но вторую часть урока вообще не понял. Еще и переменные, которые отличаются только большой или малой буквой это взрыв мозга. Думаю, что не стоит так забегать вперед, ведь уроки смотрят не только люди с опытом в программировании. Всем удачи, мы справимся!
Домашние задания ОБЯЗАТЕЛЬНО нужны! Где еще новичкам практиковатся?
Хотя Д/з решил вообще без проблем. Спасибо

Ответить
@MrTopEbaka
@MrTopEbaka - 26.09.2022 08:02

3 метод у меня такой

static void Prikol(int a,int i =0,int sum=0)//
{
string str; str=Convert.ToString(a);
char[] chars = str.ToCharArray();//конвертирую строку в массив char
sum += int.Parse(chars[i].ToString());//конвертирую char в строку потом в int32
i++;
if (i == chars.Length) { Console.WriteLine("Сумма "+a+" = " + sum);return; }
Prikol(a,i,sum);
}
//Cпасибо за уроки!!!

Ответить
@speerit9673
@speerit9673 - 28.09.2022 20:49

домашки нужны и очень интересно ломать себе голову

Ответить
@outpout8160
@outpout8160 - 02.10.2022 18:23

У каждой функции есть свой стек, или он общий для всей программы?

Ответить
@АндрейДанилов-м2э
@АндрейДанилов-м2э - 03.10.2022 02:20

Конечно нужны домашнии задания! Они и их разборы ОЧЕНЬ интересные)))) Спасибо☺

Ответить
@ЕлизаветаГирёва-ъ1п
@ЕлизаветаГирёва-ъ1п - 20.10.2022 22:57

а можете сделать простую рекурсию для факториала, у меня что то не получается)

Ответить
@ШколатрейдингаАлександраТимофе
@ШколатрейдингаАлександраТимофе - 03.11.2022 14:38

Спасибо огромное за ваши труды! Подскажите пожалуйста, что означает значение переменной double = 5d; что означает 5d ? Заранее спасибо!

Ответить
@Павел-щ5р8ы
@Павел-щ5р8ы - 14.11.2022 15:36

Из личного опыта пример где можно применить рекурсию... это удаление файлов и папок, если на сайте много страниц и нужно получитьти какую либо информацию (парсинг)

Ответить
@SweetsleepS
@SweetsleepS - 23.12.2022 22:58

using System;


namespace Домашнее_задание_рекурсия
{
internal class Program
{
static void Sum(int i, ref int sum, params int[] array)
{
if (i < array.Length)
{
sum += array[i];
i++;
Sum(i, ref sum, array);
}


}
static void Foo(int i,params int[] array)
{

if (i <=array.Length)
{
Console.Write(iarray[i]+ " ");
i++;
Foo(i,array);
}

}
static void Sum2(int a, ref int sum)
{
if (a > 0)
{
int c = a / 10;
int d = a - c * 10;
sum += d;
a = c;
Sum2(a,ref sum);
}

}


static void Main(string[] args)
{

int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Foo(0,array);
Console.WriteLine();
int sum = 0;
Sum(0,ref sum,array);
Console.WriteLine("Сумма всех элементов массива равна " + sum);
Console.WriteLine("Введите любое число");
int a = int.Parse(Console.ReadLine());
sum= 0;
Sum2(a, ref sum);


Console.WriteLine($"Сумма всех элементов числа равна {sum }");
}
}
}

Ответить
@ЛеонидБодак
@ЛеонидБодак - 01.04.2023 21:56

ДЗ очень нужны! По сути задачу можно и самому себе придумать, но во-первых это её еще придумать надо, а во-вторых потом не с чем сравнить то что ты наворотил. А так смотришь потом, и думаешь "Тю, так можно же было все значительно проще сделать!")) Ну или "О, и я так сделал", это тоже радует)

Ответить
@eudgan
@eudgan - 06.04.2023 13:20

Чтобы рекурсивный метод возвращал значение, пришлось повозиться.

using System;

namespace Lessons_9
{
internal class Program
{
static void PrintArray(in int[] array, int index = 0)
{
Console.WriteLine(array[index]);
if (index >= array.Length - 1)
{
return;
}
++index;
PrintArray(array, index);
}

static int SumArray(in int[] array, int index = 0)
{
if (index == array.Length)
{
return 0;
}

return array[index] + SumArray(array, ++index);
}

static int SumNumberOfArray(int number, int maxIndex)
{
if (maxIndex == 0)
{
return number;
}
int expo = Convert.ToInt32(Math.Pow(10, maxIndex));
return number / expo + SumNumberOfArray(number % expo, --maxIndex);
}

public static void Main(string[] args)
{
int[] myArray = { 2, 5, 6, 3 };

Console.WriteLine("Задание 1 вывод массива");
PrintArray(myArray);
Console.WriteLine();

Console.WriteLine("Задание 2 сумма элементов массива");
Console.WriteLine(SumArray(myArray));
Console.WriteLine();

Console.WriteLine("Задание 3 сумма цифр числа");
Console.WriteLine("Введите число, чтобы найти сумму цифр числа");
string number = Console.ReadLine();
int result = SumNumberOfArray(int.Parse(number), number.Length - 1);
Console.WriteLine(result);
}
}
}

Ответить
@PotatOriginal
@PotatOriginal - 14.04.2023 17:43

Ты умный

Ответить
@smokemachinerealnazgul
@smokemachinerealnazgul - 20.04.2023 23:28

Смотрю с первого видео, мне 13 лет, учу по книгам и твоим видеоурокам уже второй месяц, хочу стать backend разрабом через пару лет, спасибо за уроки

Ответить
@thenyan6832
@thenyan6832 - 30.06.2023 20:30

Я заметил вот что, после того как выполняется команда return, то в каждом рекурсивном методе выполняются как бы остатки этого метода, то есть все что было после вызова метода, будет выполнятся. С помощью той же рекурсии можно создать простой метод инвертирования того же массива

Ответить
@xd_play_dynast_io2062
@xd_play_dynast_io2062 - 30.07.2023 09:02

Ваши задания очень интересны)👍

Ответить
@devastatorex_d8568
@devastatorex_d8568 - 07.08.2023 11:29

Спасибо вам большое Сергей! Благодаря вам непростые темы становятся гораздо легче и понятнее!

Ответить
@artemky3bmu45
@artemky3bmu45 - 30.08.2023 09:43

Thank you

Ответить
@ZuraevD
@ZuraevD - 23.09.2023 11:09

жмакнуть

Ответить
@therollinrockss
@therollinrockss - 03.11.2023 11:25

Сергей, усыновите меня

Ответить
@sheonaner
@sheonaner - 06.02.2024 16:52

Сложнааа

Ответить
@SofiiaPopadiuk
@SofiiaPopadiuk - 21.03.2024 13:47

єєє в мене вийшло зробити 1 завдання переходжу до наступних
using System;

namespace Homework
{
internal class Program
{
public static void Main(string[] args)
{
int[] myArray = { 1, 2, 3, 4, 4 };

Output(myArray, 0);
}

static void Output(int[] array, int index)
{
if (index >= array.Length)
return;

Console.WriteLine(array[index]);

Output(array, index + 1);
}
}
}

Ответить
@sosiskakiller5685
@sosiskakiller5685 - 03.05.2024 16:46

Спасибо большое !

Ответить
@sosiskakiller5685
@sosiskakiller5685 - 10.05.2024 17:49

Домашние задания это топ !!!!

Ответить
@vael6555
@vael6555 - 11.05.2024 15:59

Я уже говорил тебе, что такое безумие?

Ответить
@OctavianRosioru
@OctavianRosioru - 07.11.2024 14:06

Прошел курс один раз, затем сделал паузу на шесть месяцев, работал с ChatGPT. Потом снова вернулся к курсу и стал понимать намного больше. Теперь записываю уроки в тетрадь, с помощью GPT пишу примеры и прошу объяснить их подробнее — так материал усваивается гораздо лучше. Спасибо за всё

Ответить
@dmnnt
@dmnnt - 23.11.2024 10:57

Не совсем понял в чем смысл рекурсии. Исходя из информации в видео, понял, что рекурсия может быстро заполнять стек вызовов (при каждом вызове функции данные в ней копируются). И в примера с вложенными объектами Child цикл for выглядит более понятным и простым.

Ответить
@dmnnt
@dmnnt - 23.11.2024 11:08

чтобы понять рекурсию, нужно понять рекурсию.

Ответить

Ярамир Низамутдинов «Әнкәйләргә» Татарское видео и музыка — TATSHOP.RU
Ярамир Низамутдинов «Бардым урманнарга» Татарское видео и музыка — TATSHOP.RU