Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 22.12.2014
Сообщений: 210

Нарисовать гистограмму по данным, введенным пользователем (нужны комментарии)

11.01.2015, 21:20. Показов 831. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: нарисовать гистограмму по данным введенным пользователем. Входные данные-3 целых числа.Часть комментариев понял, напишу их, а остальное разъясните пожалуйста
int d = 20;интервал между столбиками
C#
1
2
3
4
5
            int a = Convert.ToInt32(textBox1.Text);первое введенное число
            int b = Convert.ToInt32(textBox2.Text);второе
            int c = Convert.ToInt32(textBox3.Text);третье
            int w = (panel1.Width - 4 * d) / 3;ширина столбика
            int ed = panel1.Height / (a + b + c);высота единичного деления
Начиная с этого места пожалуйста разъясните
C#
1
2
3
4
5
6
7
8
9
10
11
12
 Graphics gPanel = panel1.CreateGraphics();
 
            Rectangle rect1 = new Rectangle(5, panel1.Height - a * ed, w, ed * a);
            Rectangle rect2 = new Rectangle(w + d, panel1.Height - b * ed, w, ed * b);
            Rectangle rect3 = new Rectangle(2 * (d + w), panel1.Height - c * ed, w, ed * c);
 
            SolidBrush redBrush = new SolidBrush(Color.Red);
            gPanel.FillRectangle(redBrush, rect1);
            SolidBrush redBrush2 = new SolidBrush(Color.Green);
            gPanel.FillRectangle(redBrush2, rect2);
            SolidBrush redBrush3 = new SolidBrush(Color.Blue);
            gPanel.FillRectangle(redBrush3, rect3);
Добавлено через 3 часа 30 минут
если код переправить так, будет правильно?
грамотно?

int d = 20;
int a = Convert.ToInt32(textBox1.Text);
int b = Convert.ToInt32(textBox2.Text);
int c = Convert.ToInt32(textBox3.Text);
int w = (panel1.Width - 4 * d) / 3;
int ed = panel1.Height / (a + b + c);
Graphics gPanel = panel1.CreateGraphics();

gPanel.FillRectangle(Brushes.Cyan, d, panel1.Height - a * ed, w, a * ed);
gPanel.FillRectangle(Brushes.Red, 2 * d + w, panel1.Height - b * ed, w, ed * b);
gPanel.FillRectangle(Brushes.Green, 3 * d + 2 * w, panel1.Height - c * ed, w, ed * c);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.01.2015, 21:20
Ответы с готовыми решениями:

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

Нарисовать прямоугольник по данным, введенным через JOptionPane
Здравствуйте! Помогите разобраться пожалуйста. 1) Создайте окно, в котором выведите прямоугольник с параметрами, полученными от...

Распознование образа цифры, нарисованного пользователем (нужны комментарии к программе)
Доброе утро господа, прошу у вас помощи. Скоро защита курсовика, программу я скачал , а алгоритм работы я не особо понимаю. Не могли бы вы...

2
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
11.01.2015, 21:21
kirill88, можно использовать готовый компонент Chart
0
0 / 0 / 1
Регистрация: 22.12.2014
Сообщений: 210
11.01.2015, 21:51  [ТС]
Я делал так как написано в рекомендациях к задаче, первый вариант нашел код а во втором варианте переправил согласно нашим рекомендациям, вроде работает всё, но не знаю грамотно ли написано??? просто меня немного ставит в тупик, что одной и той же переменной мы присваиваем разные цвета и координаты, а рисуются отдельные прямоугольники, это почему?

Graphics gPanel = panel1.CreateGraphics(); и что означает эта строчка? ввод переменной?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.01.2015, 21:51
Помогаю со студенческими работами здесь

Составить гистограмму по собранным данным
1. Собрать данные, выявить максимальное и минимальное значения и определить диапазон (размах) гистограммы. 2. Полученный...

Определить возраст по введенным данным
Везде искал, нигде не нашел. Итак, инициализируем три переменные int day, month, year ; и даем пользователю право их ввести ...

Выборка по данным, введенным в текстбокс
У меня создана база данных с использованием model-first. Есть три таблички: Books со свойствами BookID, Title. Authors со свойствами...

Определить возраст по введенным данным
Везде искал, нигде не нашел. Итак, инициализируем три переменные int day, month, year ; и даем пользователю право их ввести ...

Построение графика по введенным данным
Опыта работы с программой нет. Поэтому нужна помощь. Нужна простая программа, в которой вводишь х и у, а программа по этим данным строит...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru