Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2016, 19:24   #1
karisha98
Пользователь
 
Регистрация: 18.10.2015
Сообщений: 10
По умолчанию Нарисовать параболу

Код рабочий, но рисует прямую. Уравнения вида axx+bx+c(квадратичная функция) Помогите
Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Grids, TeeFunci,
Series;

type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Label6: TLabel;
Edit2: TEdit;
Button2: TButton;
StringGrid1: TStringGrid;
Button3: TButton;
Chart2: TChart;
Series1: TLineSeries;
TeeFunction1: TAddTeeFunction;
Label7: TLabel;
Label8: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Button4: TButton;
Label9: TLabel;
Edit5: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Visible:=True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
label1.Visible:=false;
end;


procedure TForm1.Button3Click(Sender: TObject);
var i,j: Integer;
begin
StringGRid1.Cells[0,0]:='№';
StringGRid1.Cells[1,0]:='X';
StringGRid1.Cells[2,0]:='Y';
for i:=1 to StringGrid1.RowCount-1 do
StringGrid1.Cells[0, i]:=IntToStr(i);
with StringGRid1 do
begin
for i:=1 to RowCount-1 do
for j:=1 to ColCount-1 do
begin
cells[1,1]:=edit3.text;
cells[1,2]:=edit4.text;
cells[2,i]:=inttostr(StrToInt(cells[1,i])*StrToInt(cells[1,i])*StrToInt(edit1.text)+StrToInt(edi t2.text)*StrToInt(cells[1,i])+StrToInt(edit5.text));
end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
begin
with StringGRid1 do
for i:=1 to RowCount-1 do
for j:=1 to ColCount-1 do
begin
form1.Series1.AddXY(StrToInt(String Grid1.Cells[1,i]),StrToInt(StringGrid1.Cells[2,i]),'',clblack);

end;
end;


procedure TForm1.Button4Click(Sender: TObject);
var
a: array of integer;
i, j, dl: integer;
f: textfile;
s1: string;
begin
assignfile(f, 'laba3.txt');
rewrite(f);
setlength(a, stringgrid1.ColCount);
dl := 0;
for i := 0 to stringgrid1.ColCount - 1 do
begin
a[i] := 0;
for j := 0 to stringgrid1.rowcount - 1 do
if length(stringgrid1.Cells[i, j]) > a[i] then
a[i] := length(stringgrid1.Cells[i, j]);
dl := dl + a[i];
end;
s1 := '';
for i := 1 to dl + stringgrid1.ColCount + 1 do
s1 := s1 + '-';
write(f, s1);
for i := 0 to stringgrid1.rowcount - 1 do
begin
writeln(f);
write(f, '|');
for j := 0 to stringgrid1.colcount - 1 do
write(f, stringgrid1.Cells[j, i]: a[j], '|');
writeln(f);
write(f, s1);
end;
closefile(f);
setlength(a, 0);
end;
end.
karisha98 вне форума Ответить с цитированием
Старый 01.03.2016, 20:19   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

А зачем вы вывалили эти 100500 строк кода?
Сами-то можете показать те пару строк, которые что-то рисуют ?
type_Oleg вне форума Ответить с цитированием
Старый 01.03.2016, 22:18   #3
karisha98
Пользователь
 
Регистрация: 18.10.2015
Сообщений: 10
По умолчанию

procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
begin
with StringGRid1 do
for i:=1 to RowCount-1 do
for j:=1 to ColCount-1 do
begin
form1.Series1.AddXY(StrToInt(String Grid1.Cells[1,i]),StrToInt(StringGrid1.Cells[2,i]),'',clblack);

end;
end;
karisha98 вне форума Ответить с цитированием
Старый 01.03.2016, 23:24   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Очень трудно что-то понять в такой каше.
Ведь можно ввести переменные a,b, c - коэффициенты, они вроде вводятся с Edit' ов. Понятнее будет, почему там в ячейках таблицы String Grid1 вместо квадратичной - линейная зависимость.
Кстати, какая линия получается - горизонтальная, вертикальная, наклонная ?

И зачем нужна переменная-счетчик j ? Она же нигде не используется.

Последний раз редактировалось type_Oleg; 01.03.2016 в 23:26.
type_Oleg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нарисовать stupid C# (си шарп) 6 02.06.2011 04:56
Построить параболу y=ax2+bx+c и расчитать площадь в Exel Саша777 Помощь студентам 0 03.12.2010 19:24
Нарисовать в с++ Telec Общие вопросы C/C++ 0 30.05.2010 22:14
нарисовать guverr Общие вопросы Delphi 1 29.04.2010 10:23