Loading...
TeodorTodorov avatar TeodorTodorov 27 Точки

накратко, отиваш в charmap (start>>Run>>charmap), намираш символа копираш го или му вземаш кода и го пълниш в char, След това печаташ празни места и знаци, нищо сложно

           

            Console.WriteLine("c".PadLeft(4));
            Console.WriteLine(("c"+" "+"c").PadLeft(5));
            Console.WriteLine(("c" + "   " + "c").PadLeft(6));
            Console.WriteLine("c" + " " + "c" + " " + "c" + " " + "c" + " ");

//Може и без Padleft, просто слагаш празни места преди знака.

/* Padleft(5) - казва  абе изпечатай ми 5 празни позиции, и на мястото на тези позиции от дясно на ляво попълвай, това което ти подам "в случая c", ама ако случайно това което ти подам е по-дълго ами просто си печатай както си знаеш, пусни го намали от 5 на 4 и сравни с ще разбереш и за padleft */

ето и друг вариант : 

            Console.WriteLine(new string(' ', 3) + "©");
            // the first line is equal to Console.WriteLine(" "+" "+" "+"c")
            Console.WriteLine(("©" + " " + "©").PadLeft(5));
            Console.WriteLine(("©" + "   " + "©").PadLeft(6));
            Console.WriteLine("©" + " " + "©" + " " + "©" + " " + "©" + " ");
        


3
ivaylo.yanchev.5 avatar ivaylo.yanchev.5 80 Точки

Задачата е логическа. Решение от типа просто начертай, за да изглежда по същия начин както в условието не виждам смисъл да се коментира. Аз бих подходил така, че да решим задачата за различни големини триъгълници.

Ако триъгълникът е реализиран от Х редове, с прости сметки виждаме, че  броят елементи на ред е (Х*2)-1. Това значи, че както е в условието - на 4 реда, броят елементи на последния ред е 7 (4 C и 3 празни).

Разглеждайки как е изграден триъгълникът ми се струва, че първият и последният ред са "нестандартни", а междинните са - тоест, подходящи са за включване в цикъл, който да ги изчертава. Първият ред съдържа C винаги на позиция X, последният ред редува C и празни (Х*2)-1 пъти, а на междинните редове C е на позиция Х-i и Х+i, където i е броячът на цикъла.

Сега остава да се напише кодът. :)

6
georgi.b.stoilov avatar georgi.b.stoilov 6 Точки

Евала бе Иво,

точно така. най-добре е да се разгледа задачата при триъгълник с произволна големина. Разбира се се има предвид равнобедрен такъв като височината се определя от броя редове. Нашата задача е за 4 реда, но може спокойно да се направи за N на борй

0
wartus avatar wartus 152 Точки
Console.OutputEncoding = Encoding.UTF8;
            char c = '\u00A9';
            Console.WriteLine("   "+c);
            Console.WriteLine("  "+c+" "+c);
            Console.WriteLine(" "+c+"   "+c);
            Console.WriteLine(c+" "+c+" "+c+" "+c);

Едно стегнато от мен решение :)))
6
Tisho_Todorov avatar Tisho_Todorov 8 Точки

Здравей, колега решението на задачата ти изглежда вярно, но направило ли ти е впечатление, че когато се визуализира на конзолата триъгалника не е образуван от знака за copyright 'c' ,а от символа 'апостроф и ' на кирилица - пробваи да закоментираш реда //Console.OutputEncoding = System.Text.Encoding.UTF8; в програмата си и нещата ще изглеждат по друг начин.

0
HPetrov avatar HPetrov 822 Точки
Здравей колега! И Вас и всички останали колеги, които видят този пост, много ви моля... има още 4 теми сигурно подобни... 2 от тях общи за всички домашни по конкретната лекция... ползвайте тях. За това са направени - да може всеки да споделя своите решения на едно място и да търси помощ отностно други - пак на едно място ;)
3
svetli0o avatar svetli0o 134 Точки
Ако на някой не му тръгва програмата с '©', а му излизат 'c' трябва да си смени шрифта на Consolas. Десен бутон върху конзолата -> properties.
5
HPetrov avatar HPetrov 822 Точки
Това обикновено не работи, поне при мен и като цяло просто трябва да "добавиш" encoding към конзолата. Това става като просто добавиш  

Console.OutputEncoding=System.Text.Encoding.UTF8;

към кода си в началото. Това ще инструктира конзолата да разпознава символи от UTF-8 стандарта.
10
svetli0o avatar svetli0o 134 Точки
Ами аз добавих енкодинга по същият начин ама пак не ми тръгна :) за това промених шрифта
1
ViValDam avatar ViValDam 15 Точки
Това не е задължително, казано e, че символа може и да не се отпечата правилно - важен е алгоритъма.
0
ViValDam avatar ViValDam 15 Точки

Ето го моето решение :

string empty = " ";
char symbol = (char)0XA9;

Console.WriteLine(empty + empty + empty + symbol);
Console.WriteLine(empty + empty + symbol + empty + symbol);
Console.WriteLine(empty + symbol + empty + empty + empty + symbol);
Console.WriteLine(symbol + empty + symbol + empty + symbol + empty + symbol);

А тук си поиграх с подобни задачи , че ми хареса :

// 'C' inside

Console.WriteLine(empty + empty + empty + symbol);
Console.WriteLine(empty + empty + symbol + empty + symbol);
Console.WriteLine(empty + symbol + empty + 9 + empty + symbol);
Console.WriteLine(symbol + empty + symbol + empty + symbol + empty + symbol);


Console.WriteLine();
Console.WriteLine();


// heart

Console.WriteLine(empty + empty + symbol + empty + empty + empty + symbol);
Console.WriteLine(empty + symbol + empty + symbol + empty + symbol + empty + symbol);
Console.WriteLine(symbol + empty + empty + empty + symbol + empty + empty + empty + symbol);
Console.WriteLine(empty + symbol + empty + empty + empty + empty + empty + symbol);
Console.WriteLine(empty + empty + symbol + empty + empty + empty + symbol);
Console.WriteLine(empty + empty + empty + symbol + empty + symbol);
Console.WriteLine(empty + empty + empty + empty + symbol);






















3
kliko avatar kliko -2 Точки

Започваш така

using System;

class IsoscelesTriangle

{

        static void Main()

        {

Console.OutputEncoding=System.Text.Encoding.UTF8; // Задаваш на конзолата формат UTF8 за текста

//Можеш да го направиш по два начина - екранизиране или с char

//това е първият начин

              string triangle =@"
                          ©
                        © ©
                      ©     ©
                    © © © ©";

             Console.WriteLine(triangle);

//втори начин

             char symbol = (char)0XA9;

             string space = " ";

             Console.WriteLine(space + space+ symbol);

             Console.WriteLine(space + space + symbol  + space+ symbol);

             Console.WriteLine(space + symbol + space + space + space+ symbol);

             Console.WriteLine(symbol + symbol + symbol + symbol);

       }

}

 

1
12/10/2014 23:59:17
ViValDam avatar ViValDam 15 Точки

Триъгълника трябва да е от 9 символа, равностранен , по 4 символа на страна - това за първият вариант.

Вторият ти е също неправилен ! Не го ли тества ?

Виж моят, в поста над твоят, е същата идея , но е правилно изчислен и съответно изчертава правилно триъгълника .

Дала съм и "сърце" и още един триъгълник със символа в средатата му - като правиш такава програма - нарисувай си фигурката първо на лист !

string empty = " ";
char symbol = (char)0XA9;

Console.WriteLine(empty + empty + empty + symbol);
Console.WriteLine(empty + empty + symbol + empty + symbol);
Console.WriteLine(empty + symbol + empty + empty + empty + symbol);
Console.WriteLine(symbol + empty + symbol + empty + symbol + empty + symbol);





2
vvalchanov1988 avatar vvalchanov1988 6 Точки

Трябва да си поправиш настройките на конзолата.

Cntr i F5 дясно копче на полето горе (където ти се намира X и minimize) избираш properties, след това Font  и вместо Raster Fonts  трябва да го направиш на Lucida Console даваш OK и би трябвало да си готов.

1
Tisho_Todorov avatar Tisho_Todorov 8 Точки

Здравей, просто закоментираи реда с енкодинга  //Console.OutputEncoding=System.Text.Encoding.UTF8; 

-1
georgi.b.stoilov avatar georgi.b.stoilov 6 Точки

Ами аз изрисувах фигурата, но не и с тоя знак (c) защото в конзола не го изписва въпреки, че го намерих като Unicode. В условието на задачата се загатва за некакъв конвърт от Unicode към UTF-8, но това ми е малко неясно.

Ако кажеш как да изобразя (c) в конзола на Windows ще си супер.

А иначе по-долу решението:

using System;

    class CharacterTriangle
    {
        static void Main(string)
        {
            char drawingChar = '\u00A9';
            int height = 4;




            string identStringTop = new string(' ', height - 1);
            string top = identStringTop + drawingChar + identStringTop;
            Console.WriteLine(top);

            for (int i = 2; i < height; i++)
            {
                string identStringSide = new string(' ', height - i);
                string middleTriangleSpace = new string(' ', 2*i - 3);
                Console.WriteLine(identStringSide + drawingChar + middleTriangleSpace + drawingChar +  identStringSide );
            }




            for (int i = 0; i < height; i++)
            {
                string partBase = drawingChar.ToString() + ' ';
                Console.Write(partBase);
            }
            Console.WriteLine("\n");
           
        }
    }







2
vvalchanov1988 avatar vvalchanov1988 6 Точки

Трябва да добавиш ето този код:

 

using System.Text;

Console.OutputEncoding = Encoding.UTF8;

забелязах че го няма в твоята задача.

Ако пак не стане трябва да си поправиш настройките на Конзолата.

Ето го  и моето решение на задачата:

Console.OutputEncoding = Encoding.UTF8;
char copyRightSymbol = '\u00A9';
Console.WriteLine(
" " + copyRightSymbol);
Console.WriteLine(
" " + copyRightSymbol + " " + copyRightSymbol);
Console.WriteLine(
" " + copyRightSymbol + " " + copyRightSymbol);
Console.WriteLine(
copyRightSymbol + " " + copyRightSymbol + " " + copyRightSymbol + " " + copyRightSymbol);

Надявам се да съм бил полезен Лека на всички.

0
yonikolova avatar yonikolova 5 Точки
Ето моето решение: 
 
using System;
 
class IsoscelesTriangle
{
        static void Main()
        {
                char copyrightSymbol = '©';
                Console.WriteLine(" {0}\n {0} {0} \n {0} {0} \n{0} {0} {0} {0}", copyrightSymbol);
        }
}
3
Velichkov avatar Velichkov 87 Точки

Трябва да е равностранен триъгълник, а при теб се получава пръвоъгълен. :)

-1
advokata avatar advokata 1 Точки

Добре де не може ли да се измисли нещо с for цикъл. Би трябвало да може според входни данни да можеш да направиш такъв триъгълник.

0
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Естествено, че може. Това реално си е задача за рисуване, каквито ще бъде 3-тата ви на изпита. 

0
petio.bs avatar petio.bs 50 Точки

Надявам се да ви е от полза : цък
Ако не ви излиза символа трябва да си промените шрифта на конзолата :)

6
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.