Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 24.12.2019
Сообщений: 56

Поиск минимального значения элемента и определение порядкового номера наименьшего элемента

24.12.2019, 17:50. Показов 3039. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо написать программу, формирующую рандомный одномерный массив, а после определяющую минимальный ее элемент и его номер, часть которая формирует массив работает нормально, а вот нахождение элемента работать не хочет
В чем может быть дело?
(Lazarus)
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
var n,i:integer;
    a:array[0..100,0..100] of integer;
begin
n:=strtoint(edit1.text);
stringgrid1.ColCount:=n;
stringgrid1.Visible:=true;
Randomize;
for i:=0 to n-1 do
   begin
   a[i,0]:=random(20)-10;
   stringgrid1.cells[i,0]:=inttostr(a[i,0]);
   end;
 
end;
 
procedure TForm1.BitBtn1Click(Sender: TObject);
var
a:array[1..100] of integer;
    min:integer;
    i:integer;
begin
 for i:=1 to 100 do
           a[i]:= StrToInt(StringGrid1.Cells[i-1,0]);
        min:=1;
        for i:=2 to 100 do
           if a[i] < a[min] then min:=i ;
        Edit2.Text:='Минимальный элемент массива: ' + IntToStr(a[min])
                        + #13 + 'Номер элемента:'+IntToStr(min);
 
end;
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2019, 17:50
Ответы с готовыми решениями:

Поиск минимального значения элемента и определение порядкового номера наименьшего элемента
Дана непустая последовательность различных натуральных чисел. Определить порядковый номер наименьшего из них. помогите! очень нужен код...

Сумма минимального позитивного элемента и его номера
Помогите пожалуйста решить задачу &quot;Найти сумму минимального позитивного элемента массива и его номера&quot; . За раннее благодарен!

Определение номера элемента в динамическом массиве
Дан массив А. Определить номер элемента, который равен 15. Var A:array of extended; Begin A:=... Помогите составить...

3
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,328
24.12.2019, 18:19
Цитата Сообщение от walet1234 Посмотреть сообщение
a:array[0..100,0..100] of integer;
Трындец, зачем это?! Из него же только один столбец используется!

Невидимый StringGrid нафига нужен?!

Вводится количество элементов, а массив из 100 (101) элементов и потом просматривается всегда 100 элементов - здесь тоже ошибка.

Вот чуть намарафечено:
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
var
  a: array of integer;
  min: integer;
  i: integer;
begin
  TryStrToInt(Edit1.Text, i); // Получение количества элементов. Если не получилось преобразовать, то возвращает 0
  SetLength(a, i);
 
  if i = 0 then begin
    Label1.Caption := 'Задайте корректное количество элементов массива.';
    Exit;
  end;
 
  // Заполнить массив
  Randomize;
  for i := 0 to High(a) do // Пройтись по всему массиву
    a[i] := Random(20) - 10; // Внести случайные числа
 
  // Поиск минимального элемента
  min := 0;
  // Проходим до конца массива и ищем среди них минимальный
  for i := 1 to High(a) do
    if a[i] < a[min] then
      min := i;
 
  Label1.Caption := 'Минимальный элемент массива: ' + IntToStr(a[min])
                    + #13#10 + '. Номер элемента: '+IntToStr(min);
end;
1
0 / 0 / 0
Регистрация: 24.12.2019
Сообщений: 56
24.12.2019, 19:13  [ТС]
AzAtom, а возможно ли сделать так чтобы он не в 1 действие с кнопки 1 делал массив и находил элемент, а чтобы по Button1 массив строил и выводил, а по BitBtn1 уже находил и выводил наименьший элемент и его номер?
Нужно именно в 2 действия, а как так сделать сообразить не выходит
0
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,328
25.12.2019, 12:56
Лучший ответ Сообщение было отмечено walet1234 как решение

Решение

Цитата Сообщение от walet1234 Посмотреть сообщение
возможно ли сделать так чтобы ...
Конечно возможно:
Delphi
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
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
    a: array of integer;
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  s: string;
begin
  TryStrToInt(Edit1.Text, i); // Получение количества элементов. Если не получилось преобразовать, то возвращает 0
  SetLength(a, i);
 
  if i = 0 then begin
    Label1.Caption := 'Задайте корректное количество элементов массива.';
    Exit;
  end;
 
  // Заполнить массив и вывести в Edit, хоть это и не совсем правильно
  s := '';
  Randomize;
  for i := 0 to High(a) do begin // Пройтись по всему массиву
    a[i] := Random(20) - 10; // Внести случайные числа
    s := s + IntToStr(a[i]) + ' ';
  end;
  Edit2.Text := s;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
  min: integer;
  i: integer;
begin
  if Length(a) = 0 then begin // Если массив не задан, то вывести сообщение и выйти из процедуры
    Label1.Caption := 'Создайте массив нажатием кнопки "Создать массив"!';
    Exit;
  end;
 
  // Поиск минимального элемента
  min := 0;
  // Проходим до конца массива и ищем среди них минимальный
  for i := 1 to High(a) do
    if a[i] < a[min] then
      min := i;
 
  Label1.Caption := 'Минимальный элемент массива: ' + IntToStr(a[min])
                    + #13#10 + 'Номер минимального элемента: '+IntToStr(min);
end;
 
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2019, 12:56
Помогаю со студенческими работами здесь

Задача на определение порядкового номера
Условие: Дана непустая последовательность различных натуральных чисел, за которой следует 0. Определить порядковый номер наименьшего из...

Найти номера первого и последнего минимального элемента из данного набора
Дано целое число N и набор из N целых чисел. Нужно в Delphi, найти номера первого и последнего минимального элемента из данного набора и...

Определить номера элементов массива, значения которых больше значения предыдущего элемента
Дан одномерный массив размерности 20. Заполнить его случайными числами на отрезке . Определить номера элементов массива, значения которых...

Поиск минимального элемента массива
Вот составила программу,но мне ошибку выдает,не подскажите ли,в чем дело? unit Unit2; interface uses Windows, Messages,...

Поиск минимального элемента среди максимальных
Ищем максимальные элементы по строкам.В каждой строке свой максимальный элемент for j5:=0 to StringGrid2.RowCount-1 do ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru