Глазкова633
?>

[delphi - form] дан динамический одномерный массив, после каждого собственного числа(число которое делится на себя и на 1) вставить "0".

Информатика

Ответы

mishanay301csfp
Unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  A:array of shortint;
implementation

{$R *.dfm}

Function P(A:integer):boolean;
Var
   d,K:integer;
Begin
P:=true;
if A < 2 then P:=false
else
   if A < 4 then P:=true
   else
      if A mod 2 = 0 then P:=false
      else
         Begin
         K:=Trunc(Sqrt(A));
         d:=3;
         While d <= K do
            Begin
            if A mod d = 0 then P:=false;
            d:=d+2
            End;
         End;
End;

procedure TForm1.Button1Click(Sender: TObject);
Var
   N:integer;
begin
Randomize;
Edit2.Text:='';
N:=StrToInt(Edit1.Text);
SetLength(A,N);
For N:= 0 to N-1 do
    Begin
    A[N]:=Trunc(Sin(random(20))*20);
    if P(A[N]) then Edit2.Text:=Edit2.Text+IntToStr(A[N])+'0 '
    else Edit2.Text:=Edit2.Text+IntToStr(A[N])+' '
    End;
end;

end.

[delphi - form] дан динамический одномерный массив, после каждого собственного числа(число которое д
Алёна Геннадьевна98
Function sq(var x1,y1,x2,y2,x3,y3: real):real;
begin
// вычисляем площадь треугольника с
// векторного произведения 
  sq:=abs((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))/2;
end;
// основная программа
var x,y,x1,y1,x2,y2,x3,y3,x4,y4,st,sp:real;
begin
  write('координаты 4 вершин x1 y1 x2 y2 x3 y3 x4 y4 через пробел:  ');
  readln(x1,y1,x2,y2,x3,y3,x4,y4);
  sp:=2*sq(x1,y1,x2,y2,x3,y3);
  write('координаты точки x y через пробел:  '); readln(x,y);
  st:=sq(x1,y1,x2,y2,x,y) + sq(x2,y2,x3,y3,x,y) +
        sq(x3,y3,x4,y4,x,y) + sq(x4,y4,x1,y1,x,y);
  if abs(sp-st)<1.0e-9 then
     writeln('точка принадлежит прямоугольнику')
  else writeln('точка не принадлежит прямоугольнику');   
end.

координаты 4 вершин x1 y1 x2 y2 x3 y3 x4 y4 через пробел:  1 4 6 9 9 6 4 1
координаты точки x y через пробел:  4 7
точка принадлежит прямоугольнику

координаты 4 вершин x1 y1 x2 y2 x3 y3 x4 y4 через пробел:  1 4 6 9 9 6 4 1
координаты точки x y через пробел:  1.5 1.6
точка не принадлежит прямоугольнику
Negutsa_Kseniya524
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=4;
  var xp:=new real[n];
  var yp:=new real[n];
  Writeln('Введите парами координаты четырех вершин');
  for var i:=0 to n-1 do Read(xp[i],yp[i]);
  var (x,y):=ReadReal2('Введите координаты точки:');
  var (i,j,c):=(0,n-1,False);
  while i<n do begin
    if ((yp[i]<=y) and (y<yp[j]) or (yp[j]<=y) and (y<yp [i]))
      and (x<(xp[j]-xp[i])*(y-yp[i])/(yp[j]-yp[i])+xp[i]) then c:=not c;
    j:=i;
    i+=1;
    end;
  if c then Writeln('Внутри')
  else Writeln('Не внутри')
end.

Примеры
Введите парами координаты четырех вершин
 1 4 6 9 9 6 4 1
Введите координаты точки: 1.5 1.6
Не внутри

Введите парами координаты четырех вершин
1 4 6 9 9 6 4 1
Введите координаты точки: 4 7
Внутри

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

[delphi - form] дан динамический одномерный массив, после каждого собственного числа(число которое делится на себя и на 1) вставить "0".
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Nikolai_oksana
magazin3000
mashumi2170
Кузнецов
Сергеевич1907
Yekaterina
sergei-komissar8475
Svatela37
ЕвгенияСергеевна
FATAHOVAMAINA
Sergei_Olga658
strelnikov-aa
Александровна1973
zuzazuza61
natkoff5