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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 23:42   #1
KREGI
Форумчанин
 
Аватар для KREGI
 
Регистрация: 29.11.2008
Сообщений: 333
Восклицание Задача на min и max

Условие: Найти номера первого и последнего минимального элемента из данного набора и вывести их в указанном порядке.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var A:array[0..4] of integer;
i,m,n,min,max:integer;
begin
for i:=0 to 4 do
a[i]:=strtoint(stringgrid1.cells[i,0]);
min:=a[1];max:=a[1];
for i:=0 to 4 do
if a[i]<min then
m:=i+1;
label1.Caption:='min= '+inttostr(m);
for i:=0 to 4 do
if a[i]>max then
n:=i+1;
label2.Caption:='max= '+inttostr(n);
end;
То что сейчас набрал(чувствует сердце не правильно ), Помогите плз, срочно надо, Заранее спасибо
Если помог - Весы слева
KREGI вне форума Ответить с цитированием
Старый 05.06.2009, 23:45   #2
terminadoor
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 86
По умолчанию

Цитата:
Условие: Найти номера первого и последнего минимального элемента из данного набора и вывести их в указанном порядке.
Всмисле? Как могут существовать в наборе два неодинаковие минимальние зачения?
TerMinAdoOR
terminadoor вне форума Ответить с цитированием
Старый 05.06.2009, 23:47   #3
KREGI
Форумчанин
 
Аватар для KREGI
 
Регистрация: 29.11.2008
Сообщений: 333
По умолчанию

я там код не верный выложил, я условие тоже не особо понял, надо наверно выводить номера положения числа в массиве, от самого маленького к большему
Например, дан массив: 1 8 3 9 2
надо вывести: 1 5 3 2 4 (это номера чисел в массиве) - это как я понял
Если помог - Весы слева

Последний раз редактировалось KREGI; 05.06.2009 в 23:52.
KREGI вне форума Ответить с цитированием
Старый 05.06.2009, 23:51   #4
terminadoor
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 86
По умолчанию

как я понял, числа целие? не надо юзать вещественний тип?
TerMinAdoOR
terminadoor вне форума Ответить с цитированием
Старый 05.06.2009, 23:53   #5
KREGI
Форумчанин
 
Аватар для KREGI
 
Регистрация: 29.11.2008
Сообщений: 333
По умолчанию

числа целые.
Если помог - Весы слева
KREGI вне форума Ответить с цитированием
Старый 05.06.2009, 23:57   #6
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Сортируйте массив по возрастанию перемещая числа и их индексы, потом выводите индексы.
Evgeniy26 вне форума Ответить с цитированием
Старый 06.06.2009, 00:00   #7
KREGI
Форумчанин
 
Аватар для KREGI
 
Регистрация: 29.11.2008
Сообщений: 333
По умолчанию

Можете код написать плз?
Если помог - Весы слева
KREGI вне форума Ответить с цитированием
Старый 06.06.2009, 00:03   #8
terminadoor
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 86
По умолчанию

сейчас попробую.
TerMinAdoOR
terminadoor вне форума Ответить с цитированием
Старый 06.06.2009, 00:38   #9
terminadoor
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 86
По умолчанию

Сделал. Правда прога консольная.
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  var a,ar,ar1:array[1..120000] of longint;
  var n,i,j,k,l,t,aa,b,c:longint;
begin
readln(n);{Количество елементов в наборе(масиве)}
for l:=1 to n do begin
read(a[l]);
ar[l]:=a[l];
end;
  for i := n - 1 downto 1 do
    for j := 1 to i do
        if a[j] > a[j+1] then
        begin
            t := a[j];
            a[j] := a[j+1];
            a[j+1] := t;
        end;
l:=1;aa:=1;
while l<=n do begin
aa:=1;
while aa<=n do begin
if a[l]=ar[aa] then begin
write(aa,' ');
inc(l,1);
end else inc(aa);
end;
end;
readln;readln;
  end.
И ёщё одно примечание:
в первом рядке вводим количество елементов, во втором - елементи через пробел. Ваш пример вводить надо так:

5
1 8 3 9 2
TerMinAdoOR

Последний раз редактировалось terminadoor; 06.06.2009 в 00:41.
terminadoor вне форума Ответить с цитированием
Старый 06.06.2009, 00:40   #10
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Смотрите
там замените
Код:
for i := 1 to High(Mas) do
на
Код:
for i := 1 to High(Mas[0]) do
Вложения
Тип файла: rar ExampleSort.rar (236.2 Кб, 15 просмотров)

Последний раз редактировалось Evgeniy26; 06.06.2009 в 00:43.
Evgeniy26 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разность max min Си++ Где ошибка? Медина Помощь студентам 18 20.04.2009 00:03
Разность между max и min значениями Иван 883 Паскаль, Turbo Pascal, PascalABC.NET 2 16.02.2009 23:24
m=min(max{aij}) Массивы на C++ Wia Помощь студентам 2 22.12.2008 19:23
задачи на массив среднеарифметическое и min,max Stinging Паскаль, Turbo Pascal, PascalABC.NET 4 17.12.2008 17:14
Как найти max и min элементы матрицы????? ЕвгениуS Помощь студентам 19 02.03.2008 19:47