Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45

Запрограмировать 3 графика y=x^2,y=x^3,y=1x

31.03.2011, 16:05. Показов 3603. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста как запрограмировать 3 кнопочки: y=x^2,y=x^3,y=1x, чтобы выводило на компонент TChart графики этих фнукций..Говорят что можно через канву, но не умеюЗарание спасибо за помощ.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2011, 16:05
Ответы с готовыми решениями:

Как запрограмировать кнопку чтобы цвет выбраный был отображон на кнопке, типа как у Word-е
У меня еще несколько проблем, я знаю как можно задать цвет текста, но мне нужно както запрограмировать кнопку чтобы цвет выбраный...

решисть и запрограмировать задачу в С++
1)++n*++m 2)m++<n 3)n++>m

Как запрограмировать форму Edit?
как запрограмировать форму Edit чтобы при вводе букв вибивал окошко прадуприждения, а при вводе чисел курсыв переходыл на следущую форму...

36
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45
03.04.2011, 01:11  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от AndyHell Посмотреть сообщение
Как вариант на форме за код не ругайте,это первое что в голову пришло


C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Canvas->Pen->Width=1;
for (int j = 0; j < 500; j++) {
Canvas->Pixels[j][300]=clBlack; //ось х
Canvas->Pixels[200][j]=clBlack; //ось у
}
Canvas->Pen->Color=clRed;
for (int i=-50; i < 50; i++)
{
Canvas->LineTo(i+200,300-i*i);   //y=x*x
}
Ну и оно же на TChart
C++
1
2
3
4
5
6
void __fastcall TForm2::Button1Click(TObject *Sender)
{
for (int i = -10; i <= 10; i++) {
Series1->AddXY(i,i*i,"",clRed);
}
}
Упс, не увидел что уже ответили =) ну думаю лишним не будет =)
Спасибо огромное, код прекрасно работаетСейчас пытаюсь понять как по аналогии сделать x^3 и x^2..Канва действительно полутче будет чем ТChartЕсли можете чем помочь - буду очень рад и благодарен.x^3 уже готов, подскажите как увеличить шаг?)
З.Ы. Столкнулся с проблемой, запрограмировал 3 кнопочки на функции указаные выше..Так вот при нажатии кнопок, графики рисуются друг на друге, не очищаются система координат

Добавлено через 14 минут
Прощу прощение за дабл пост..
Столкнулся с проблемой, запрограммировал 3 кнопочки на функции указаные выше..Так вот при нажатии кнопок, графики рисуются друг на друге, не очищаются система координат, как это исправить?
Вот код для y=x^2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Canvas->Pen->Width=1;
for (int j = 0; j < 500; j++) {
Canvas->Pixels[j][300]=clBlack;
Canvas->Pixels[200][j]=clBlack;
}
Canvas->Pen->Color=clRed;
for (int i=-50; i < 50; i++)
{
Canvas->LineTo(i+200,300-i*i);
}
}
Зделал аналогично для x^3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Canvas->Pen->Width=1;
for (int j = 0; j < 500; j++) {
Canvas->Pixels[j][300]=clBlack;
Canvas->Pixels[200][j]=clBlack;
}
Canvas->Pen->Color=clRed;
for (int i=-50; i < 50; i++)
{
Canvas->LineTo(i+200,300-i*i*i);
}
}
А с y=1/x проблема, выдает ошибку деления на 0..Как ее устранить?Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Canvas->Pen->Width=1;
for (int j = 0; j < 500; j++) {
Canvas->Pixels[j][300]=clBlack;
Canvas->Pixels[200][j]=clBlack;
}
Canvas->Pen->Color=clRed;
for (int i=-50; i < 50; i++)
{
Canvas->LineTo(i+200,300-1/i);
}
}
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
03.04.2011, 01:30
C++
1
2
3
4
5
if (i ==0)
 {
   ShowMessage("На ноль делить нельзя");
   return;
 }
Добавлено через 1 минуту
Кстати, а чё делить, если множить надо y=1x?

Добавлено через 9 минут
Кстати возведение в степень есть функция pow()
0
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45
03.04.2011, 01:38  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
C++
1
2
3
4
5
if (i ==0)
 {
   ShowMessage("На ноль делить нельзя");
   return;
 }
Добавлено через 1 минуту
Кстати, а чё делить, если множить надо y=1x?

Добавлено через 9 минут
Кстати возведение в степень есть функция pow()
Возможно не так понял..Что именно множить?Ф-ция y=1/x.
За функцию спасибо
Для деления на ноль использовал
C++
1
if (i != 0) {
Ваша функция почему-то не приживается, ошибки начинают лететь о том что нераспознанный символ i.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.04.2011, 02:01
Цитата Сообщение от daves Посмотреть сообщение
ошибки начинают лететь о том что нераспознанный символ i.
может, его объявить надо до использования:
C++
1
int i;
?

Добавлено через 4 минуты
например
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  int i, j; // объявляем переменные типа int
  Canvas->Pen->Width=1;
  for (j = 0; j < 500; j++) { // тут уже int j = 0; не надо
    Canvas->Pixels[j][300]=clBlack;
    Canvas->Pixels[200][j]=clBlack;
  }
  Canvas->Pen->Color=clRed;
  if (i ==0) {
    ShowMessage("На ноль делить нельзя");
    return;
  }
  else {
    for (i=-50; i < 50; i++) { // тут уже int i = -50; не надо
      Canvas->LineTo(i+200,300-1/i);
    }
  }
}
1
 Аватар для AndyHell
