Рисование геометрической фигуры С(Си) - C (СИ)
Формулировка задачи:
# include<stdio.h> int main() { int n=10, i,j; //C for (i=0; i<n; i++) { for(j=0; j<i; j++) printf(" "); for(j=n-i; j>0;j--) printf("*"); printf("\n"); } return 0; }
Помогите нарисовать это, я уже много чего перепробовала но не могу составить правильный код, пока что у меня получилось только нарисовать треугольник, но это не то что мне нужно... Мне говорили, что по аналогии пишеться и мой код, но я немогу поняь как мне получить это... Если можете напишите мне пожалуйста код! Заранее спасибо!!!
Решение задачи: «Рисование геометрической фигуры С(Си)»
textual
Листинг программы
#include <stdio.h> void func(int width, int count) { int i, j; if (width % 2 == 0) { width++; } while (count-- > 0) { for (i = 0; i < width; ++i) { for (j = 0; j < width; ++j) { if ((i == j) || (width - i - 1 == j) || (width / 2 == i) || (width / 2 == j)) { putchar('*'); } else { putchar('-'); } } putchar('\n'); } } } int main() { int w, c; if (scanf("%d %d", &w, &c) == 2) { func(w, c); } return 0; }
Объяснение кода листинга программы
- В функции
func
определены две переменныеi
иj
типаint
. - Проверяется условие
width % 2 == 0
, если оно истинно, то кwidth
прибавляется единица. - Задаётся два вложенных цикла
for
, первый из которых выполняетсяwidth
раз, а второй -width
раз. - В блоке вложенных циклов проверяется условие, при котором на текущую позицию в массиве выводится символ '*'.
- Если условие не выполняется, то на текущую позицию в массиве выводится символ '-'.
- После окончания вложенных циклов выводится символ новой строки '\n'.
- В функции
main
определены две переменныеw
иc
типаint
. - С помощью функции
scanf
в переменныеw
иc
считываются значения, введенные пользователем. - Если
scanf
вернул значение 2, то вызывается функцияfunc
с аргументамиw
иc
. - Значения
w
иc
выводятся на экран. - Функция
main
возвращает 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д