Как правильно отрисовать фигуру? - C (СИ)
Формулировка задачи:
подскажите как правильно от рисовать фигуру
#include <stdio.h> #include <stdlib.h> void createBlock ( double a, double b ) { int i, j; char ch = " "; int cnt = a; printf ( " " ); for ( i = 1; i <= a; i++ ) { printf ( "1" ); } printf ( "\n" ); for ( i = 1; i <= b; i++ ) { printf ( "2\n" ); } for ( i = 1; i <= b; i++ ) { printf ( "2\n" ); } printf ( " " ); for ( i = 1; i <= a; i++ ) { printf ( "1" ); } } int main() { double bigSide = 20; double smallSide = 5; createBlock ( bigSide, smallSide ); return 0; }
Решение задачи: «Как правильно отрисовать фигуру?»
textual
Листинг программы
#include <stdio.h> #include <stdbool.h> void draw_line(size_t w, int c, bool is_fill) { w--; putchar(c); for (size_t i = 1; i < w; i++) putchar(is_fill ? c : ' '); putchar(c); putchar('\n'); } void draw_box(size_t h, size_t w, int c, bool is_fill) { h--; draw_line(w, c, true); for (size_t i = 1; i < h; i++) draw_line(w, c, is_fill); draw_line(w, c, true); } int main(void) { draw_box(5,5, '@', true); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdio.h и stdbool.h.
- Объявление двух функций: draw_line и draw_box.
- Функция draw_line принимает 4 параметра: w (ширина фигуры), c (символ, который будет выводиться), is_fill (флаг, указывающий, нужно ли закрашивать фигуру) и выводит на экран символ c, а затем, если is_fill, то символ c, иначе пробел.
- Функция draw_box принимает 3 параметра: h (высота фигуры), w (ширина фигуры), c (символ, который будет выводиться) и выводит на экран символ c, затем, если is_fill, то символ c, иначе пробел.
- В функции main вызывается функция draw_box с аргументами: h=5, w=5 и символ '@'.
- Функция draw_box выводит на экран прямоугольник размером 5x5, заполненный символами '@'.
- Функция main возвращает 0, заканчивая работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д