Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
2 / 2 / 3
Регистрация: 22.11.2013
Сообщений: 114

Элементы равностороннего треугольника

23.03.2016, 10:28. Показов 6027. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать приложение, которое по заданному значению одной величины,
вычисляет другие элементы равностороннего треугольника. В качестве элементов рассмотреть сторону, высоту,
площадь, радиусы вписанной и описанной окружности.
Помогите пожалуйста. С чего начать даже не понимаю как это организовать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.03.2016, 10:28
Ответы с готовыми решениями:

Площадь равностороннего треугольника со стороной а
Задача Введите положительное число а.Вычислите: а)площадь равностороннего треугольника со стороной а; б)площадь квадрата со стороной...

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

Напишите алгоритм и программу вычисления площади равностороннего треугольника
Помогите пожалуйста) Напишите алгоритм и программу вычисления площади равностороннего треугольника.

10
 Аватар для ITALIANEZ
57 / 56 / 17
Регистрация: 28.07.2009
Сообщений: 201
23.03.2016, 10:39
Лучший ответ Сообщение было отмечено князь99 как решение

Решение

У равностороннего треугольника все эти элементы по формулам выражаются, через значение стороны. Вам просто надо в зависимости от того что введено - находить сторону и по ней рассчитывать остальные значение. Т.е. Вам нужно иметь по 2 формулы на каждый элемент - непосредственно формулу расчета, и обратную формулу по расчету стороны.
пример.
Вам дана площадь S. S имеет формулу S=https://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{3}/4 * {a}^{2} . из этого находим a = https://www.cyberforum.ru/cgi-bin/latex.cgi?2 * \sqrt{S/\sqrt{3}}. и по этому значению расчитываем радиусы вписанной и описанной окружности, и высоту. И так для каждого из элементов.
1
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
23.03.2016, 10:56
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        static void Main(string[] args)
        {
            //задаем сторону
            double a = 5;
            Console.WriteLine("Cторона правильного треугольника = {0}", a);
            // вычисляем  радиус вписанной окружности 
            double r = Math.Sqrt(3.0) / 6.0* a;
            Console.WriteLine("Радиус вписанной окружности = {0}", r);
            // вычисляем  радиус описанной окружности 
            double R = Math.Sqrt(3.0) / 3.0 * a;
            Console.WriteLine("Радиус описанной  окружности = {0}", R);
            // Периметр правильного треугольника 
            double P = 3.0 * a;
            Console.WriteLine("Периметр правильного треугольника = {0}", P);
            // Высота правильного треугольника
            double h = Math.Sqrt(3.0) / 2.0 * a;
            Console.WriteLine("Высота правильного треугольника = {0}", h);
            // Площадь правильного треугольника 
            double S = Math.Sqrt(3.0) / 4.0 * a * a;
            Console.WriteLine("Площадь правильного треугольника = {0}", S);
        }
