1

(14 відповідей, залишених у Pascal/Delphi)

koala написав:

Дивіться. У вас є ваша чудова програма. Ви хочете її розвинути, я розумію. Але для того, щоб ми вам допомогли (ба навіть для того, щоб самостійно щось написати) вам треба абстрагуватися від вашої програми. Ви маєте написати функцію обчислення факторіала, яка працюватиме незалежно від того, в якій програмі її використовують. Більше того, я вам скажу - цими факторіалами інтернет просто забитий, і всім нам майже нічого не вартує написати таку функцію... але тоді ви нічого не вивчите, і знову прибіжите на цей форум, переконані, що всі вам щось повинні. А це не так, і це дуже нас дратує. Тому - або робіть самостійно, або викладайте, що ви зробили для того, щоб зробити самостійно - не прив'язку того, що ви не зробили, до вашого інтерфейсу, а саме з обчислення факторіалу. Хоча б результати гуглення з вашими коментарями - мовляв, "знайшла отаке-то, але там написане ось таке, що суперечить тому-то і тому-то, і тому я не можу з цим розібратися"...

Дуже дякую за ваші саркастичні поради, це по-перше. По-друге, я нівідкого нічого не вимагаю.  Якщо вам щось не подобається не відповідайте на мої "тупі" питання. Я розумію що Ви все знаєтє і Вас все датує,але не всі такі розумні як ВИ. Так інтернет "просто забитий факторіалами", але мені хотілося запитати професіоналів. Вибачте якщо чимось образила.

2

(14 відповідей, залишених у Pascal/Delphi)

Replace написав:

А у вас виникли проблеми з написанням процедури визначення факторіалу чи прикрутити це все до інтерфейсу?

З написанням процедури. В мене є така процедура, але я не дописала її

procedure TForm1.Button14Click(Sender: TObject);
begin
 try
      Edit1.SetFocus;
      x:=StrToFloat(Edit1.Text);
      except
        ShowMessage('Помилка введення числа!');
        Edit1.SelectAll;
        Exit;
        end ;
        c:=;
       Edit3.Text:=FloatToStr(c);
end;

де с -значення n!

3

(14 відповідей, залишених у Pascal/Delphi)

Torbins написав:

tania.ionashku
Особисто я нічого не зрозумів. Поясніть докладніше, що вам потрібно.

Я не знаю як створити у калькуляторі процедуру  для обчилення n!

4

(14 відповідей, залишених у Pascal/Delphi)

koala написав:

Факторіал для дійсних чисел не визначено, тільки для натуральних і 0.

А якщо n! і  n ціле число?

5

(14 відповідей, залишених у Pascal/Delphi)

Підкажіть будь ласка, як створюючи каркулятор у Delphi задати процедуру обчислення x! ,причому х дійсне число?

6

(5 відповідей, залишених у Pascal/Delphi)

Допоможіть будь ласка знайти помилки : якщо у матриці A(4*4) середнє арифметичне 4 стовпця більше за середнє арифметичне елементів 3 рядка,то знайти мінімум матриці, інакше максимум.

Частина програмного коду:
....

begin
sum1:=0; ser1:=0;
for i:=1 to n do
begin
 sum1:=sum1+a[i,4];
 ser1:=sum1/n;
 end;

 sum2:=0; ser2:=0;
 for j:=1 to n do
 begin
 sum2:=sum2+a[3,j];
 ser2:=sum2/n;
 end;
 if ser1>ser2 then
 begin

 min:=a[1,1];
  for i:=1 to n do
  for j:=1 to n do

  if a[i,j]<min then min:=a[i,j];

  y:=min;
  end;

   if ser1<ser2 then
   begin
   max:=a[1,1];
   for i:=1 to n do
   for j:=1 to n do
   if a[i,j]>max then max:=a[i,j];
   y:=max;
   end;

  end;

7

(4 відповідей, залишених у Pascal/Delphi)

вибачте будь ласка шановний  Chemist-i  ,я бачила що неправильно написала назву середовища, просто не знала як редагувати(лиш зареєструвалася).... :[

8

(4 відповідей, залишених у Pascal/Delphi)

Допоможіть з програмним кодом: Якщо у матриці А(3*3) cума елементів побічної діагоналі рівна сумі елементів 3 рядочка, то головну діагональ замінити 3 стовпцем.

частина коду:

For i:=n to 1 do

  begin
  s:=0;
  s:=s+a[i,n+1-i];
  end;


  For j:=1 to n do
  begin
  k:=0;
  k:=k+a[3,j];
  end;


  If s=k then
  begin
  for i:=1 to n do
   begin
   a[i,i]:=a[i,3];

   end;

Моя проблема в тому, що  коли я запускаю програму то у виводі я отримую транспоновану матрицю, а не ту яка в умові...(взагалі ця програма це робота із компонентою StringGrid.Може бути що проблема(помилка) у виводі  чи десь ще?

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    StringGrid1: TStringGrid;
    Button2: TButton;
    Label2: TLabel;
    StringGrid2: TStringGrid;
    procedure Edit1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  matr=array[1..3,1..3] of real;

var
  Form1: TForm1;
  n: integer;
  a:matr;

implementation

{$R *.dfm}
procedure matrix(n:integer;var a:matr);
Var
i,j:integer;
s,k:real;
Begin

 For i:=n to 1 do

  begin
  s:=0;
  s:=s+a[i,n+1-i];
  end;


  For j:=1 to n do
  begin
  k:=0;
  k:=k+a[3,j];
  end;


  If s=k then
  begin
  for i:=1 to n do
   begin
   a[i,i]:=a[i,3];

   end;

   end;
   end;




procedure TForm1.Edit1Change(Sender: TObject);
begin
   n:=StrToInt(Edit1.Text);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
       n:=2;
     StringGrid1.Visible:=False;
     StringGrid2.Visible:=False;

end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
   StringGrid1.ColCount:=n+1;
   StringGrid1.RowCount:=n+1;
   StringGrid1.Cells[0,0]:='A';
   for i:=1 to n do
   for j:=1 to n do
   begin
     StringGrid1.Cells[j,i]:='0';
     a[i,j]:=StrToFloat(StringGrid1.Cells[j,i]);
   end;
   for i:=1 to n do
   StringGrid1.Cells[0,i]:=FloatToStr(i);
   StringGrid1.Cells[i,0]:=FloatToStr(i);
   StringGrid1.Cells[i,i]:= '1';
   StringGrid1.Visible:=True ;
end;





procedure TForm1.Button2Click(Sender: TObject);
var i,j:Integer;st:string;
begin
  for i:=1 to n do
  for j:=1 to n do
  a[i,j]:=StrToFloat(StringGrid1.Cells[j,i]);
  matrix(n,a);
  StringGrid2.RowCount:=n+1;
  StringGrid2.ColCount:=n+1;
  StringGrid2.Cells[0,0]:='A';

  for i:=1 to n do
  for j:=1 to n do
  begin
    StringGrid2.Cells[i,j] :=FloatToStr(a[i,j]);
  end;

  for i:=1 to n do
  for j:=1 to n do
  StringGrid2.Cells[i,j]:=FloatToStr(a[i,j]);
  StringGrid2.Visible:=True;


end;

end.