Софтуерно Инженерство
Loading...
+ Нов въпрос
koksibg avatar koksibg 878 Точки

Ето ти един от начините за решаването на тая задача

http://pastebin.com/ftjANxqu

 

 

0
borislav9212 avatar borislav9212 745 Точки

Здравей,

Първо прочиташ от конзолата едно число -> var n = int.Parse(Console.ReadLine());, след това печаташ " n " на брой звездички за първия ред, изпозваш " new string " с него е по лесно -> Console.WriteLine(new string('*', n)); . Въртиш един цикъл за вътрешността на квадрата -> for (int i = 0; i < n - 2; i++), до n-2; и в него печатиш '*', n-2 space и последната '*'. -> Console.WriteLine('*' + new string(' ', n - 2) + '*'); и накрая пак печатиш посления ред от n звездички -> Console.WriteLine(new string('*', n)); Дано съм успял да ти помогна. Успех!

3
teodorivchev avatar teodorivchev 1 Точки

Благодаря за информацията доста добро обяснение.Помогна ми да се справя

Благодаря 

1
ValentinTodorov1051 avatar ValentinTodorov1051 0 Точки

Здравейте. Защо правим цикъла да върти  " i < n - 2 " ?

0
bojidar95 avatar bojidar95 9 Точки

Защото изключваме първия и последния ред, които са различни. Общо редовете са n на брой, т.е. редовете, които трябва да направим в цикъла, са n - 2.

0
06/01/2018 21:48:05
LeCannibale avatar LeCannibale 3 Точки

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

namespace Program
{
    class Program
    {
        static void Main(string[] args)
        {
            var n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n; i++)

                if (i == 0 || i == n - 1)
                {
                    Console.WriteLine(new string('*', n));

                }
                else
                {
                    Console.WriteLine('*' + new string(' ', n - 2) + '*');
                }

        }
    }
}

0
heellboy avatar heellboy 2 Точки

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

 

 var n = int.Parse(Console.ReadLine());
            for (var r = 1; r <= n; r++)
            {
                Console.Write("*");
                for (var c = 1; c < n; c++)
                {
                    Console.Write(" *");
                }
                Console.WriteLine();

1
manchoni avatar manchoni 1 Точки

Това не отговаря на условието

0
manchoni avatar manchoni 1 Точки

Доста си поиграх и на база знанията, които придобих само от първите 2 лекции успях да направя това:

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

namespace SquareOfStars
{
    class SquareOfStars
    {
        static void Main()
        {
            var n = int.Parse(Console.ReadLine());
            string a = "";
            string b = "";
            for (int i = 0; i < n; i++)
            {
                a = a + "*";
            }
            Console.WriteLine(a);
            for (int k = 2; k <= n - 1; k++)
            
                {
                    b = b + " ";
                }
            for (int k = 2; k <= n - 1; k++)
            {
                Console.WriteLine("*{0}*", b);
            }
                Console.WriteLine(a);
        }
    }
}
 

0
todor0912 avatar todor0912 35 Точки
import java.util.Scanner;

public class SquareFrame {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        int n = Integer.parseInt(console.nextLine());
        System.out.println(repeatString("*",n));
        for (int row=1; row<=n-2; row++){
            System.out.print("*");
            for (int col =1; col<=n-2; col++){
                System.out.print(" ");
            }
            System.out.println("*");
        }
        System.out.print(repeatString("*",n));

    }
    static String repeatString(String toRepeat, int count) {
        String text = "";
        for (int i = 1; i <= count; i++) {
            text = text + toRepeat;
        }
        return text;
    }

}

Това е моето решение на Java  !

0