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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2016, 17:25   #1
vVladislav
Пользователь
 
Регистрация: 18.06.2016
Сообщений: 21
По умолчанию Delphi Массивы

Помогите с заданиям
1.Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-100,200]. Найти сумму отрицательных элементов.
2.Найти количество тех элементов, значения которых положительны и не превосходят заданного числа А.
3.Найти номер последней пары соседних элементов с разными знаками.
Код HTML:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    GroupBox1: TGroupBox;
    Button2: TButton;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    Label2: TLabel;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n,sum: integer;
  m:array of integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
checkbox1.Checked:=false;
edit2.Clear;
edit4.Clear;
randomize;
n:=strtoint (edit1.Text);
setlength (m,n);
for i:=0 to n-1 do
begin
m[i]:=round(sin(random(-100))*200);
edit2.Text:=edit2.Text+' '+ inttostr(m[i]);
end;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
var i:integer;
begin
sum:=0;
for i:=0 to n-1 do
if m[i]<0 then
sum:=sum+m[i];
edit4.Text:=FloatToStr(sum);

end;

procedure TForm1.CheckBox2Click(Sender: TObject);
var i,a:integer;
begin
a:=StrToInt(Edit5.Text);

end;

end.
vVladislav вне форума Ответить с цитированием
Старый 19.06.2016, 05:06   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n,sum: integer;
  m:array of integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
   Edit2.Text:='';
   randomize;
   n:=strtoint (edit1.Text);
   setlength (m,n);
   for i:=0 to n-1 do
   begin
      m[i]:=-100+random(301);
      edit2.Text:=edit2.Text+' '+ inttostr(m[i]);
   end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
   sum:=0;
   for i:=0 to n-1 do
      if m[i]<0 then
         sum:=sum+m[i];
   edit3.Text:=IntToStr(sum);
end;

procedure TForm1.Button3Click(Sender: TObject);
var i,a:integer;
begin
   a:=StrToInt(Edit4.Text);
   sum:=0;
   For i:=0 to n-1 do
      If (m[i]>0) and (m[i]<a) then
         sum:=sum+1;
   Edit5.Text:=IntToStr(sum);
end;

procedure TForm1.Button4Click(Sender: TObject);
var i:integer;
begin
   Edit6.Text:='Нет пары';
   For i:=n-2 downto 0 do
      If (m[i]*m[i+1]<0) then
      begin
         Edit6.Text:=Format('%d - %d',[i,i+1]);
         Exit;
      end;
end;

end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 19.06.2016, 11:20   #3
vVladislav
Пользователь
 
Регистрация: 18.06.2016
Сообщений: 21
По умолчанию

Спасибо.
Заменить минимальный элемент массива на средний (количество элементов – нечетно).

Заменить нулями элементы массива между минимальным по модулю и максимальным по модулю, кроме их самих.

Из элементов массива D сформировать массив A той же размерности по правилу: элементы с первого по k-ый находятся по формуле Ai = -Di2, остальные по формуле Ai = Di-1.

А как дописать?
vVladislav вне форума Ответить с цитированием
Старый 19.06.2016, 17:40   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
procedure TForm1.Button5Click(Sender: TObject);
var i,imin:integer;
begin
   imin:=0;
   For i:=1 to n-1 do
      If m[imin]>m[i] then
         imin:=i;
   i:=m[n div 2];
   m[n div 2]:=m[imin];
   m[imin]:=i;
   Edit2.Text:='';
   For i:=0 to n-1 do
      Edit2.Text:=Edit2.Text+' '+IntToStr(m[i]);
end;

procedure TForm1.Button6Click(Sender: TObject);
var i,imin,imax:integer;
begin
   imin:=0;
   imax:=0;
   For i:=1 to n-1 do
   begin
      If Abs(m[imin])>Abs(m[i]) then
         imin:=i;
      If Abs(m[imax])<Abs(m[i]) then
         imax:=i;
   end;
   If imin>imax then
   begin
      i:=imin;
      imin:=imax;
      imax:=i;
   end;
   For i:=imin+1 to imax-1 do
      m[i]:=0;
   Edit2.Text:='';
   For i:=0 to n-1 do
      Edit2.Text:=Edit2.Text+' '+IntToStr(m[i]);
end;





Последнее (про массив D) не понял!
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы (delphi 7) Rondo Помощь студентам 1 12.12.2010 20:25
delphi-массивы RsGoLd Помощь студентам 7 10.12.2010 18:24
Массивы. Delphi gree Помощь студентам 10 11.05.2009 22:11
Массивы Delphi Tesa Помощь студентам 1 06.10.2008 22:33