Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
.NET 4.x

Как сделать верно данную задачу (Шамбала)?

04.01.2020, 23:34. Показов 3768. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос как верно расставить условия что бы код отработал

Шамбала
Шаман племени «Тумба-Юмба» обладает особым даром – он умеет отгонять беду от посевов племени. Но для успешного камлания он должен в день начала посевов правильно сложить особенную фигуру, называемую Шамбалой, чтобы боги погоды были благосклонны к жителям племени. Как строится Шамбала посмотрите в прилагаемых к задаче примерах.

В данной задаче нужно вывести на экран в символическом виде концентрические круги символами ‘X’ и пробелами, количество которых зависят от номера N текущего дня.

На вход подаётся одна строка с числом N [1, 30].

На выход нужно подать несколько строк с изображением шамбалы.

Sample Input 1:

1
Sample Output 1:

X
Sample Input 2:

2
Sample Output 2:

XXX
X X
XXX
Sample Input 3:

3
Sample Output 3:

XXXXX
X X
X X X
X X
XXXXX
Sample Input 4:

4
Sample Output 4:

XXXXXXX
X X
X XXX X
X X X X
X XXX X
X X
XXXXXXX
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System; 
 
namespace Matribs
{
    class Program
    {
        static void Main()
        {
            try
            {
                Random rand = new Random();
                int M = int.Parse(Console.ReadLine());
                int N = M + M - 1;
                if (N != 0)
                {
                    int[,] array = new int[N, N];
                    for (int i = 0; i < N; i++)
                    {
                        for (int j = 0; j < N; j++)
                        {
                            array[i, j] = rand.Next();
                        }
                    }
 
                    for (int i = 0; i < N; i++)
                    {
                        for (int j = 0; j < N; j++)
                        {
                            if (array[i, j].ToString() != N.ToString())
                            {
                                Console.Write(array[i, j].ToString().Replace(array[i, j].ToString(), "X" + " "));
                            }
                            else
                            {
                                Console.Write(array[i, j].ToString().Replace(array[i, j].ToString(), " "));
                            }
                        }
                        Console.WriteLine();
                    }
                }
                else
                {
                    Console.WriteLine("Задайте размер матрицы он не может быть ноль!");
                    Main();
                }
                Console.ReadKey();
            }
            catch
            {
                Erro();
            }
        }
        static void Erro()
        {
            Console.Clear();
            Console.WriteLine("Ошибка ввода данных!");
            Main();
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.01.2020, 23:34
Ответы с готовыми решениями:

Как реализовать данную задачу
Вот данная задача не понимаю как её выполнить.Долго думала так и не поняла

Как нужно сделать данную задачу, я просто запутался в написании программы( map collection)
Вводится несколько строк по два слова в каждой - имена двух друзей. Дружба - вещь взаимная(с двух сторон!!!). Иначе люди - не друзья. ...

Товарисчи объясните пожалуйста как сделать данную задачу! (Найти наибольший элемент каждой строки А(4,6) и записать их в массив Y)
Найти наибольший элемент каждой строки А(4,6) и записать их в массив Y. С программированием не разу не сталкивался объясните...

13
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
05.01.2020, 00:40
C#
1
if (array[i, j].ToString() != N.ToString())
Поставь точку остановки и посмотри на эту строку. Ее результат всегда будет true.

В расположении символов в массиве при построении твоей шамбалы не нашел математической логики. может не указал какое-то условия??

Цитата Сообщение от kauakutsatsauts Посмотреть сообщение
Как строится Шамбала посмотрите в прилагаемых к задаче примерах.
примеры покажи
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
05.01.2020, 02:05
Цитата Сообщение от Voronkin Посмотреть сообщение
Ее результат всегда будет true.
Ну не совсем всегда — в 1 случае из 2147483647-и будет false
0
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
05.01.2020, 12:56  [ТС]
kolorotur, Сможешь помочь решить задачку ?
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
05.01.2020, 13:11
Я один не понял, как
Цитата Сообщение от kauakutsatsauts Посмотреть сообщение
концентрические круги
связаны с
Цитата Сообщение от kauakutsatsauts Посмотреть сообщение
XXX
X X
XXX
и в чём закономерность?
Особенно непонятна, фигура 4
Цитата Сообщение от kauakutsatsauts Посмотреть сообщение
XXXXXXX
X X
X XXX X
X X X X
X XXX X
X X
XXXXXXX
по какому принципу она строится?

Ага, видимо форматирование слетело, наверно имелось ввиду
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
XXXXX
X   X
X X X
X   X
XXXXX
 
XXXXXXX
X     X
X XXX X
X X X X
X XXX X
X     X
XXXXXXX
0
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
05.01.2020, 13:31  [ТС]
Всё верно да так надо сделать как это сделать я не знаю ?

Добавлено через 28 секунд
samana, Поможешь ?
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
05.01.2020, 13:39
Цитата Сообщение от kauakutsatsauts Посмотреть сообщение
samana, Поможешь ?
kauakutsatsauts, Я пока смотрю на эти круги и не понимаю закономерность их построения. Если до меня дойдёт это осознание, то наверно помогу.
0
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
05.01.2020, 13:44  [ТС]
Шамбала
Шаман племени «Тумба-Юмба» обладает особым даром – он умеет отгонять беду от посевов племени. Но для успешного камлания он должен в день начала посевов правильно сложить особенную фигуру, называемую Шамбалой, чтобы боги погоды были благосклонны к жителям племени. Как строится Шамбала посмотрите в прилагаемых к задаче примерах.

В данной задаче нужно вывести на экран в символическом виде концентрические круги символами ‘X’ и пробелами, количество которых зависят от номера N текущего дня.

На вход подаётся одна строка с числом N [1, 30].

На выход нужно подать несколько строк с изображением шамбалы.

Добавлено через 2 минуты
есть на PYTHON сможешь конвертнуть в C#
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def Draw(day): 
r = 2*day-1 
s = 0 
arr = [[' ' for i in range(r)] for j in range(r)] 
while s<r: 
for col in range(s,r): 
for row in range(s,r): 
if col == s or row == s or col == r-1 or row == r-1: 
arr[col][row] = 'X' 
s +=2 
r -=2 
for i in range(2 * day -1): 
for j in range(2 * day - 1): 
print(arr[i][j], end = '') 
print() 
Draw(int(input()))
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
05.01.2020, 14:13
Лучший ответ Сообщение было отмечено kauakutsatsauts как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System;
 
class Program
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());
        int x, y, z;
 
        for (int i = 0; i < n * 2 - 1; i++)
        {
            for (int j = 0; j < n * 2 - 1; j++)
            {
                x = Math.Abs(n - 1 - j);
                y = Math.Abs(n - 1 - i);
                z = x < y ? y : x;
                Console.Write((n - z) % 2 == 1 ? 'X' : ' ');
            }
 
            Console.WriteLine();
        }
 
        Console.ReadLine();
    }
}
1
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
05.01.2020, 14:30
QuakerRUS, Я не представляю, что должно быть в голове, чтобы понимать всё это!
1
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
05.01.2020, 14:42
samana, достаточно проанализировать задачу. Проще всего получить номер "кольца" (z), а дальше в зависимости от его четности выводить символ или пробел.
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
05.01.2020, 14:52
QuakerRUS, да, звучит несложно и основного кода всего на 6 строк, но...
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
05.01.2020, 19:15
Можно еще чуть сократить, если переменные промежуточные не использовать.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
 
class Program
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());
 
        for (int i = 0; i < n * 2 - 1; i++)
        {
            for (int j = 0; j < n * 2 - 1; j++)
                Console.Write((n - Math.Max(Math.Abs(n - 1 - j), Math.Abs(n - 1 - i))) % 2 == 1 ? 'X' : ' ');
 
            Console.WriteLine();
        }
 
        Console.ReadLine();
    }
}
0
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
08.01.2020, 01:21  [ТС]
QuakerRUS, Сможешь помочь Арифметика
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.01.2020, 01:21
Помогаю со студенческими работами здесь

На чем можно сделать данную задачу
Доброго времени суток. Вчера на работе поставили задачу. Дали изображение (которые выложил) и сказали. Найди на чем можно сделать ...

Кто сможет сделать данную задачу 10 класса)
Всем привет помогите решить данную задачу по информатике 10 класс

Нужно сделать данную задачу с матрицей в С++.Для знающих С++
Здравствуйте.Прошу помочь решить данную задачу.Я ещё учусь и потому многого не знаю.Пытаюсь решить такую задачу:Заполнить матрицу...

Как реализовать данную задачу?
Имеется задача, я так понимаю, нужно составлять уравнения и вычислять переменные, в каком виде это может быть?

Как разобрать данную задачу?
Чему равна электропроводность проводника, поперечное сечение которого 1 мм2, если при напряженности поля 1 В/см сила тока равна 1 А.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru