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

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

04.01.2020, 23:34. Показов 3806. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru