Loading...
Losko avatar Losko 69 Точки

Задача - 06. Triangle of 55 Stars

Здравейте. Имам проблем с тази задача. До колкото си спомням този код би трябвало да свърши работа, но ефекта е като все едно в скобите е само ("*").

        for (int i = 0; i < 55; i++)
        {
            Console.WriteLine("*", i);
        }

"Напишете C# конзолна програма, която отпечатва триъгълник от 55 звездички, разположени на 10 реда"

Тагове:
0
Programming Basics 18/10/2016 20:59:31
borislav9212 avatar borislav9212 745 Точки

Здравей,

Може да използваш два вложени цикъла да обикаляш редовете и колоните. На row му казваш да върти до <= 10 , (тоест включително и десетата '*' ) а на col до row, ето така:

for (int row = 0; row <= 10; row++)
            {
                for (int col = 0; col < row; col++)
                {
                    Console.Write('*');
                }
                Console.WriteLine();
            }

0
Losko avatar Losko 69 Точки

using System;


class TriangleOf55Stars
{
    static void Main()
    {
        for (int i = 1; i <= 10; i++)
        {
            Console.WriteLine(new string('*',i));
        }
    }
}

Това ми е решението дава 100/100

Както споменавам по-горе. Веднага щом колегата ми написа да използвам " new string('*',i) " и задачата беше решена. :)

0
borislav9212 avatar borislav9212 745 Точки

Аз ти го казвам като решение, че и така също става. Катого  видиш този код някъде да знаеш за какво служи.

0
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Ами аз го написах с десет реда Console.Write() и пак дава 100/100

1
Losko avatar Losko 69 Точки

Идеята е да се научим да ползваме цикли и да влагаме някаква логика в програмките си. 
На следващите задачи входните данни са в голям диапазон и за да го "хард-коднеш" ще ти е почти невъзможно за да се вместиш в паметта и времето за работене на програмата ти.

1
borislav9212 avatar borislav9212 745 Точки

То ще мине и така, но ако се иска 1000 реда какво правим.... ще се строшиш от кодене

0
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Е, аз мога да го направя и цикъл. Просто бързах и нямах време да мисля. На мен идеята ми беше, че всяко вярно решение дава 100/100

0
rumyn avatar rumyn 8 Точки

да се опитам да разшифровам програмката на Borislaw 9212

Ако реда е нула добавяш 1 ;

Ако колконата е нула добавяш 1 при условие че е с единица по малка от реда; значи тук колконата си остава 0

печатащ " * " и печаташ " " ( нищо)

Това е първото преминаване през цикъла.

Следава-  променливите вече имат стойност 1 на ред  проверява дали е стигнала до 10 и добавя 1 към ред . И тъйкато реда вече е 2 към колконата се добавя 1

Печата  втори ред * и печата първа колона * звезди и печата " " (нищо)

Това е второто преминаване през цикъла.

Програмата ще премине през цикъла докато се изпълни условието реда да е 10 и колконата да е с единица по малка от реда.

е има едно нещо къде не мога точно да си го обясня - как на третия ред конзолата разбра че трябва да се 3 звездичките? иначе работи ! проверих

0
12/01/2017 13:37:47
Losko avatar Losko 69 Точки

Това са два вложени цикъла не е само един.
Така чем, на всеки ред има толкова звезди колкото е реда... горе долу е това.
1
22
333
4444
55555
666666
7777777
....

0
rumyn avatar rumyn 8 Точки

Сърдечно благодаря !

Просто бях пропуснала този факт да го отбележа. Сега ми се връзват нещата с обеснението как работи програмката за да направи това което се иска от нея .

0
Georgieva_Nadezhda avatar Georgieva_Nadezhda 28 Точки

using System;


namespace _05.TriangleOf55Stars
{
    class TriangleOf55Stars
    {
        static void Main()
        {
            for (int row = 1; row <= 10; row++)
            {
                for (int col = 0; col < row; col++)
                {
                    Console.Write('*');
                }
                Console.WriteLine();
            }
        }
    }
}

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