КАК НАРИСОВАТЬ ТРЕУГОЛЬНИК В КОНСОЛИ C# | C# ДОМАШНИЕ ЗАДАНИЯ | #5
Вставка
- Опубліковано 28 вер 2019
- ✅ИСХОДНЫЙ КОД УРОКА bit.ly/2okkTM9
✅Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=)
✅Доступ к исходному коду и спонсорство / simplecode
✅ donatepay.ru/don/SimpleCode
✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ Telegram канал t.me/SergeySimpleCode
Уроки по программированию
✅Наша группа ВК smplcode
✅Подписывайтесь на канал / @simplecodeit
Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)
✅Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode
✅ donatepay.ru/don/SimpleCode
✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
Спасибо Сергей. Дай подсказку на то как сделать пирамиду из звёздочек пожалуйста!
Все становится довольно просто, когда понимаешь, что тебе нужно рисовать треугольники по очереди, а не все 4 в одном цикле)))
Почти 2 часа пытался сделать дз, в итоге сделал! Спасибо бошьшое за невероятно подробные, лучшие в интернете, уроки!
эх... у меня это заняло чутка больше времени... запутался с этими звездочками было
Да понятнее некуда
ты пытался сделать 2 часа, а в итоге решил наврать в комментах))) тут либо понял и сделал, либо непонял и соответственно не смог выполнить.
я делал 1,5 недели :)
@@Cold777Flame очень глупая логика
Сидишь прекрасно понимаешь весь урок и тут дз который ты в душе не знаешь как делать
вхвхв
мозговзрывающее дз, вроде бы все легко и логично, но при реализации просто голова кипит. Даже если не начну программировать, подобная разминка мозга пойдет на пользу, спасибо.
Он изначально нам показал не корретное условие задачи , на примере треуг.7 на 10 символов а он делает 5 на 5 , равносторонний . Задача не соответствует решению.
Как успехи?
@@Nikelover.warspear программистом не стал. Стал водителем погрузчика =DDD... После того как уволили за пьянку пошёл сис админить в компанию работающию по аутсорсу. Набрался опыта. Сейчас начальник ит отдела =D. Работа наконец то радует.
Я потратил три дня думая как же это можно реализовать... даже гуглил на третий день и всё равно ничего не понял, пришлось смотреть решение ДЗ и кажется надо ещё пару раз пересмотреть чтобы до конца понять, хотя саму суть я уловил, но надо закрепить.
Спасибо за ДЗ!
@@notewgt сейчас я 3-4 дня решал другое дз на курсах )
Братан это ЖИЗА!!
odin v odin takaya je situacia segodnya rovno 3 den zakanchivaetsya :D
@@etalzone961 Ну значит ты особенный. Я так и не понял как это делать. Хотя опыт в программировании есть, а дз сложное
30 минут парни. кроме этих курсов больше ничего не смотрел
я использовал дополнительную переменную для отрисовки пробелов) а оказалось всё на много проще. Спасибо тебе за крутые уроки, учу с нуля) Хочу что-то поменять в своей жизни, заняться тем к чему душа лежит
я тоже пошел через доп переменную)) код получился более громоздким)
Я тоже пошел этим путем)) Учу тоже с нуля, решил переквалифицироваться из дизайнера в программиста
@@valcom2022 как успехи?
@@Putintheleader1661 Отлично! Работаю теперь API Developer-ом!
@@valcom2022 расскажешь как ты сделал это? Просто я щя начал тоже с самого начало,
Я так и не решил, но в ходе попыток решения понял как работают вложенные циклы. В итоге решение оказалось проще чем я думал)
Спасибо за уроки Сергей, вас надо клонировать и распределить по вакансиям "учитель информатики" в ВУЗах и школах)). Грамотная и очень понятная подача материала, спасибо большое.
16:41 Читинг- сила)) Юрий Спасокукоцкий одобряет
читинг это сила!!!
Это моя первая преграда в изучении С#, пошло 2 дня что бы осознать Что Как и Почему так работает. Спасибо за видеоуроки.
как успехи?
Сергей, спасибо ! Очень толковые разборы задач, как раз то, что нужно программистам для реальной работы ! Ставлю класс !
Делал ДЗ около 6 реальных часов. Несмотря на такие показатели времени, решение самостоятельно принесло нереальный кайф)
чувствую себя самым тупым человеком на земле из за того что не смог сделать это дз
В итоге тоже самое протупил
Да, сделать то я его сделал. Когда начал смотреть решения с этого ролика, понял что супер тупой и сделал слишком большой код:/
сделал только первые 2 треугольника, с отступами протупил
@@ar0cka763 говнокод тоже вид кода, особенно если пишешь какую то специфическую программу первый раз, главное чтобы работало
Ты не один такой, но я тут только за подсказкой.
И вот я снова тут (пришлось дропнуть изучение языка на пол года), и вот мне снова это задание взорвало мозг. Благо теперь на решение ушло не два часа, а 30 минут. Спасибо за такие шикарные задания))
Для тех, кто не понял.
Сперва нарисуйте на бумажке такой треугольник с решетками(в примере ниже будет первый треугольник)
#
##
Потом попробуйте нарисовать треугольник без for, а только с Console.Write и Console.WriteLine
Получится что - то такое:
Console.Write("#");
Console.WriteLine();
Console.Write("#");
Console.Write("#");
Console.WriteLine();
и так далее.Теперь попробуем сделать это через for:
for (int i = 0; i < 1; i++)
{
}
это обычный for, он будет повторять то, что внутри 1 раз, верно ?
почему 1 раз ? Потому что на первой строке только одна решетка.
пихаем туда Console.Write(#) и вне цикла переходим на новую строку
for (int i = 0; i < 1; i++)
{
Console.Write("#");
}
Console.WriteLine();
Окей, но нам-то нужно, чтобы теперь не одна решетка рисовалась, а 2..Создаем новую for снизу, и вместо 1 пишем 2.
Должно получиться так:
for (int i = 0; i < 1; i++)
{
Console.Write("#");
}
Console.WriteLine();
for (int i = 0; i < 2; i++)
{
Console.Write("#");
}
Console.WriteLine();
Теперь надеюсь вы поняли, двоечка должна увеличиваться с каждым разом?
Что же делать, чтобы столько раз не повторять for...
Просто взять этот for в другой for!И пусть этот другой for будет повторяться 5 раз для наглядности
for (int j = 0; j < 5; j++)
{
for (int i = 0; i < 1; i++)
{
Console.Write("#");
}
Console.WriteLine();
}
Ну вот. Только кое-что забыли..Нужно, чтобы 1 постоянно увеличивался, с каждым повторением.
А значит, нужно вместо 1 написать переменную, которую мы будем постоянно увеличивать
int p = 0;
for (int j = 0; j < 5; j++)
{
p++;
for (int i = 0; i < p; i++)
{
Console.Write("#");
}
Console.WriteLine();
}
Да в принципе и все, а высота треугольника это наша пятерочка. Можем менять)
так и делал))
но всё равно голова кипела от недостатка сообразительности...
я уловил логику, пока он говорил за третий и сам доделал 3ий и 4ый
по сути нужен был пинок)
Спасибо большое братан
@@Sen-nx6nnприятно видеть, что я не один смотрю эти ролики, хоть не так одиноко)
@@egorkoltsov1345 Нас тут не мало) Как успехи с курсом?
У меня дз плохо получается, а у тебя как?@@raincor1987
#SimpleCode #урокипрограммирования
мне нравится что тут всё просто и понятным языком)
Сергей тсс, без шума, возьмите моё спасибо за ваш труд и ни слова больше
Огромное спасибо за разбор дз и весь курс, с вашим оформлением треугольника я понял как дальше сделать дз самому.
Как всегда, замечательное изложение.
Разбор ДЗ смотрю ради того, чтобы посмотреть как у вас реализовано решение. Самостоятельно удалось в течении часа решить задачку. Спасибо за интересные задания. Продолжаю изучение. Ещё не много и стану вашим постоянным спонсором, хотя и не нуждаюсь в коде из уроков. Спасибо за ваши труды.
Спасибо за уроки! Хочу уточнить, что у вас в третьем треугольнике "лишний" столбец из пробелов слева. Во вложенном цикле, что рисует пробелы, нужно вычесть единицу из количества итераций: for (int j = 0; j < i-1; j++)
тоже самое и в 4 треугольнике: for (int j = 0; j
using System;
namespace FOR_FULL
{
internal class Program
{
static void Main(string[] args)
{
Console.Write("Введите рисующий символ: ");
char yourSymbol = char.Parse(Console.ReadLine());
Console.Write("Введите размерность рисунка: ");
int size = int.Parse(Console.ReadLine());
Console.WriteLine();
for (int i = 0; i
Спасибо за разбор ДЗ. Было очень полезно, все оказывается намного проще чем это написал я. :D На треугольники ушел наверное час и потом я пошел дальше и решил нарисовать пирамиды вверх и вниз, так сказать, усложнить себе задачу. А в добивку написал программу для бесконечного вывода ряда ромбиков в консоли. И да как можно прочитать в коде присутствует несколько переменных без которых можно было обойтись. Не бейте сильно. Только учусь. Разбор ДЗ от вас помог разобраться со своими ошибками. Спасибо за уроки. Код ДЗ:
static void Main(string[] args)
{
Console.WriteLine("Перед началом разверни консоль на весь экран");
Console.WriteLine("выберите настройки (для экранов 1920х1080):");
Console.WriteLine("\t Высота = 30 ; Количество треугольников в ряд = 4");
Console.WriteLine("\t Высота = 20 ; Количество треугольников в ряд = 6");
Console.WriteLine("\t Высота = 15 ; Количество треугольников в ряд = 8");
Console.WriteLine("Если экран другого формата:");
Console.WriteLine("\t Высота = (Как захотите) от 1 до 100 ; Количество треугольников в ряд = 1");
Console.Write("Высота = ");
int back = int.Parse(Console.ReadLine()); //back - количество строк
Console.Write("Количество треугольников в ряд = ");
int number = int.Parse(Console.ReadLine());//number - количество треугольников в ряду
// 1 треугольник.
for (int raws = 0, sharp = back, space = 0; raws 0; i--)
{
Console.Write("#");
}
for (int j = 0; j < space; j++)
{
Console.Write(" ");
}
sharp--;
space++;
Console.WriteLine();
}
// 2 треугольник.
for (int raws = 0, sharp = 0, space = back; raws 0; j--)
{
Console.Write(" ");
}
sharp++;
space--;
Console.WriteLine();
}
Console.WriteLine();
// 3 треугольник.
for (int raws = 0, sharp = back, space = 0; raws 0; i--)
{
Console.Write(" ");
}
for (int j = 0; j < sharp; j++)
{
Console.Write("#");
}
sharp--;
space++;
Console.WriteLine();
}
Console.WriteLine();
// 4 треугольник.
for (int raws = 0, sharp = 0, space = back; raws 0; j--)
{
Console.Write("#");
}
sharp++;
space--;
Console.WriteLine();
}
Console.WriteLine();
// Задание от себя себе ;) Пирамида
for (int raws = 0, sharp = 1, space = back - 1; raws 0; j--)
{
Console.Write("#");
}
for (int i = 0; i < space; i++)
{
Console.Write("*");
}
sharp++;
sharp++;
space--;
Console.WriteLine();
}
Console.WriteLine();
//Обратная пирамида
for (int raws = 0, sharp = back * 2 - 1, space = 0; raws 0; i--)
{
Console.Write("'");
}
for (int j = 0; j < sharp; j++)
{
Console.Write("#");
}
for (int i = space; i > 0; i--)
{
Console.Write("'");
}
sharp--;
sharp--;
space++;
Console.WriteLine();
}
Console.WriteLine();
// Задание чтобы поизвращаться C:
// Обожаю когда мозг кипит C:
// (int c = 0; c < 2; c++)
Console.WriteLine("Хотите увидеть больше?)");
Console.WriteLine("Введите да/нет или yes/no или y/n");
string str = Console.ReadLine();
if (str == "yes"|| str == "да" || str == "y")
{
for (; ; )
{
for (int raws = 0, sharp = 1, space = back - 1; raws 0; j--)
{
Console.Write("#");
}
for (int i = 0; i < space; i++)
{
Console.Write(" ");
}
}
sharp++;
sharp++;
space--;
Console.WriteLine();
}
for (int raws = 0, sharp = back * 2 - 1, space = 0; raws 0; i--)
{
Console.Write(" ");
}
for (int j = 0; j < sharp; j++)
{
Console.Write("#");
}
for (int i = space; i > 0; i--)
{
Console.Write(" ");
}
}
sharp--;
sharp--;
space++;
Console.WriteLine();
}
}
}
Console.WriteLine("Точка. Конец предложения.");
}
Сделала ДЗ полностью через "for", первые 2 треугольника нарисовала легко, над оставшимися думала долго... Пока думала, решила что хочу ввод произвольных символов=) покопавшись в описаниях типов данных нашла как сделать, хоть мы это еще не проходили. Итого спустя 6 часов выполнения все таки треугольники разных видов красуются на экране, я довольна, горжусь собой XD
Спасибо Вам огромное за материал и подачу!!! Даже мне (абсолютному чайнику в программировании) все понятно.
PS: успешное выполнение ДЗ-огромный стимул к дальнейшему обучению=)
Автор спасибо! Крутые уроки) Пришлось покумекать как сделать равнобедренный треугольник, в итоге все оказалось проще простого!))) Ура!)
Спасибо за урок!!!
Сергей, спасибо!
У меня мозги разорвало от данного задания. Сразу заметил зависимость высоты и ширины в образце, но не мог придумать как это в виде кода интерпретировать. В итоге понимаю, что в теме едва ли разобрался и попадись мне такая задача на практике, я бы не нашёл её решения самостоятельно даже сейчас. Вложенные циклы это просто жесть, а не тема.
Сделал это домашнее задание на прошлом уроке. У меня код отличается от показанного здесь, но работает схоже. Автору спасибо большое, смотрю каждый день по 2 уроку, полёт нормальный. В качестве благодарности, я тоже поддержу в патреоне, когда стану разработчиком.
хеллоу, как успехи? чего добился?
@@kolodets258 изучай уроки
Добрый день! Спасибо за интересное и доступное изложение материала.
Первые два треугольника труда не составили. С третьим пришлось повозиться, а уже на его основе, 4-й дался легко. Моё решение немного отличается:
static void Main(string[] args)
{
Console.Write("Введите высоту треугольника: ");
int height = int.Parse(Console.ReadLine());
//1-й треугольник
for (int i = 0; i < height; i++)
{
for (int j = 0; j i; j--)
{
Console.Write("#");
}
Console.WriteLine();
}
Console.WriteLine();
//3-й треугольник
for (int i = 0; i < height; i++)
{
for (int j = 0; j i && j == 0; k--)
{
Console.Write(" ");
}
Console.Write("#");
}
Console.WriteLine();
}
Console.WriteLine();
//4-й треугольник
for (int i = 0; i < height; i++)
{
for (int j = height; j > i; j--)
{
for (int k = 0; k < i && j == height; k++)
{
Console.Write(" ");
}
Console.Write("#");
}
Console.WriteLine();
}
}
}
}
чел ты гений если у тебя получилось это сделать самому
был дикий напряг с последними двумя треугольниками
Если первые два были сделаны за пару минут, то на последние убила около сорока минут
Специально не смотрела видео, чтобы самой додуматься до решения
Получилось!
Теперь смотрю разбор дабы закрепить :)
Спасибо!
Умная! Я вот ща вернусь и тоже буду думать
Ох, это было не просто. Для неподготовленного разума задание прям тяжкое) Сделал 3 треугольника через какие-то костыли, ужасно коряво. 4 костыль подломил, т.к. понял, что лучше продолжить иначе появится желание бросить. После просмотра решения прям стало печально, а потом интересно) Мотивация продолжать появилась!)
если думаешь,что решил через костыли - вспомни меня,который решил эту задачу через методы))
Доброго времени суток! Огромное спасибо за уроки! Сделал немного по своему, с высотой и шириной как у квадрата, только каждую новую строку изменял ширину, что по факту и получается как в данном разборе домашнего задания, но немного менее оптимизировано и более громоздко, но тоже имеет место быть. С первыми двумя треугольниками разобрался быстро, а на вторые потратил не меньше двух часов, но в итоге добил) Для собственной наглядности в начале вместо пробелов использовал точки, насмотрелся на много забавных узоров, и это помогло понять правильно ли отрисовывает или вообще не отрисовывает.
Вот мой вариант:
Console.WriteLine("Введите размер стороны треугольника");
int height = int.Parse(Console.ReadLine());
int width = 1;
// First triangle
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
Console.Write("#");
}
Console.WriteLine();
width++;
}
Console.WriteLine();
// Second triangle
width = height;
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
Console.Write("#");
}
Console.WriteLine();
width--;
}
Console.WriteLine();
// Third triangle
width = 1;
for (int i = 0; i < height; i++)
{
for (int k = height; k > width; k--)
{
Console.Write(" ");
}
for (int j = 0; j < width; j++)
{
Console.Write("#");
}
Console.WriteLine();
width++;
}
Console.WriteLine();
// Fourth triangle
width = height;
for (int i = 0; i < height; i++)
{
for (int k = height; k > width; k--)
{
Console.Write(" ");
}
for (int j = 0; j < width; j++)
{
Console.Write("#");
}
Console.WriteLine();
width--;
}
Console.ReadLine();
топчик) ніби й легко, ніби й зрозуміло, та не виходило. Пішов на роботу і практично одразу голова найшла і скомпілювала правильний алгоритм))
Я быстро сделал два первых треугольника, и во вторых я понял что это по сути сначала нарисованный пробелами треугольник, но я сглупил и начал вкладывать третий цикл во второй цикл, и естественно получалось как-то хреного, хотя можно было просто сделать их равноценными и засунуть в правильной последовательности в первый цикл и тогда всё бы получилось. Спасибо большое за уроки!
Попал в ту же ловушку, а потом, пришло озарение, уже когда внутренне сдался и признал себя тупым)
Лучшие уроки на ютубе!👍
Я сидел думал,думал, думал,
Через 5 минут решил 😂😂😂😂😂
У меня в голову пришла мысль а что если в вложенном цикле for, поставить переменную i из внешнего цикла, я конечно думал не сработает, но на моё удивление, сработало, спасибо!)
Спасибо за Ваш труд. Я в своем варианте решения всегда приравнивал переменную вложенного цикла к переменной внешнего, дабы указывать кол-во символов в зависимости от строки. Вот данный вариант
/*
using System;
namespace Lesson3
{internal class Program
{static void Main(string[] args)
{
int limit = int.Parse(Console.ReadLine());
for (int i = 1; i 0; j--)
Console.Write("#");
Console.Write("
");
}
Console.WriteLine("
");
for (int i = 1; i
Как всегда мое почтение !)
Огромное спасибо!
спасибо за уроки.
Не сразу сообразил с третьим треугольником, но досмотрев видео, до Вашего совета заполнить пробелами пустое место, сразу сообразил) немного воображения не хватило видимо) Спасибо!
Как же круто когда ты что ты пишешь работает ! ! ! Сделал все треугольники, но в два раза больше кода получилось с дополнительными переменными =/
та же тема)
Благодарю за урок !
Очень классные уроки . Жду новых выпусков. Старайся по возможности чаще выпускать видео.
учитесь по книгам, сколько вы занимаетесь?
@@dakalas2991 по каким посоветуете? лично мне книги туго идут
Да, всё куда проще... Я наворотил конструкцию такую, что капец, но всё работало, правда, без ввода произвольной высоты. :))
Спасибо за ДЗ!!!
Буду лучше стараться, не вышло сделать ))
я думал надо делать for в For потом FOr и так много раз ))
Спасибо большое за видео)
решил только два первых треугольника, но через цикл while. Был близок к решению через цикл for, но не догнал чтобы поменять одну переменную. Зато с помощью отладчика понял как работают вложенные циклы. Спасибо за урок.
Серёга, ты супер тичер, спасибо тебе большое
Реально нереально как всё просто!
Первые два сделал почти так же, на вторые как всегда не хватило мозгов, хотя и думал сделать еще один вложенный цикл, но о выводе пробела не подумал. И еще, я думал, что все треугольники надо было вывести в одной консоли. Как бы там не было, очень интересно, спасибо автору, что так увлекает своими уроками нас всех.
наконец то дз!!!
Не понял, не понял... А ПОТОМ КАК ПОНЯЛ!!! Решение было проще чем я думал
Первые два треугольника на ура) а вот до отступов не додумался ( Спасибо за разбор !)
Мой вариант больше подходит под тематику урока, в последних двух треугольниках я использую 3й цикл с новой переменной пробелов, что для обучения использования циклов даже лучше наверное)
class Program
{
static void Main()
{
Console.WriteLine("Введите высоту треугольника");
int height = int.Parse(Console.ReadLine()!); Console.WriteLine();
for (int h = 0; height > h; h++)
{
for (int w = 0; h >= w; w++)
{
Console.Write("#");
}
Console.WriteLine();
}
Console.WriteLine("
");
for (int h = height; 0 < h; h--)
{
for (int w = 0; h > w; w++)
{
Console.Write("#");
}
Console.WriteLine();
}
Console.WriteLine("
");
int p;
for (int h = 0 ; height > h; h++)
{
p = height - h;
for (int w = 0; h >= w; w++)
{
for (; p > 1; p--)
{
Console.Write(" ");
}
Console.Write("#");
}
Console.WriteLine();
}
Console.WriteLine("
");
for (int h = height; 0 < h; h--)
{
p = height - h;
for (int w = 0; h > w; w++)
{
for (; p > 0; p--)
{
Console.Write(" ");
}
Console.Write("#");
}
Console.WriteLine();
}
}
}
Во втором треугольнике можно не менять вложенный цикл, а поменять внешний, в принципе все так же получается :)
for (int i = height; i >= 1; i--)
{
for (int j = 1; j
Последняя задача решается (треугольник 4) Решается совсем элементарно. Нужно просто знаки "пробел" и "*" поменять местами в циклах :)
Спасибо, все понятно, лайк поставил, конечно же. Но волнует меня то, что я не умею пользоваться отладчиком, подскажите пожалуйста, в каком уроке было обучение в использовании отладчика, спасибо :)
ua-cam.com/video/_ZairtpcXTs/v-deo.html
ua-cam.com/video/_ZairtpcXTs/v-deo.html
@@SimpleCodeIT спасибо большое, не думал, что такое скажу кому-нибудь, но спасибо, что ты есть :) 😂
Хах, а я сдался на этом ДЗ и хардстаком ввел все те треугольники))
А когда увидел в ДЗ что можно было кодом в 7 строк это сделать, чуть не выпрыгнул через окно))).
я вот тему про вложенные циклы 70% инфы до сих пор не понимаю
@@beforean727 Доходит не всегда быстро, согласен))).
Спасибо !!!
Это гениально. Я сидел пол дня придумывал как все это воплотить. Но мне кажется я бы сидел еще 100++ лет чтобы понять как это делать. Не удивительно что люди гадают как построили пирамиды в Египте они просто ходят вокруг до около а на самом деле все на много проще. Не если честно здесь решает скил. Логически понять как это делать не возможно.
сделал рисовку треугольника за минут 15 но потом думал долго как его сделать одинаковым со всех сторон,так и не получилось реализовать,еще мой треугольник сложнее так как я создал еще один вложенный цикл в котором инкрементировал 2 раза переменную которая отвечает за ширину треугольника,оказывается можно было сделать легче и была бы возможность менять высоту у меня не была она реализована,и каогда я попытался это сделать у меня крашнулся визуал студио пришлось переустанавливать,а так большое спасибо тебе за труд,я хоть в чем то благодаря тебе обгоняю своих друзей которые прошли в шк для одаренных,а я нет :(
еще раз говорю большое спасибо!!!!!!!!!!!!!!!!!!!!!!
Лучший!👍
Однако ж... долго сидела, но сделала, завтра посмотрю как в видео. Интересное задание, было над чем подумать, спасибо)
int length = int.Parse(Console.ReadLine());
for (int i = 1; i
Cмотрел все твои уроки в скорости х2, а когда включил обычную скорость случайно, то удивился что кто-то другой ведет урок и представляется твоим именем :D
Первое достаточно непростое задание , спасибо человеку который порекомендовал мысли записывать на листочке , блпгодаря этому ничего не выпола из головы и сделал это за +- пол часа , + реализовал возможность задать высоту каждого треугольника через консоль
вот мой код
Console.WriteLine("высота 1 равнобедренного треугольника");
int высота1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
Console.WriteLine();
int ширина1 = 0;
for (int i = 0; i < высота1; i++)
{
ширина1++;
for (int g = 0; g < ширина1; g++)
{
Console.Write("#");
}
Console.WriteLine();
}
Console.WriteLine();
Console.WriteLine();
//------------------------------------------------------------------------------------------------------------
Console.WriteLine("высота 2 равнобедренного треугольника");
int высота2 = Convert.ToInt32(Console.ReadLine()) ;
Console.WriteLine();
Console.WriteLine();
for (int i = высота2; i >= 0; i--)
{
высота2--;
for (int g = высота2; g >= 0 ; g--)
{
Console.Write("#");
}
Console.WriteLine();
}
Console.WriteLine();
Console.WriteLine();
//---------------------------------------------------------------------------------------------
Console.WriteLine("высота 3 равнобедренного треугольника");
int ширина3 = Convert.ToInt32(Console.ReadLine());
int пробел1 = ширина3;
Console.WriteLine();
Console.WriteLine();
for (int i = 0; i < ширина3; i++)
{
пробел1--;
for (int g = 0; g < пробел1; g++)
{
Console.Write(" ");
}
int значение1 = ширина3 - пробел1;
for (int g = 0; g < значение1; g++)
{
Console.Write("#");
}
Console.WriteLine();
}
Console.WriteLine();
Console.WriteLine();
//---------------------------------------------------------------------------------------
Console.WriteLine("высота 4 равнобедренного треугольника");
int ширина4 = Convert.ToInt32(Console.ReadLine());
int значение2 = ширина4;
Console.WriteLine();
Console.WriteLine();
for (int i = 0; i
Я чуть башкой не тронулся пока эту домашку делал
Спасибо большое, задание несложное и интересное, сначала хотел усложнить себе жизнь, думал сделать чтобы треугольник сначала вверх острием был, потом разу перевернулся и это одним кодом, думал создать такое выражение для количества циклов в результате которого число сначала бы росло, потом уменьшалось, но стало лень, слишком криво получатся.
Так просто?
Я ввел новую переменную, создал метод для отрисовки, а тут код в пару строк???
*Звуки самогнобления*
++
Так же сделал(
неужели симплкод будет давать методы в домашках, если ещё это не было пройдено? бред
У меня вообще около 200 строк кода получилось...
@@Sokkez ну надо ж ему было сказать ,что он сделал )
Тоже вторую переменную вводил )
Супер
В данный момент, я изучаю С++(на вашем канале)), но так же я хотел поучится работать в форме(и именно в форме С#, так как тут она значительнее удобнее), и у меня такой вопросы, будут(или вдруг уже есть) видиоуроки по форме?
Пока делал придумал собственную систему отступов из-за ограничений самого задания (не использовать то/другое). Спасибо за уроки
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lesson_22
{
class Program
{
static void Main(string[] args)
{
int rows;
Console.Write("Введите размер треугольников: ");
rows = int.Parse(Console.ReadLine());
for (int i = 0; i = 0; i--)
{
Console.WriteLine();
for (int j = 0; j < i; j++)
{
Console.Write("#");
}
}
Console.WriteLine();
Console.WriteLine();
for (int i = 0; i = i; k--)
{
Console.Write(" ");
}
break;
}
Console.Write("#");
}
}
Console.WriteLine();
Console.WriteLine();
for (int i = rows; i >= 0; i--)
{
Console.WriteLine();
for (int j = 0; j < i; j++)
{
for (; j == 0;)
{
for (int k = rows - 1; k >= i; k--)
{
Console.Write(" ");
}
break;
}
Console.Write("#");
}
}
Console.ReadLine();
}
}
}
Это реально гениально
Два часа думал над ДЗ, но все же додумался. Кстати тут в разборе в 3 треугольнике нужно в первом вложенном цикле поставить j>i+1 чтобы он к рамке консоли был прижат.
Да!! Ты из всех единственный, кто заметил эту фигню)) я когда решал, думал у меня что-то не так, потом глянул у него на видео в консоле тоже отступ от линии
У меня код третьего треугольника малость по другому вышел, хотя отрисовался правильно:
//Третий треугольник
for (int i = 9; i >= 0; i--)
{
for (int jt = 0; jt = i; j--)
{
Console.Write("#");
}
Console.WriteLine();
}
Д.з. делал как уважаемый автор на 22:32 минуте.... "Что то у нас да получилось....." 😀
Автору низкий поклон за работу.
3 и 4 треугольники я сделал почти так же, потратил час где-то что бы понять что да как, разница у меня в том что у нашего Учителя идёт в последних двух лишний пробел, он соединяет 2 треугольника и по этому тот что идёт после пробелов начинаеться чуть-чуть позже
Что бы было понятней покажу код, в нём я от указаной высоты отнимаю 1 что бы треугольник с пробелом у меня был на 1 меньше чем тот какой я отрисовую
for (int i = 0; i < height; i++)
{
for (int k = height - 1; k > i; k--)
{
Console.Write(" ");
}
for (int j = 0; j
Неверно ты сделал) Необходимо еще устранить в конце пробел перед первой звездочкой. решение: using System;
using System.Globalization;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
while (true) {
for (int i = 0; i < 5; i++)
{
Console.WriteLine();
}
Console.WriteLine("Vvedi razmer: ");
int h = int.Parse(Console.ReadLine()) - 1;
for (int i = 0; i
Класс!
Посмотрел еще пару объяснений, погуглил и сделал , причем это единственное задание, которое я пока сделал сам. До этого не мог :D
затупил на этом дз знатно. думал надо все четыре треугольника одним кодом отрисовать. в итоге справился только с первым треугольником. надо быть внимательней и не бояться экспериментировать
сделал за минут 5. Как же все-таки более менее знание другого яп помогает. Спасибо!
ЗАВИДУЮ, У МЕНЯ КУЧА ЧАСОВ
4 дня делал дз по неск часов в день . В итоге получилось все , хотя отладчиком проработал ппц сколько времени ( зато + к скилу отладчика прибавил ) . А потом Сергей такой говорит , выполняем же без if . И тут я немножко приуныл ) ну да ладно . Хотя бы так .
На самом деле все намного проще можно было сделать , а я там такое навводил . Но работает )
Спасибо за уроки еще раз !
сам не додумался как сделать третий и четвёртый треугольник
спасибо
Посидел, подумал (казалось бы, я и подумал =)), и принципиально, пока не выполнил дз, не смотрел данный видос с разбором. И каково же было мое счастье, что не только получилось написать код один в один, как на разборе, так еще и символ звездочки тоже использовал, как и автор)))
Это просто, захотелось поделиться впечатлениями! А, если у меня получилось выполнить дз, то это означает лишь то, что преподаватель четко довел до моего сведения, что надо делать! Спасибо за уроки!!!
Здравствуйте Сергей. Интересуюсь вашими наилучшими на ютубе, но сильно недооценёнными уроками. Смотрю уроки по C++, и хотел бы задать 1-пара вопросов по вашей возможности, они вовсе не связаны с индивидуальным обучением. Можете просмотреть свои уведомления, там вы сможете меня узнать. В общем, если вы найдёте время, то я могу задать вам интересующие меня вопросы, относительно вашего канала.
Спасибо за урок!
Сделал, но было очень больно. Потратил в в сумме около 3,5 часов. Самое легкие были 1й и последний. на них я потратил максимум мин по 15. А второй около мин 40 и и вот 3й все остальное время=) Но сделал. Спасибо автору !
Мой вариант для второго треугольника (удобен (для таких нубов как я) тем, что минимально меняются условия цикла по сравнению с первым треугольником):
for (int i = 0; i < length; i++)
{
for (int j = i; j < length; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
* переменная у меня называется length, но по сути она то же самое что height в ролике.
Добрый день, Сергей. Столкнулся с интересной задачей - работа с Java библиотекой из C#. Это тема на несколько уроков. Но самое интересное- в Ютубе нет ничего подобного( не считая 2 роликов от китайца и немца). Выпусти гайды, пжт
В принципе, разобрался как юзать java либы в шарпах и даже выработал для себя несколько паттернов. В интернетах пишут, что нельзя вызвать java код из шарпа, но это ложь. Можно, ещё как можно!
Сергей, огромная просьба, запилите видео на эту тему. Получится пару несколько видео, но Вы будете единственным в рунете, кто объяснит как это делается.
Поддерживающий комментарий для развития канала
А возможно ли не только устанавливать курсор в нужную позицию, но и определять, его текущее положение?
Будут ли видео про алгоритмы и структуры данных??
Надо чуть изменить код в последних двух треугольниках и с переводом курсора тоже и отнять единицу от высоты, чтобы перед последним рядом не помещать пробел, иначе треугольники отодвигаются от левого края консоли на один пробел.
Третий треугольник: height-1;
for (int j = height-1; j > i; j--) // вложенный цикл
{
Console.Write(" ");
}
Четвёртый треугольник: j
Прошлые ДЗ смог решить, а тут ломал голову 5 часов так и не смог решить, тут уже я уперся в возможности моей сообразительности, пришлось смотреть решение. Не хотелось сидеть неизвестное количество дней чтобы самому решить.
Пойду дальше по урокам, не знаю что из этого выйдет, чувствую себя как ежик в тумане.
Час сидел не мог понять почему не работает так как надо, в итоге просто запускал другой проект... спасибо за уроки
Сделал через повтор символов в строке Console.WriteLine(new string('#', a)); Так даже проще, первые 2 треугольника можно сделать одним циклом.
Смог сам сделать где-то за минут 40, но вот чтобы прям объяснить как это я сделал, тут был бессилен, чисто методом проб и ошибок
ну а я в циклы пихал *банные самодельные формулы 😬
@@SaffronChipMCPE использовал дохера for в итоге было задействовано 200 с лишним строк кода
У уважаемого автора на 22:33 минуте примерно так-же. Я тоже в условиях малость путался.😀
Есть небольшой недочет. В 3 примере с указанием положения курсора, каждая строчка треугольника содержит в начале лишний пустой символ, если делать все примеры в одной консоли это заметно.
Собственно решение простое, в строке
Console.SetCursorPosition(height - i, i + 1);
после height - i добавить - 1
чтобы получилось
Console.SetCursorPosition(height - i - 1, i + 1);
ЗЫ. А еще добавил несколько циклов: выход их консоли, либо ввести новые данные и отрисовать другие треугольники, и на ошибку связанную с максимальной шириной консоли
как-то так
int BufferWidth = Console.BufferWidth;
int TriangleWight;
Console.Clear();
Console.WriteLine("Введите ширину треугольника");
while (true)
{
TriangleWight = int.Parse(Console.ReadLine());
if (BufferWidth >= TriangleWight)
{
Console.Clear();
Console.WriteLine("Вы ввели - " + TriangleWight);
Console.WriteLine();
break;
}
else
{
Console.Clear();
Console.WriteLine("Значение ширины '"+ TriangleWight + "' больше чем может вместить консоль, повторите ввод");
}
}