Хоть убей, не пойму куда их писать.
А где поздравление?
Надо поздравление написать и картинку прикрепить.
У тебя корявый вывод еще и с ошибкой. Для выравнивания надо использовать PadLeft и еще не забить про один пробел после каждого столбца кроме последнего. Даже если не было ошибки все равно не правильно так как только до числа 100 выравнивает правильно, а при больших значениях уже выравнивать как надо не будет.
Ткните дурака носом: где не так? Ибо надоело.
using System;
class VideoSharp
{
static void Main()
{
//для тесту
//int n=5;
int n=2;
//string s=Console.ReadLine();
//int n=Convert.ToInt32(s);
int[,] arr=new int[n,n];
int x;
int y;
int pos=1;
for (int diag = 0; diag < n; diag++)
{
if (diag % 2 == 0){
x = 0;
y = diag;
while (y >= 0){
arr[y,x] = pos;
pos++;
x++;
y--;}}
else{
x = diag;
y = 0;
while (x >= 0){
arr[y,x] = pos;
pos++;
x -= 1;
y += 1;}}}
for (int diag = 1; diag < n; diag++){
if (diag % 2 == 0){
x = n-1;
y = diag;
while (y <= n-1){
arr[x,y] = pos;
pos++;
x--;
y++;}}
else{
x = diag;
y = n-1;
while (x <= n-1){
arr[x,y] = pos;
pos++;
x++;
y--;}}}
for (int i = 0; i < n; i++) {
for (int k = 0; k < n; k++) {
pos = arr[i,k];
if(k==0 && i==0){Console.Write(String.Format("{0,1}", pos));}
else if(k<1 && !(k==0 && i==0)){Console.Write(String.Format("{0,2}", pos));}
else{Console.Write(String.Format("{0,3}", pos));}}
Console.WriteLine();}
}
}
Проверил. Вставил скопированное в MSWord, включил непечатаемые символы. Всё точь-в-точь. Здесь надо не результат, а код угадать?
Да почему это невеправильный ответ для 2?!
> Программа отсылается...
> Робот Шарп проверил программу, 10 с.
Ошибка при выполнении демо-теста:
НЕВЕРНЫЙ ОТВЕТ:
1 2
3 4
Робот Шарп: Найди, исправь ошибку и пробуй снова!
Да что не так!?
using System;
class VideoSharp
{
static void Main()
{
string str = Console.ReadLine();
Console.WriteLine(str);
Console.WriteLine(str);
}
}