Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
136 / 2 / 6
Регистрация: 04.07.2015
Сообщений: 122
1

Вывод фигур, заполненных символами

24.10.2015, 23:27. Показов 1389. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать проект, в котором с помощью макроса на экран выводится фигура (треугольник, квадрат или круг), заполненная указанным символом. Выбор фигуры зависит от параметра, указанного разработчиком, который обозначает, какой файл будет компилироваться.

Помогите исправить ошибки. Ничего не выводит

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
void Pryamoygolnik();
void Krug();
void Treygolnik();
 
#define figure 1
#if figure==1 void Pryamoygolnik();
#elif figure==2 void Krug();
#else void Treygolnik();
#endif
 
 
void main()
{
    setlocale(LC_ALL, "rus");
 
    
}
 
void Pryamoygolnik()
{
    printf("Прямоугольник");
    for (int j = 1; j <= 5; j++)
    {
        for (int i = 1; i <= 5; i++)
        {
            if (i == 1 || i == 5 || j == 1 || j == 5)
 
                printf(" * ");
 
            else
 
                printf(" * ");
 
 
        }
        printf("\n\n");
    }
}
 
void Krug()
{
    int radius = 6;
    double i, j;
    for (i = -radius; i <= radius; i++)
    {
        for (j = -radius; j <= radius; j++)
        if (sqrt(i*i + j*j) <= (radius*1.05)) printf("*");
        else printf(" ");
        printf("\n");
    }
}
 
void Treygolnik()
{
    int i, j;
 
    for (i = 6; i > 0; --i) {
        for (j = 0; j < 2 * 6 + 1; ++j) {
            if ((j < i) || ((2 * 6 - j) < i)) {
                printf(" ");
            }
            else {
                printf("*");
            }
        }
        printf("\n");
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2015, 23:27
Ответы с готовыми решениями:

Рисование заполненных фигур с помощью псевдографики
Вывести на экран квадрат, внутри которого находится треугольник, перевернутый острием вниз, а...

Вывод рисунков символами
Здравствуйте. Возник вопрос: как расположить выведенные цифры в строку? #include &lt;iostream&gt;...

Вывод русскими символами в файл
В файл записывает краказябры. SetConsoleCP(1251); SetConsoleOutputCP(1251); Не помогает. ...

Вывод матрицы с цветными символами
Составить программу, чтобы выводилась на экран матрица из одинаковых символов. Размер матрицы: 8...

2
...
1906 / 1326 / 965
Регистрация: 12.02.2013
Сообщений: 2,172
25.10.2015, 09:32 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#define figure(a) \
        switch (a) { \
            case 0: \
                Pryamoygolnik(); \
                break; \
            case 1: \
                Krug(); \
                break; \
            case 2: \
                Treygolnik(); \
                break; \
        }
 
int main() {
    figure(0);
    figure(1);
    figure(2);
 
    return 0;
}
0
136 / 2 / 6
Регистрация: 04.07.2015
Сообщений: 122
26.10.2015, 13:20  [ТС] 3
Тут идея задачи немного не в этом. Чтобы разработчик сам, задавая константу, мог делать активным тот или иной участок кода.

Добавлено через 34 минуты
C
1
2
3
4
5
6
7
void main()
{
    setlocale(LC_ALL, "rus");
    Pryamoygolnik();
    Krug();
    Treygolnik();
}
Если так писать в main(), то все функции работают, а надо чтобы только 1 в зависимости от константы

Добавлено через 10 часов 23 минуты
Никто не знает ка сделать?

Добавлено через 16 часов 46 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define figure 1
#if figure==1  Pryamoygolnik(); printf("Прямоугольник");for (int j = 1; j <= 5; j++){  for (int i = 1; i <= 5; i++)    {       if (i == 1 || i == 5 || j == 1 || j == 5)   printf(" * ");  else printf(" * "); }   printf("\n\n");}
#elif figure==2 Krug(); int radius = 6;double i, j;for (i = -radius; i <= radius; i++){ for (j = -radius; j <= radius; j++) if (sqrt(i*i + j*j) <= (radius*1.05)) printf("*");  else printf(" ");   printf("\n");}
#else Treygolnik(); int i, j;for (i = 6; i > 0; --i) {  for (j = 0; j < 2 * 6 + 1; ++j) {if ((j < i) || ((2 * 6 - j) < i)) {printf(" ");}else { printf("*");}}  printf("\n");}
#endif
 
 
void main()
{
    
    void Pryamoygolnik();
    void Krug();
    void Treygolnik();
}
Истина где-то рядом. Код подсвечен серым, но не выполняется
0
26.10.2015, 13:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2015, 13:20
Помогаю со студенческими работами здесь

Вывод слов с повторяющимися символами
Вывести слова в которых буква &quot;а&quot; встречается дважды.Слова задаются как массив

Заполнение матрицы символами и её вывод
Программа должна вывести сконструированный прямоугольник, подогнанный под размер (длину) уравнения,...

Вывод фигур в picturebox c#
Здравствуйте, есть задача сделать paint у меня получилось рисовать фигуры и заносить их в список,...

Вывод 3D фигур OpenGL
Есть такой код для вывода тора в определенной точке: glPushMatrix(); glTranslated((2 * rw - row)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru