Isosceles Triangle
using System;
using System.Text;
class IsoscelesTriangle
{
static void Main()
{
char symbol = '\u00A9';
Console.OutputEncoding = Encoding.Unicode;
double count = 1;
int red = 3;
double col = 2 * red - 1;
for (int i = 0; i < red; i++)
{
for (int j = 0; j < col; j++)
{
if (j < (col / 2 - count / 2) || j > (col / 2 + count / 2 - 1))
{
Console.Write(" ");
}
else
Console.Write(symbol);
}
count = count + 2;
Console.WriteLine();
}
}
}
Така съм направил задачата, но не ми излиза символа който трябва(визуализира ми се "с"). Къде може да е проблема? Локейшъна ми е България.
using System.Text;
class IsoscelesTriangle
{
static void Main()
{
char symbol = '\u00A9';
Console.OutputEncoding = Encoding.Unicode;
double count = 1;
int red = 3;
double col = 2 * red - 1;
for (int i = 0; i < red; i++)
{
for (int j = 0; j < col; j++)
{
if (j < (col / 2 - count / 2) || j > (col / 2 + count / 2 - 1))
{
Console.Write(" ");
}
else
Console.Write(symbol);
}
count = count + 2;
Console.WriteLine();
}
}
}
Така съм направил задачата, но не ми излиза символа който трябва(визуализира ми се "с"). Къде може да е проблема? Локейшъна ми е България.
Отговаря, но не е това идеята, ако го играеш за точките - ще вземеш някакви :) и аз така го бях оставил от мързел по-скоро
Не играя за точки просто прегледах Демотата от лекцията и видях подобно нещо и ме интересуваше дали да продължавам да цъкам по тая задачка или да продължавам с другите, но все пак ще помисля за решение с някое цикълче може и да закача някоя точка :D
Не е това идеята ли? Идеята на тази задача е по-скоро да си поиграеш с Unicode и настройките на конзолата. Да използваш For когато можеш да използваш точно неговата идея е чиста загуба на време. Не разбирам защо но по това което виждам във форума оставам с извода, че хората обичат да си усложняват живота. Не е като да не виждате, че може да стане по-лесно. Напротив виждате, но предпочитате да го направите по възможно най-сложният начин за който се сещата. Това е на 10 реда код. А на 100? А на 1000? Ако сте чували за KISS принципа припомнете си го, ако не цъкнете на линка за да научите повече.
Колега, ще излезе, че съм преписал от теб
, защото и аз го направих точно така, но с отделен WriteLine за всеки ред.
Бях тръгнал да го правя с цикъл for, използвайки като параметри височина на триъгълника, интервали и CopyRight, за да може да е динамично, т.е. ако искаш триъгълника да е с повече редове да го принтне като хората, без да го омаже, но тъй като още не съм предал второто домашно и много изоставам го направих с WriteLine, защото е по-лесно и по-бързо.
От друга страна, относно как трябва да се направи, чуйте какво казва Наков на лекцията за въпросната задача - пуснете си видеото от втората лекция на 02:04:45 горе-долу. Говори точно за тази задача, и казва, че се прави с няколко WriteLine-a и "че трябва да изнамерите кода на CopyRight символа"
Update:
Четейки коментара на колегата Panglot, се сетих за две неща:
Първото е т.нар Zen Of Python (малко off-topic):
The Zen of Python, by TimPeters:
Поствам го цялото, ако на някой му е интересно, но искам да се спра на № 11 - "Трябва да има един - и по възможност само един - очевиден начин да се направи"
Второто е нещо, което чух на една от лекциите на Наков или може да е било на откриването, когато каза нещо от сорта на това да се спазват заданията на задачите, защото може това, което си написал да прави същото, но то да не е това, което иска клиента. Не мога да пресъздам точните думи, но идеята беше горе-долу такава.