5 / 5 / 3
Регистрация: 18.04.2010
Сообщений: 20
03.04.2011, 11:00
Я бы сделал вот так,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Canvas->Pen->Width=1;
for (int j = 0; j < 500; j++) {
Canvas->Pixels[j][300]=clBlack; //ось х
Canvas->Pixels[200][j]=clBlack; //ось у
}
Canvas->Pen->Color=clRed;
for (int i=-50; i < 0; i++)
{
Canvas->LineTo(i+200,300-1/i);
}
for (int i=1; i <= 50; i++)
{
Canvas->LineTo(i+200,300-1/i);
}
и по по поводу (200 и 300) в фунции LineTo это начало координат, если не ошибаюсь его можно выставить с помощью Canvas->MoveTo(200,300); и тогда убрать их из LineTo()
1
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45
03.04.2011, 12:22  [ТС]
Зделал вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  int i, j;
  Canvas->Pen->Width=1;
  for (j = 0; j < 500; j++) { //
    Canvas->Pixels[j][300]=clBlack;
    Canvas->Pixels[200][j]=clBlack;
  }
  Canvas->Pen->Color=clRed;
  if (i ==0) {
    ShowMessage("Íà íîëü äåëèòü íåëüçÿ");
    return;
  }
  else {
    for (i=1 ;i < 100; i++) {
      Canvas->LineTo(i+200,300-1/i);
    }
  }
}
Пробовал оба варианта..У меня пока 2 проблемы..Графики рисуются друг на друге, система координат не очищается после нажатия на очередную кнопочку с графиком.И график злополучной y=1/x..Ну не то он,что должно быть и близко...Да и x^2 узкий получился какой-то слишком пробовал задавать координаты, просто масштаб менялся..Всем спасибо за помощ.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.04.2011, 16:13
Цитата Сообщение от daves Посмотреть сообщение
система координат не очищается после нажатия на очередную кнопочку с графиком
Ты знаешь её очищать вообщето надо самому
0
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45
04.04.2011, 16:49  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Ты знаешь её очищать вообщето надо самому
А как зделать чтобы при нажатии кнопочки другого графика старый стирался и рисовался новый, а не друг на друге?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.04.2011, 16:56
https://www.cyberforum.ru/cpp-... 77632.html
1
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45
04.04.2011, 17:22  [ТС]
Спасибо, с очищением разобралсяА вот с y=1/x пока проблемка, не выводит нужный график
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.04.2011, 17:25
А какой тебе надо чтобы выводил
1
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45
04.04.2011, 17:35  [ТС]
Должно 2 гиперболы выводить одна в y+ and x+, вторая в y- and x-..А у меня прямой угол на осях y+ and x+ получается почему-то..
0
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45
06.04.2011, 15:43  [ТС]
Помогите пожалуйста, завтра здача..одна проблема только осталась..
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 16:11
Цитата Сообщение от daves Посмотреть сообщение
А вот с y=1/x пока проблемка
Так тебе множить или делить надо?
1
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45
06.04.2011, 16:19  [ТС]
делить

Добавлено через 2 минуты
+ новый трабл, сказали добавить инфу о проге в MainMenu..Завтра последний термин здачи, провал походу..
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 16:51
А ты не пробовал просто отзеркалить отрезок и всё...
А поповоду второго поищи на форуме как подключить окно О программе....
1
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 45
06.04.2011, 17:31  [ТС]
Такс, все зделал заново на компоненте ТСhart, информацию о проге добавил (Спасибо за помощ).Осталсь функция y=1/x.
Использую єтот код
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Form1->Chart1->Series[0]->Clear();
for (int i = 0; i <= 100; i++) {
i = random(100) -50;
if (i != 0) {
Series1->AddXY(i, 1 / i, RGB(100,100,100));
}
}
}
Чего то не получаеться.. Зависает после компиляции билдер..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2011, 17:31

Как запрограмировать на ассемблере факториал?
расскажите как запрограмировать на ассемблере факториал , например n! где n&lt;6 . На простом ассемблере для комп'ютеров.

Как запрограмировать дамку в шашках?
как запрограмировать дамку в шашках?

Запрограмировать на СИ в visual studio 2017
1).Выделите память для строки и заполните её любым способом. Создайте функцию, выполняющую задачу, указанную в варианте. Вызовите её из...

запрограмировать с использованием массивов...одномерноо
переделать код, в код с использованием массива.. Помогите пожайлуста переделать этот програмный код, в код с использованием массивов.. ...

Как запрограмировать кнопку (ВставитьОбъект - OLE)?
Здравствуйте Подскажите пожалуйста как запрограмировать кнопку на выполение команды КонтекстногоМеню ВставитьОбъекст -&gt; OLE...


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

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru