0 / 0 / 0
Регистрация: 28.10.2018
Сообщений: 4
1

Напечатать треугольник

30.10.2018, 21:54. Показов 1882. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Название: Снимок.PNG
Просмотров: 41

Размер: 1,015 байт
Как напечатать треугольник?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2018, 21:54
Ответы с готовыми решениями:

Напечатать треугольник цифр
Напечатать числа в виде следующей таблицы, в качестве символа перевода курсора на новую строчку...

Напечатать верхний треугольник квадратной матрицы
Квадратная матрица задана в виде одномерного массива по строкам. Напечатать верхний треугольник...

Напечатать треугольник Паскаля — таблицу биномиальных коэффициентов
дано целое неотрицательное число K. Напечатать треугольник Паскаля - таблицу биномиальных...

Напечатать треугольник Паскаля — таблицу биномиальных коэффициентов по формуле
Дано целое неотрицательное число K. Напечатать треугольник Паскаля - таблицу биномиальных...

11
249 / 162 / 68
Регистрация: 10.12.2017
Сообщений: 558
30.10.2018, 22:21 2
PHP/HTML
1
2
3
4
5
6
7
8
<pre>
******
 *$$$*
  *$$*
   *$*
    **
     *
</pre>
или monospace шрифты
0
Эксперт JS
6483 / 3894 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
30.10.2018, 22:23 3
PHP/HTML
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
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body style="font-family: monospace">
    <script>
        for (let i = 0; i < 6; i++) {
            for (let j = 1; j <= i; ++j) {
                document.write("&nbsp;");
            }
 
            let len = 6 - i;
            if (len === 6 || len === 1)
                for (let j = 0; j < len; ++j) {
                    document.write("*");
                }
            else {
                document.write("*");
                for (let j = 0; j < len - 2; ++j) {
                    document.write("$");
                }
                document.write("*");
            }
            document.write("<br />");
        }
    </script>
</body>
</html>
0
0 / 0 / 0
Регистрация: 28.10.2018
Сообщений: 4
30.10.2018, 22:25  [ТС] 4
Шрифт не важен. Нужен вывод этой фигуры в JS
0
249 / 162 / 68
Регистрация: 10.12.2017
Сообщений: 558
30.10.2018, 22:29 5
тогда условия не соблюдены, где он должен быть, какого цвета... и т.д.
0
0 / 0 / 0
Регистрация: 28.10.2018
Сообщений: 4
30.10.2018, 22:31  [ТС] 6
Нужно скомпилировать код, чтобы из символов выводился этот треугольник.
0
249 / 162 / 68
Регистрация: 10.12.2017
Сообщений: 558
30.10.2018, 22:38 7
как видим, без monospace не получилось сделать, копируем вариант от amr-now
0
Эксперт JS
6483 / 3894 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
30.10.2018, 22:50 8
Evgen1337, у меня кстати примитивный вариант. Извращенцы используют функциональное программирование.
Нечем больше заняться. Кубик Рубика, понимаешь, нашли...
0
249 / 162 / 68
Регистрация: 10.12.2017
Сообщений: 558
30.10.2018, 22:58 9
Каждый как хочет...
FP, RFP - нормальная штука - мозг набекрень... ) ну раз массивы и примитивы победил, надо куда-то развиваться...
0
5140 / 2753 / 464
Регистрация: 05.10.2013
Сообщений: 7,269
Записей в блоге: 143
05.11.2018, 00:18 10
zubochistka1320, в рисовании больше возможностей для будущего. Я сделал пример, почитав немного начало этой книги: WebGL. Программирование трехмерной графики. Есть, конечно, множество других способов, но в этом есть свои плюсы и возможности.

https://jsfiddle.net/8Observer8/knv9p87s/



PHP/HTML
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
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <title>WebGL 1.0. Drawing a triangle using gl.TRIANGLES</title>
    <style>
        #renderCanvas {
            border: 1px solid #aaaafa
        }
    </style>
</head>
 
<body>
    <canvas id="renderCanvas" width="250" height="250"></canvas>
 
    <script>
        var vertexShaderSource =
            `attribute vec2 a_Position;
            
            void main()
            {
                gl_Position = vec4(a_Position, 0.0, 1.0);
            }`;
 
        var fragmentShaderSource =
            `void main()
            {
                gl_FragColor = vec4(0.4, 0.7, 0.4, 1.0);
            }`;
 
        var gl = document.getElementById("renderCanvas").getContext("webgl");
 
        var vShader = gl.createShader(gl.VERTEX_SHADER);
        gl.shaderSource(vShader, vertexShaderSource);
        gl.compileShader(vShader);
 
        var fShader = gl.createShader(gl.FRAGMENT_SHADER);
        gl.shaderSource(fShader, fragmentShaderSource);
        gl.compileShader(fShader);
 
        var program = gl.createProgram();
        gl.attachShader(program, vShader);
        gl.attachShader(program, fShader);
        gl.linkProgram(program);
        gl.useProgram(program);
 
        var points = [
            0.0, 0.7,   // First point
            -0.7, -0.7, // Second point
            0.7, -0.7   // Third point
        ];
 
        var vbo = gl.createBuffer();
        gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
        gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(points), gl.STATIC_DRAW);
 
        var a_Position = gl.getAttribLocation(program, "a_Position");
        gl.vertexAttribPointer(a_Position, 2, gl.FLOAT, false, 0, 0);
        gl.enableVertexAttribArray(a_Position);
 
        gl.drawArrays(gl.TRIANGLES, 0, points.length / 2);
    </script>
