Loading...
petyr_dinev12 avatar petyr_dinev12 0 Точки

Задача 6 programming basics

Намерих два кода в интернет ,който отпечатват квадрат от звезди. Обаче излизат ,като грешки в JUDGE.

1.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp16
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 5; i++)
            {
                Console.Write("*");
            }
            for (int a = 0; a <= 0; a++)
            {
                Console.WriteLine("");
                Console.Write("*");
            }
            for (int c = 0; c <= 0; c++)
            {
                Console.WriteLine("   *");
            }
            for (int d = 0; d <= 1; d++)
            {
                Console.Write("*");
                Console.WriteLine("   *");
            }
            for (int e = 0; e < 5; e++)
            {
                Console.Write("*");
            }
            Console.ReadLine();
        }
    }
    }
 

2.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp15
{
    class Program
    {
        static void Main(string[] args)
        {
            {
                {
                    int number = 4;

                    for (int i = 0; i<  number; i++)
                    {
                        if (i == 0 || i == 3)
                        {
                            for (int j = 0; j < number; j++)
                            {
                                Console.Write("*");
                            }
                            Console.WriteLine();
                        }
                        if (i >= 1 && i <= 2 )
                        {
                            for (int j = 0; j < number; j++)
                            {
                                if (j == 0 || j == 3)
                                {
                                    Console.Write("*");
                                }
                                else if (j >= 1 && j <= 3)
                                {
                                    Console.Write(" ");
                                }
                            }
                            Console.WriteLine();
                        }
                    }

                }
            }
        }
    }

}
    

0
Общи приказки 14/03/2018 01:26:11
svetoslav_0 avatar svetoslav_0 1009 Точки

Първата печата много излишни редове, веднъж слязла на следващия ред, конзолата няма да се върне на предишния, за да отпечата нещо друго (или поне не и на този етап), а втората е излишно усложнена. Вкарай си ги в едно visual stuido и виж какво ще стане.

Примерна идея за решаване на тази задача:

1) отпечатай n на брой звездички, как става това:

Единият вариант е да се завърти един цикъл от 0 до n и да печата по една звездичка, като тя е на същия ред, другият вариант е да се използва new string('*',n)

2) средната час (реално по-трудното):

Завърта се един друг цикъл от 0 до n - 2. Защо до n - 2? Ами нека си представим квадрата при n = 4 (няма да го чертая, няма да се визуализира правилно). Първият ред вече сме го напечатали (в стъпка 1) ), а последният ще е съвсем същият като първият и за това няма да е до n, а до n - 2.

Какво ще прави този наш цикъл: първо ще отпечата една звездичка при всяко свое завъртане без да слиза на нов ред след това (Console.Write("*");). След това ще отпечата няколко space-чета. Отново n - 2 на брой. Това е така, защото в началото и края на всеки ред ще имаме по една звездичка. Как се печатат няколко space-чета? Ами по същия начин както в стъпка 1), с тази разлика че няма да печатаме '*', а ' '. Отново трябва да НЕ слизаме на следващия ред. Остава да отпечатаме още една звездичка, за да завършим всеки вътрешен ред и сме готови със средната част.

3) най-долната част: абсолютно същата като най-горната, тоест стъпка 1)

Тази задача притеснява много хора, защото не могат да я решат от първия път. Спокойно. Нормално е. Тя за това е отбелязана като незадължителна. Необходими са знания от поне още 3-4-5 лекции, за да нямаш проблем с подобни задачи, така споко :)

Успех :)

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