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

Внешний цикл обычно задаёт строку, внутренний — её символы. До написания программы выразите число пробелов и символов каждой строки через её индекс.
Печатайте перевод строки после завершения всей строки, а не после каждого символа. Различайте начальные пробелы, разделители и пробелы в конце, особенно при автоматическом сравнении вывода.
Проверьте размеры 1, 2 и больше. Для N строк длиной до N символов требуется O(N²) операций вывода; хранить весь рисунок в памяти необязательно.
Код C
#include <stdio.h>
void print_right_pyramid(int rows) {
printf("1. Right-Half Star Pyramid (Rows = %d):\n", rows);
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
printf("* ");
}
printf("\n");
}
}
void print_full_pyramid(int rows) {
printf("\n2. Full Centered Star Pyramid (Rows = %d):\n", rows);
for (int i = 1; i <= rows; i++) {
for (int space = 1; space <= rows - i; space++) {
printf(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
printf("* ");
}
printf("\n");
}
}
void print_floyd_triangle(int rows) {
printf("\n3. Floyd's Number Triangle (Rows = %d):\n", rows);
int num = 1;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
printf("%-3d", num++);
}
printf("\n");
}
}
int main(void) {
int rows = 5;
print_right_pyramid(rows);
print_full_pyramid(rows);
print_floyd_triangle(rows);
return 0;
}Открыть в компилятореОжидаемый вывод
1. Right-Half Star Pyramid (Rows = 5):
*
* *
* * *
* * * *
* * * * *
2. Full Centered Star Pyramid (Rows = 5):
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
3. Floyd's Number Triangle (Rows = 5):
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15 Частые вопросы
Почему код и вывод остаются на английском?
Ключевые слова, идентификаторы и строки, проверяемые тестами, сохранены, чтобы не менять программу. Объяснения и элементы управления переведены.