Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
1 / 1 / 0
Регистрация: 14.04.2016
Сообщений: 59
1

Дан массив размера n, обнулить элементы расположенные между его минимальным и максимальным элементами

02.10.2018, 17:16. Показов 2468. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Lazarus
Буду очень благодарен,на обыкновенном паскале все очевидно,но с переносом в лазарус проблемы...

Добавлено через 27 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
begin
clrscr;
randomize;
for i:=1 to n do begin
    a[i]:=random(10);
    memo1.lines.add('i='+floattostr(i));
    end;
 
max:=1;
for i:=1 to n do
    if a[i]>=a[max] then
    max:=i;
 
min:=1;
for i:=1 to n do
    if a[i]<=a[min] then
    min:=i;
 
if min>max then
       for i:=max+1 to min-1 do
       a[i]:=0;
 
if max>min then
       for i:=min+1 to max-1 do
       a[i]:=0;
 
for i:=1 to n do
memo1.lines.add('i='+floattostr(i));
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2018, 17:16
Ответы с готовыми решениями:

Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным элементами
помогите! ! ! работу нужно сделать в С++

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

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

Массив: Обнулить элементы массива, расположенные между его минимальным и максимальным элементами...
Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным...

5
Модератор
9316 / 6098 / 2387
Регистрация: 21.01.2014
Сообщений: 26,054
Записей в блоге: 3
02.10.2018, 18:48 2
Цитата Сообщение от hur1ey Посмотреть сообщение
с переносом в лазарус проблемы
не вижу никаких проблем... код верный, осталось убрать строку 2 и поместить код в обработчик события нажатия кнопки...
0
1 / 1 / 0
Регистрация: 14.04.2016
Сообщений: 59
02.10.2018, 19:18  [ТС] 3
Выводит 7,8,9,10...
0
Модератор
9316 / 6098 / 2387
Регистрация: 21.01.2014
Сообщений: 26,054
Записей в блоге: 3
02.10.2018, 19:25 4
А что должно?
0
1 / 1 / 0
Регистрация: 14.04.2016
Сообщений: 59
02.10.2018, 19:32  [ТС] 5
Два элемента,разве нет?
0
Модератор
9316 / 6098 / 2387
Регистрация: 21.01.2014
Сообщений: 26,054
Записей в блоге: 3
03.10.2018, 06:11 6
Цитата Сообщение от hur1ey Посмотреть сообщение
разве нет?
Да откуда же я знаю, что у Вас там вводится... В общем, разбираться с Вашим кодом мне лень, вот рабочий код - разбирайтесь Вы с моим...
полный код модуля
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls, Math;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Memo1: TMemo;
    Panel1: TPanel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private { private declarations }
    A: array of integer;
    n, iMax, iMin, Max, Min: integer;
    s: String;
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
  Panel1.Visible:=false;
  Button1.Enabled:=false;
  Memo1.Lines.Clear;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  if not TryStrToInt(Edit1.Text, n) then
   begin
     ShowMessage('Не указан\указан неверно размер массива!');
     Edit1.Clear;
     Edit1.SetFocus;
     Exit;
   end;
  s := '';
  Min := High(integer);
  Max := Low(integer);
  iMax := -1;
  iMin := -1;
  Memo1.Lines.Clear;
  Memo1.Lines.Add('Массив из случайных чисел:');
  SetLength(A, n);
  for i := 0 to n - 1 do
   begin
     A[i] := RandomRange(-50, 51);
     if A[i] > Max then
       begin
         Max := A[i];
         iMax := i;
       end;
     if A[i] < Min then
       begin
         Min := A[i];
         iMin := i;
       end;
     s := s + Format('%10d', [A[i]]);
   end;
  Memo1.Lines.Add(Trim(s));
  Memo1.Lines.Add('');
  Label2.Caption:=Format('Максимальный элемент = %d в позиции %d', [Max, iMax]);
  Label3.Caption:=Format('Минимальный элемент = %d в позиции %d', [Min, iMin]);
  Panel1.Visible:=true;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var i, i1, i2: integer;
begin
  s := '';
  if iMax > iMin then
    begin
      i1 := iMin; i2 := iMax;
    end
  else
   begin
     i1 := iMax; i2 := iMin;
   end;
  Memo1.Lines.Add('Зануленный массив:');
  if i2-i1 = 1 then
   begin
     Memo1.Lines.Add('Нечего занулять: минимум и максимум в соседних позициях!');
     Exit;
   end;
  for i := 0 to n - 1 do
   begin
     if i in [i1 + 1..i2 - 1] then A[i] := 0;
     s := s + Format('%10d', [A[i]]);
   end;
  Memo1.Lines.Add(s);
end;
 
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Button1.Enabled:=Length(Edit1.Text) > 0;
end;
 
end.
Миниатюры
Дан массив размера n, обнулить элементы расположенные между его минимальным и максимальным элементами   Дан массив размера n, обнулить элементы расположенные между его минимальным и максимальным элементами  
0
03.10.2018, 06:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2018, 06:11
Помогаю со студенческими работами здесь

Обнулить элементы массива, расположенные между его минимальным и максимальным элементами
Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным...

Обнулить элементы массива, расположенные между его минимальным и максимальным элементами
Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным...

Обнулить элементы массива, расположенные между его минимальным и максимальным элементами
3) Дан массив размера N.Обнулить элементы массива, расположенные между его минимальным и...

Обнулить элементы массива, расположенные между его минимальным и максимальным элементами
Дан массив размера N.Обнулить элементы массива,расположенные между его минимальным и максимальным...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru