Loading...
badbutcher avatar badbutcher 144 Точки

[Homework] Problem 8. Isosceles Triangle 3. Primitive-Data-Types-and-Variables-Homework

Write a program that prints an isosceles triangle of 9 copyright symbols ©, something like this:

   ©

  © ©

 ©   ©

© © © ©

Note that the © symbol may be displayed incorrectly at the console so you may need to change the console character encoding to UTF-8 and assign a Unicode-friendly font in the console. Note also, that under old versions of Windows the © symbol may still be displayed incorrectly, regardless of how much effort you put to fix it. Това е ословието.

Ето до къде съм стигнал:

using System;

namespace Problem_8.Isosceles_Triangle
{
    class Program
    {
        static void Main()
        {

            int spaces = 4;
            int Az = 1;
            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < spaces; j++)
                {
                    Console.WriteLine(" ");
                }
                for (int j = 0; j < Az; j++)
                {
                    Console.Write("© ");
                }
                Console.WriteLine();
                Az++;
                spaces--;
            }
        }
    }
}

Като пусна програмата не работи както трябва и не знам защо. Ако може някой може да ми каже къде е проблема ще съм много благодарен.

Тагове:
0
Programming Basics
DHristoskov avatar DHristoskov 211 Точки

            int spaces = 4;
            int Az = 1;
            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < spaces; j++)
                {
                    Console.Write(" ");//Само тук имаш грешка в цикъла трябва да е ConsoleWrite
                }
                for (int j = 0; j < Az; j++)
                {
                    Console.Write("© ");
                }
                Console.WriteLine();
                Az++;
                spaces--;

В случай, че държиш да е написана по този начин.

Успех!!!

2
25/05/2015 18:48:27
peterborisov avatar peterborisov 123 Точки

 int c = 0x00a9;
            char symbol = (char)c;
            Console.WriteLine(("   {0}").PadLeft(38), symbol);
            Console.WriteLine(("  {0} {0}").PadLeft(41), symbol);
            Console.WriteLine((" {0}   {0}").PadLeft(42), symbol);
            Console.WriteLine(("{0} {0} {0} {0}").PadLeft(47), symbol);
            Console.WriteLine();

2
badbutcher avatar badbutcher 144 Точки

Мерси стана.

0
oxygen avatar oxygen 7 Точки

using System;

 

class Triangle
{
    static void Main()
    {

        int spaces = 4;
        int copyright = 1;
        int numsymbols = 4;
        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < spaces; j++)
            {
                Console.Write(" ");
            }
            for (int j = 0; j < copyright; j++)
            {
                if (2 < copyright && copyright < numsymbols)
                {
                    if (0 < j && j < (copyright-1))
                    {
                        Console.Write("  ");
                    }

                    else
                    {
                        Console.Write("© ");
                    }
                }
                else
                {
                    Console.Write("© ");
                }
            }
            Console.WriteLine();
            copyright++;
            spaces--;
        }
    }

}

 

0
djc_bg2015 avatar djc_bg2015 923 Точки

Ето ти друг вариянт без фор цикли:

using System;

class IsoscelesTriangle
{
    static void Main()
    {
        char copyRight = '\u00A9';
        char spacer = '\u0020';
        Console.OutputEncoding = System.Text.Encoding.UTF8;
        Console.WriteLine("{1}{1}{1}{0}{1}{1}{1}", copyRight, spacer);
        Console.WriteLine("{1}{1}{0}{1}{0}{1}{1}", copyRight, spacer);
        Console.WriteLine("{1}{0}{1}{1}{1}{0}{1}", copyRight, spacer);
        Console.WriteLine("{0}{1}{0}{1}{0}{1}{0}", copyRight, spacer);
    }
}

 

2
Atanasov_88 avatar Atanasov_88 39 Точки

Здравей, и аз направих задачата по почти същия начин, само че с друг тим cw

using System;

    class IsoscelesTriangle
    {
        static void Main()
        {
            char copyRight = '\u00A9';
            char interval = '\u0020';
            Console.WriteLine(copyRight);
            Console.WriteLine(interval);
            Console.OutputEncoding = System.Text.Encoding.Unicode;
            Console.WriteLine("{1}{1}{1}{1}{0}{1}{1}{1}{1}", copyRight, interval);
            Console.WriteLine("{1}{1}{1}{0}{1}{0}{1}{1}{1}", copyRight, interval);
            Console.WriteLine("{1}{1}{0}{1}{1}{1}{0}{1}{1}", copyRight, interval);
            Console.WriteLine("{1}{0}{1}{0}{1}{0}{1}{0}{1}", copyRight, interval);
        }
    }

Според вас за по-трудни рисунки като "слънчеви очила" удобно ли е да се ползва този начин на писане?

0
djc_bg2015 avatar djc_bg2015 923 Точки

Ами не мисля, че този вариянт би работел за слънчевите очила и другите подобни задачки от изпитите.

Там рамерите (height/width) сa променливи, а не фиксирани както в случая.

1
27/05/2015 14:50:36
antonio_rtodorov avatar antonio_rtodorov 74 Точки

Колега, поздравявам те за семантиката! Много добре наистина кода е лесно четим и правилен. Само мога ли да те попитам, така както си написал кода и си използвал {0} и {1} до колкото знам това показва промелива, която се вмъква Console.ReadLine. Въпроса е следния има ли някакво значение за конзолата?

0
30/05/2015 14:05:07
eltop avatar eltop 15 Точки

Здравейте!

Аз също имам проблем с тази задача. Моля, помагайте! :) Аз я решавам така:

namespace IsoscelesTriangle
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;
            char copyRight = '\u00A9';
            Console.WriteLine("{0,4}\n{0,3}{0,2}\n{0,2}{0,4}\n{0}{0,2}{0,2}{0,2}", copyRight);
        }
    }
}

но, въпреки точния код на символа , той не ми се отпечатва.:( Отпечатва ми се някакво "й". Къде греша?

0
Manoela avatar Manoela 7 Точки

Може да си погледнеш defaul font на конзолата. 

Като избрах defaul font "Lucida Console" ми излезе правилно символа.

:)

0
eltop avatar eltop 15 Точки

Consolas. ми свърши работа.Благодаря! :)

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