0
2 / 2 / 3
Регистрация: 22.11.2013
Сообщений: 114
23.03.2016, 11:40  [ТС]
Что то не получается не фига((
Нашел вот на делфи, помогите сделать так же на c#.
Визуал.rar
0
115 / 92 / 66
Регистрация: 27.04.2014
Сообщений: 307
23.03.2016, 11:40
Цитата Сообщение от князь99 Посмотреть сообщение
Что то не получается не фига((
А что ты сделал, что у тебя не получается?
0
2 / 2 / 3
Регистрация: 22.11.2013
Сообщений: 114
23.03.2016, 11:48  [ТС]
Не получается прописать формулы на каждый элемент, как посоветовал ITALIANEZ, я не втупляю что куда, и как это шняга должна вообще работать. Нашел программку аналоговую, на делфи, посмотрел код, и всё ровно не пойму.
Я понимаю. что к полям нужно присвоить переменные, и их использовать в формулах. Но как это слепить. Ну не как не доходит.
0
 Аватар для ITALIANEZ
57 / 56 / 17
Регистрация: 28.07.2009
Сообщений: 201
23.03.2016, 11:59
Лучший ответ Сообщение было отмечено князь99 как решение

Решение

тебе нужно на каждый параметр иметь 2 формулы - расчет значения по стороне и расчет стороны по значению. то что у тебя будет входящим значением (высота, площадь, радиус и тд) ты определяешь, там используешь формулу расчета стороны и по полученному значению рассчитываешь все остальное.
1
2 / 2 / 3
Регистрация: 22.11.2013
Сообщений: 114
23.03.2016, 12:42  [ТС]
Вот как этот код с делфи, записать на c#
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Enabled:=True;
Edit2.Enabled:=True;
Edit3.Enabled:=True;
Edit4.Enabled:=True;
Edit5.Enabled:=True;
 
if  RadioButton1.Checked=true then
begin
a:=StrToFloat(Edit1.Text);
S:=(a*a)*(sqrt(3)/4);
h:=a*(sqrt(3)/2);
v:=a*(sqrt(3)/6);
R:=a*(sqrt(3)/3);
Edit2.Text:=FloatToStr(S);
Edit3.Text:=FloatToStr(h);
Edit4.Text:=FloatToStr(v);
Edit5.Text:=FloatToStr(R);
   end;
 
if  RadioButton2.Checked=true then
   begin
S:=StrToFloat(Edit2.Text);
a:=sqrt((4*S)/sqrt(3));
h:=a*(sqrt(3)/2);
v:=a*(sqrt(3)/6);
R:=a*(sqrt(3)/3);
Edit1.Text:=FloatToStr(a);
Edit3.Text:=FloatToStr(h);
Edit4.Text:=FloatToStr(v);
Edit5.Text:=FloatToStr(R);
   end;
 
if  RadioButton3.Checked=true then
   begin
h:=StrToFloat(Edit3.Text);
a:=(2*h)/sqrt(3);
S:=(a*a)*(sqrt(3)/4);
v:=a*(sqrt(3)/6);
R:=a*(sqrt(3)/3);
Edit1.Text:=FloatToStr(a);
Edit2.Text:=FloatToStr(s);
Edit4.Text:=FloatToStr(v);
Edit5.Text:=FloatToStr(R);
   end;
 
if  RadioButton4.Checked=true then
   begin
v:=StrToFloat(Edit4.Text);
a:=(6*v)/sqrt(3);
S:=(a*a)*(sqrt(3)/4);
R:=a*(sqrt(3)/3);
h:=a*(sqrt(3)/2);
Edit1.Text:=FloatToStr(a);
Edit2.Text:=FloatToStr(s);
Edit5.Text:=FloatToStr(r);
Edit3.Text:=FloatToStr(h);
   end;
 
if  RadioButton5.Checked=true then
   begin
R:=StrToFloat(Edit5.Text);
a:=(3*R)/sqrt(3);
S:=(a*a)*(sqrt(3)/4);
h:=a*(sqrt(3)/2);
v:=a*(sqrt(3)/6);
Edit1.Text:=FloatToStr(a);
Edit2.Text:=FloatToStr(s);
Edit3.Text:=FloatToStr(h);
Edit4.Text:=FloatToStr(v);
   end;
Я застопорился вот на этом месте:
C#
1
2
3
4
5
6
7
8
private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Enabled = true;
            textBox2.Enabled = true;
            textBox3.Enabled = true;
            textBox4.Enabled = true;
            textBox5.Enabled = true;
           radioButton1.Checked = true;
0
 Аватар для ITALIANEZ
57 / 56 / 17
Регистрация: 28.07.2009
Сообщений: 201
23.03.2016, 12:51
для начала собери такую же форму как там. Т.е. текстовые поля и у каждого radiobutton. по выбранному radiobutton-у будет проводиться расчет. в Клике кнопки проверяешь выбранный radiobutton (так же как в твоем примере)
C#
1
2
3
4
if(radioButton.Checked == true)
{
// тут расчет и вывод остальных данных в зависимости от текущего параметра.
}
и тд
1
2 / 2 / 3
Регистрация: 22.11.2013
Сообщений: 114
23.03.2016, 23:18  [ТС]
Я сделал, но проблема. Когда один раз нажал на radioButton, второй раз уже поле вычисления она не срабатывает. И не одно окно не становится активным, как исправить?
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
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Enabled = true;
            textBox2.Enabled = true;
            textBox3.Enabled = true;
            textBox4.Enabled = true;
            textBox5.Enabled = true;
            if (radioButton1.Checked == true)
            {
                double a, s, h, v, r;
                a =  Convert.ToInt32(textBox1.Text);
                s = (a * a) * Math.Sqrt(3) / 4;
                h = a * Math.Sqrt(3) / 2;
                v = a * Math.Sqrt(3) / 6;
                r = a * Math.Sqrt(3) / 3;
                textBox2.Text = s.ToString();
                textBox3.Text = h.ToString();
                textBox4.Text = v.ToString();
                textBox5.Text = r.ToString();
            }
 
            if (radioButton2.Checked == true)
            {
                double a, s, h, v, r;
                s = Convert.ToInt32(textBox2.Text);
                a = Math.Sqrt((4 * s) / Math.Sqrt(3));
                h = a * (Math.Sqrt(3) / 2);
                v = a * (Math.Sqrt(3) / 6);
                r = a * (Math.Sqrt(3) / 3);
                textBox1.Text = a.ToString();
                textBox3.Text = h.ToString();
                textBox4.Text = v.ToString();
                textBox5.Text = r.ToString();
            }
            if (radioButton3.Checked == true)
            {
                double a, s, h, v, r;
h = Convert.ToInt32(textBox3.Text);
a = (2*h)/Math.Sqrt(3);
s = (a*a)*(Math.Sqrt(3)/4);
v = a*(Math.Sqrt(3)/6);
r = a *(Math.Sqrt(3)/3);
textBox1.Text = a.ToString();
textBox2.Text = s.ToString();
textBox4.Text = v.ToString();
textBox5.Text = r.ToString();
            }
     if (radioButton4.Checked == true)
            {
                double a, s, h, v, r;
v = Convert.ToInt32(textBox4.Text);
a = (6*v)/(Math.Sqrt(3));
s = (a*a)*((Math.Sqrt(3)/4));
r = a*((Math.Sqrt(3)/3));
h = a*((Math.Sqrt(3)/2));
textBox1.Text = a.ToString();
textBox2.Text = s.ToString();
textBox3.Text = h.ToString();
textBox5.Text = r.ToString();
        }
           if (radioButton5.Checked == true)
            {
                double a, s, h, v, r;
r = Convert.ToInt32(textBox5.Text);
a = (3*r)/Math.Sqrt(3);
s = (a*a)*(Math.Sqrt(3)/4);
h = a*(Math.Sqrt(3)/2);
v = a*(Math.Sqrt(3)/6);
textBox1.Text = a.ToString();
textBox2.Text = s.ToString();
textBox3.Text = h.ToString();
textBox4.Text = v.ToString();
        }
        }
 
        private void label1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void label5_Click(object sender, EventArgs e)
        {
 
        }
 
        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
 
            textBox2.Enabled = false;
            textBox3.Enabled = false;
            textBox4.Enabled = false;
            textBox5.Enabled = false;
        }
 
        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            textBox1.Enabled = false;
            textBox3.Enabled = false;
            textBox4.Enabled = false;
            textBox5.Enabled = false;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
            textBox4.Clear();
            textBox5.Clear();
        }
 
        private void radioButton3_CheckedChanged(object sender, EventArgs e)
        {
            textBox1.Enabled = false;
            textBox2.Enabled = false;
            textBox4.Enabled = false;
            textBox5.Enabled = false;
        }
 
        private void radioButton4_CheckedChanged(object sender, EventArgs e)
        {
            textBox1.Enabled = false;
            textBox2.Enabled = false;
            textBox3.Enabled = false;
            textBox5.Enabled = false;
        }
 
        private void radioButton5_CheckedChanged(object sender, EventArgs e)
        {
            textBox1.Enabled = false;
            textBox2.Enabled = false;
            textBox3.Enabled = false;
            textBox4.Enabled = false;
        }
    }
}
0
 Аватар для ITALIANEZ
57 / 56 / 17
Регистрация: 28.07.2009
Сообщений: 201
24.03.2016, 09:51
Лучший ответ Сообщение было отмечено князь99 как решение

Решение

Разберитесь со своими CheckedChanged. Там нужно по значению делать поля закрытыми или открытыми(!). У вас же после 2го переключения все становятся неактивными.
т.е.
C#
1
2
3
4
5
6
7
8
        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            textBox1.Enabled = true; // поле под радиобаттоном должно стать активным!
            textBox2.Enabled = false;
            textBox3.Enabled = false;
            textBox4.Enabled = false;
            textBox5.Enabled = false;
        }
у вас сейчас поля делаются только неактивными и не возвращаются в активное состояние.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2016, 09:51
Помогаю со студенческими работами здесь

Найти площадь равностороннего треугольника, зная его периметр
Найти площадь равностороннего треугольника, зная его периметр

Вычислить по стороне a равностороннего треугольника его периметр P и площадь S
Описать процедуру TrianglePS(a, P, S), вычисляющую по стороне a равностороннего треугольника его периметр P и площадь S (a – входной, P и S...

Описать процедуру TrianglePS(a, P, S), вычисляющую по стороне a равностороннего треугольника его периметр и площадь
Описать процедуру TrianglePS(a, P, S), вычисляющую по стороне a равностороннего треугольника его периметр P = 3·a и площадь S = a2 ...

Разработать метод TrianglePS(a, P, S), вычисляющий по стороне a равностороннего треугольника его периметр P и площадь S
ПОМОГИТЕ ПОЖАЛУЙСТА ОЧЕНЬ СРОЧНО!!!!!!!!!!!!! Разработать метод TrianglePS(a, P, S), вычисляющий по стороне a равностороннего...

элементы равностороннего треугольника...
Элементы равностороннего треугольника пронумерованы следующим образом: 1 — сторона (a), 2 — радиус вписанной окружности (R1), 3 — радиус...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru