Member 12846812 Ответов: 4

Чередование * и # паттернов


Напишите программу для печати альтернативного шаблона в * и #.

Входные данные: одна строка,содержащая целое число, N.

Выводится как: альтернативный шаблон шаблонов " * " и "#" для печати.


Пример:

Вход: Выход

1 *

5 *####
###**
***##
###**
*####

8 *#######
######**
***#####
####****
****####
#####***
**######
#######*

Что я уже пробовал:

Я действительно пытался решить эту проблему, но до сих пор мне не удается расшифровать, как распространяется код # и*.

Итак, помогите мне, если можете, как я должен это понимать!

Спасибо.

Извините за резкий вопрос.

Richard MacCutchan

Подумайте о том, как различные группы вычисляются из чисел. Например, входное число 5 дает: 1,2,3,2,1 звездочки и 4,3,2,3,4 хэша. Ans каждая группа символов чередуется, будь то в начале или в конце строки. Вы должны записать их на бумаге, а затем записать, какие еще значения вам нужны, чтобы напечатать строки. Это не так сложно, как кажется.

[no name]

"Напишите программу ", хорошо сделано.

4 Ответов

Рейтинг:
1

OriginalGriff

Вам нужно начать с запроса пользователя и считывания с него номера -> N
Затем вам нужно напечатать это количество строк.
Перед началом цикла, начнем с "звезды считать" 1, а "хэши считать" Н - 1
внутри цикла проверьте, является ли номер строки нечетным или четным (подсказка: и он с одним. Если это ноль, то это даже)
Странно: принт "звезды считать" звезды "хэши считать" хэши.
Даже: печатать нечетные: печать "хэши считать" хэши, потом "посчитать звезды" звезды
Увеличьте "количество звезд"и уменьшите "количество хэшей"
Идите за следующей строкой.

Но это же твое домашнее задание, так что никакого кода!


[no name]

Это не моя домашняя работа.
Я получил его, решая код онлайн-викторины, и я не мог этого сделать.

Ради бога, почему все продолжают давить на домашнюю фразу!

OriginalGriff

"Почему все продолжают давить на домашнюю фразу!"

1) потому что это похоже на домашнюю работу?
2) потому что у студента на второй неделе его первого курса вычислительной техники могут возникнуть трудности с этим, но никто с большим опытом не должен найти его даже немного сложным?
3) потому что "онлайн-тесты кода" задают домашние вопросы?
4) Все вышеперечисленное? :смеяться:

Richard Deeming

Только потому, что это не было задано учителем, это не значит, что это не "домашнее задание"! :)

Вы задали себе несколько "домашних заданий", чтобы попытаться улучшить свои навыки программирования, что является благородной целью. Однако, если кто-то другой даст вам ответ, это разрушит всю цель задачи.

[no name]

Я пытаюсь это понять.
Я не мог этого сделать, поэтому я хотел знать, как это сделать.
Поэтому я и спросил, Сэр.
но если это позволит мне поиздеваться над собой, я просто не пойму, как это может быть полезно.

Richard Deeming

Никто над тобой не смеется. Мы просто пытаемся помочь вам найти ответ для себя. Так ты узнаешь гораздо больше. :)

CPallini

5.

Рейтинг:
1

Member 14211612

public class Program
{
    public static void main(String[] args) {
        int k,i,j,n=3;
        int sc,hc;
        sc=1;
        hc=n-1;
        
        for(k=0;k<n;k++)
        {
            if(k%2==0)
            {
                for(i=1;i<=sc;i++)
                {
                    System.out.print("*");
                }
                for(j=1;j<=hc;j++)
                {
                 System.out.print("#");
                }
            }
        
            else
            { 
                for(i=1;i<=hc;i++)
                {
                    System.out.print("#");
                }
                for(j=1;j<=sc;j++)
                {
                 System.out.print("*");
                }
            }
             System.out.print("\n");
             if(k<n/2)
             {
            sc++;
            hc--;
             }
             else
            {
            sc--;
            hc++;
             }
                 
             
        }
    }
}


Dave Kreskowiak

Перечитайте остальные ответы еще раз. Какую часть фразы "мы не делаем вашу домашнюю работу" вы не понимаете? Вы никому не помогли, опубликовав ответ на этот вопрос. Вы сделали за них их работу и ничему не научили их о том, как построить ответ для себя.

Поздравляю с тем, что помогаю людям провалить свой класс, а не сдать его.

Рейтинг:
0

Patrice T

Мы не делаем вашу домашнюю работу.
Домашнее задание не предназначено для проверки ваших навыков просить других людей выполнять вашу работу, оно предназначено для того, чтобы помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, которые вы испытываете при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по исправлению положения.
Так что попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Цитата:
Это не моя домашняя работа.
Я получил его, решая код онлайн-викторины, и я не мог этого сделать.
Это домашнее задание, потому что оно сложно только для новичка-студента, оно направлено на то, чтобы научить вас комбинировать вещи.

Совет:
Возьмите лист бумаги и составьте таблицу, в которой вы сообщаете факты в Столбцах.
- номер строки
- номер строки нечетный или четный
- сколько звезд на линии?
- сколько # на линии
- начинается слева или справа
Сделайте эту таблицу для 8 и 9, а затем ищите шаблоны.

Тренировочное упражнение:
Задайте число, а затем нарисуйте что-нибудь:
-Нарисуйте треугольник
*
* *
* * *
* * * *
* * * * *
-Добавьте #, чтобы сделать его квадратным
* # # # #
* * # # #
* * * # #
* * * * #
* * * * *
-Поменять местами левый-правый
# # # # *
# # # * *
# # * * *
# * * * *
* * * * *
-Нарисуйте пирамиду
*
* *
* * *
* *
*
-Добавьте #, чтобы сделать его квадратным
* # # # #
* * # # #
* * * # #
* * # # #
* # # # #
-Поменять местами левый-правый
# # # # *
# # # * *
# # * * *
# # # * *
# # # # *

Будучи программистом, вы также легко справляетесь с математикой
Проверьте поведение абсолютной функции
Для x= -2, -1, 0, 1 и 2 :
каков же результат этого abs(x)
каков же результат этого 3-abs(x)
Сравните с другими образцами.


CPallini

5.

Patrice T

Спасибо.

Рейтинг:
0

Stefan_Lang

Хотя кажется, что на большинство аспектов уже дан ответ в других решениях, вот еще несколько общих советов о том, как расшифровать алгоритм, определяющий выходные данные.

Вы должны исследовать все примеры, чтобы распознать шаблон. Самый длинный пример (в данном случае для входных данных 8) обычно дает больше информации. Если вы думаете, что можете определить свойство самого длинного паттерна, вы можете проверить другие примеры, чтобы увидеть, верна ли ваша гипотеза.

Затем вы можете проверить, как паттерны зависят от входного значения. Опять же, если вы думаете, что можете определить зависимость, проверьте все примеры, чтобы узнать, правы ли вы.

Каждое из найденных свойств и зависимостей можно преобразовать в правило и включить в программу. В зависимости от сложности рисунка, он может потребовать много правил. Если вы думаете, что нашли их все, вы можете попытаться завершить свою программу. Однако если вы обнаружите, что вашей программе не хватает информации для правильного воспроизведения шаблонов, вы, вероятно, пропустили правило, и вам нужно снова проверить примеры.

Кроме того, вы можете начать писать свою программу и, делая это, рассмотреть, сколько и какая информация вам может понадобиться для воспроизведения каждой строки вывода. например, сколько строк вам нужно напечатать, какова длина каждой строки вывода, из чего состоит конкретная строка и т. д.. Затем вы можете искать ключи к этой конкретной информации в примерах.


Richard Deeming

Если ОП все еще ждет, что кто-то сделает за них домашнее задание три года спустя, они уже потерпели неудачу! :Д

(Возвращен в активный список с помощью дампа кода в решении № 3.)