</body>
 
</html>
1
the hardway first
Эксперт JS
2434 / 1815 / 898
Регистрация: 05.06.2015
Сообщений: 3,584
07.11.2018, 23:35 11
8Observer8, к.м.к. вопрос всё-таки не к графике, а какой алгоритм для вывода такого текстового "треугольника" заданной длины.
1
5140 / 2753 / 464
Регистрация: 05.10.2013
Сообщений: 7,269
Записей в блоге: 143
08.11.2018, 03:18 12
j2FunOnly, да, скорее всего.

Я решил поупражняться, вместо символов сделал вывод треугольника с помощью квадратиков:

Название: Triangle-Of-Many-Squares.png
Просмотров: 19

Размер: 3.0 Кб

PHP/HTML
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <title>Triangle of Many Squares</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/gl-matrix/2.4.0/gl-matrix-min.js"></script>
    <style>
        #renderCanvas {
            border: 5px solid #aaaaaa;
        }
    </style>
</head>
 
<body>
    <canvas id="renderCanvas" width="250" height="250"></canvas>
 
    <script>
        var vertexShaderSource =
            `attribute vec2 a_Position;
            uniform mat4 u_ModelMatrix;
 
            void main()
            {
                gl_Position = u_ModelMatrix * vec4(a_Position, 0.0, 1.0);
            }`;
 
        var fragmentShaderSource =
            `precision mediump float;
            uniform vec3 u_Color;
 
            void main()
            {
                gl_FragColor = vec4(u_Color, 1.0);
            }`;
 
        var gl = document.getElementById("renderCanvas").getContext("webgl");
 
        var vShader = gl.createShader(gl.VERTEX_SHADER);
        gl.shaderSource(vShader, vertexShaderSource);
        gl.compileShader(vShader);
 
        var fShader = gl.createShader(gl.FRAGMENT_SHADER);
        gl.shaderSource(fShader, fragmentShaderSource);
        gl.compileShader(fShader);
 
        var program = gl.createProgram();
        gl.attachShader(program, vShader);
        gl.attachShader(program, fShader);
        gl.linkProgram(program);
        gl.useProgram(program);
 
        var vertices = new Float32Array([
            -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5
        ]);
 
        var vbo = gl.createBuffer();
        gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
        gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);
 
        var a_Position = gl.getAttribLocation(program, "a_Position");
        gl.vertexAttribPointer(a_Position, 2, gl.FLOAT, false, 0, 0);
        gl.enableVertexAttribArray(a_Position);
 
        var u_Color = gl.getUniformLocation(program, "u_Color");
        //gl.uniform3f(u_Color, 0.635, 0.450, 0.125);
 
        // Set background color
        gl.clearColor(0.898, 0.984, 0.905, 1.0);
 
        var color1 = new Float32Array([0.831, 0.431, 0.658]); // pink
        var color2 = new Float32Array([0.431, 0.474, 0.831]); // blue
 
        var modelMatrix = mat4.create();
        var x0 = -0.5, y0 = 0.5;
        var pos = { x: x0, y: y0 };
 
        drawAll();
 
        function drawAll()
        {
            // Clear the canvas
            gl.clear(gl.COLOR_BUFFER_BIT);
 
            var j0 = 0;
            var start = 0;
 
            for (var i = 0; i < 6; i++)
            {
                for (var j = j0; j < 6; j++)
                {
                    pos.x += 0.2;
 
                    if (j % 2 == 0)
                    {
                        if (i % 2 == 0)
                        {
                            gl.uniform3fv(u_Color, color1);
                        }
                        else
                        {
                            gl.uniform3fv(u_Color, color2);
                        }
                    }
                    else
                    {
                        if (i % 2 != 0)
                        {
                            gl.uniform3fv(u_Color, color1);
                        }
                        else
                        {
                            gl.uniform3fv(u_Color, color2);
                        }
                    }
                    drawSquare(pos);
                }
 
                start += 0.2;
                pos.x = x0 + start;
                pos.y -= 0.2;
                j0 += 1;
            }
        }
 
        function drawSquare(pos)
        {
            mat4.identity(modelMatrix);
            mat4.translate(modelMatrix, modelMatrix, vec3.fromValues(pos.x, pos.y, 0.0));
            mat4.scale(modelMatrix, modelMatrix, vec3.fromValues(0.2, 0.2, 0.2));
 
            var u_ModelMatrix = gl.getUniformLocation(program, "u_ModelMatrix");
            gl.uniformMatrix4fv(u_ModelMatrix, false, modelMatrix);
 
            gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
        }
    </script>
</body>
 
</html>
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2018, 03:18
Помогаю со студенческими работами здесь

Для каждой тройки отрезков построить треугольник и напечатать его площадь
даны отрезки a,b,c,d. Для каждой тройки этих отрезков можно построить треугольник , напечатать...

Напечатать верхний треугольник матрицы, включая элементы главной диагонали, по строкам
Квадратная матрица размером NxN задана в виде одномерного массива по строкам. Напечатать верхний...

Создать базовый класс Треугольник с 2 наследниками: Равносторонний треугольник, Прямоугольный треугольник
Задание звучит так: Нужно создать базовый класс Треугольник с двумя наследующими его классами - ...

Для каждой тройки отрезков, из которых можно построить треугольник, напечатать площадь треугольника
4. Даны отрезки a,b,c и d. Для каждой тройки этих отрезков, из которых можно построить треугольник,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru