04. Printing Triangle
Здравейте, банда :) Надявам се, че сте добре!
Този код се компилира и изпълнява перфектно на моя VS, но в Judge ми дава някакви страхотии (CompileTimeError). Иначе си прави красиви триъгълници и пр.
A compile time error occurred.
Compilation result:
Compiled file is missing. Compiler output: ...\tmp188B.tmp(2,32): error CS1001: Identifier expected ...\tmp188B.tmp(3,9): error CS1022: Type or namespace definition, or end-of-file expected ...\tmp188B.tmp(22,14): error CS1513: } expected
using System;
namespace ConsoleApp10
{
class Program
{
static void Main(string[] args)
{
int count = int.Parse(Console.ReadLine());
PrintTriangle(count);
}
static void PrintTriangle(int n)
{
for (int counter = 1; counter <= n; counter++)
{
for (int i = 1; i <= counter; i++)
{
Console.Write($"{i} ");
}
Console.WriteLine();
}
for (int i = 1; i <= n; n--)
{
for (int j = 1; j <= n; j++)
{
Console.Write($"{j} ");
}
Console.WriteLine();
}
}
}
}
Но защо се изпълнява тогава?
Изпълнява се защото във втория цикъл променливата "i" никога не се променя, а използваш тялото на цикъла за да намаляваш "n" - т.е. импровизиран while цикъл. Ако искаш да си ползваш това решение, преди втория цикъл напиши
и след това изпълни цикъла. Половината на триъгълника ще се изчертае правилно.