Задача:. Найдите закономерность и напишите программу, которая выводит аналогичную таблицу для любых чисел [latex]n > 0[/latex] (количество столбцов) и [latex]m > 0[/latex] (количество строк).
-+-+-*-+-+-*-+-+-*-+-+-*-
+-+-*-+-+-*-+-+-*-+-+-*-+
-+-*-+-+-*-+-+-*-+-+-*-+-
+-*-+-+-*-+-+-*-+-+-*-+-+
+*-+-+-*-+-+-*-+-+-*-+-+-
*-+-+-*-+-+-*-+-+-*-+-+-*
-+-+-*-+-+-*-+-+-*-+-+-*-
+-+-*-+-+-*-+-+-*-+-+-*-+
Входные данные:
Количество столбцов [latex]n > 0[/latex] и строк [latex]m > 0[/latex].
Выходные данные:
Таблица размером [latex]n[/latex] [latex]\times[/latex] [latex]m[/latex] аналогичная таблице в условии.
Тесты:
№ | [latex]n[/latex] [latex]m[/latex] | Таблица |
1 | 1 1 | — |
2 |
1 7 | — + — + — * — |
3 | 7 1 | -+-+-*- |
4 | 10 10 | -+-+-*-+-+ +-+-*-+-+- -+-*-+-+-* +-*-+-+-*- -*-+-+-*-+ *-+-+-*-+- -+-+-*-+-+ +-+-*-+-+- -+-*-+-+-* +-*-+-+-*- |
5 | 25 8 | -+-+-*-+-+-*-+-+-*-+-+-*- +-+-*-+-+-*-+-+-*-+-+-*-+ -+-*-+-+-*-+-+-*-+-+-*-+- +-*-+-+-*-+-+-*-+-+-*-+-+ -*-+-+-*-+-+-*-+-+-*-+-+- *-+-+-*-+-+-*-+-+-*-+-+-* -+-+-*-+-+-*-+-+-*-+-+-*- +-+-*-+-+-*-+-+-*-+-+-*-+ |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> using namespace std; int main() { int n, m; // Количество столбцов и строк соответственно cin >> n >> m; for(int i = 0;i < m;i++){ // Цикл для перехода на новую строку for(int j = 0;j < n;j++){ // Цикл вычисления номера члена if(((i+j+1) % 6 == 0)&&((i+j) != 0)){ // Проверка на кратность шести cout << "*"; } else cout << ((i+j+1) % 2 == 0?"+":"-"); // Проверка на кратность двум } cout << endl; } return 0; } |
Алгоритм решения:
Посмотрев на таблицу можно заметить, что знак «-» выводится когда номер члена последовательности нечетный, знак «+» когда четный и знак «*» когда член последовательности кратный 6. После объявления переменных [latex]n[/latex] и [latex]m[/latex](количество столбцов и строк соответственно) создаем два цикла — один внутри другого. Внешний цикл считает номер строки и, после выполнения внутреннего, переносит последовательность на новую строку. Внутренний цикл считает номер столбца и выполняет проверку на кратность шести, в этом случае выводится знак «*». В противном случае проводится проверка на кратность двум. Если номер члена последовательности кратен двум выводиться знак «+», в противном случае — «-«.
Работа засчитана. Если будет желание, поработайте над текстом описания решения. И уберите из условия задачи замечания 1 и 2. Вы же видите, что они к Вашему варианту не относятся.
UPD. Нет не засчитана. Заглянул в текст и ужаснулся. В первой половине работы вместо latex заведены изображения. Например, чтобы задать всего один символ [latex]n[/latex] Вы пишите img class=»latex» style=»border: none;height: auto;width: auto;vertical-align: middle;margin-top: 0px;color: #b29d85;font-family: Ubuntu, ‘Helvetica Neue’, Helvetica, Arial, sans-serif;font-size: 13px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: 20.995px;text-align: start;text-indent: 0px;background: #120f10″ title=»n > 0″ src=»http://s0.wp.com/latex.php?latex=n+%3E+0&bg=292625&fg=b29d85&s=0″ alt=»n > 0″ …
Прошу прощенья за рисунки. Думал что если изображения поста одинаковы и с полной формулой, и с рисунком, то не имеет значение то, как он записаны в исходном тексте.
Между текстом и картинкой разница существенная.