Не могу понять

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

11 мар 2007, 18:17

EgorX,
Как я понимаю "Найти наибольший и наименьший из номеров ее членов, попавших в заданный интервал", означает что надо сохранить индексы элементов массива, значения которого находятся в заданном интервале.
Т.е. пройти до первого элемента попадающего в диапазон, запомнить MIN. Потом пройти от него до конца запоминая индекс элемента, попадающего в диапазон. всё
Изображение
Аватара пользователя
Колядин Максим
Сообщения: 285
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

11 мар 2007, 18:33

Игорь Акопян писал(а):EgorX,
Как я понимаю "Найти наибольший и наименьший из номеров ее членов, попавших в заданный интервал", означает что надо сохранить индексы элементов массива, значения которого находятся в заданном интервале.
Т.е. пройти до первого элемента попадающего в диапазон, запомнить MIN. Потом пройти от него до конца запоминая индекс элемента, попадающего в диапазон. всё
Судя по условию - ты прав... Но тогда что ж получается, - индексы минимального и максимального номера элемента вводятся вручную?(P=min]индексов[/B] максимального и минимального элементов, попавших в заданный интервал?
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
EgorX
Сообщения: 16
Зарегистрирован: 18 фев 2007, 07:55

11 мар 2007, 18:37

Колядин Максим, спасибо, вот написал метод пузырьковый ... а вот не мог бы прописать коментариии ... как для самых "Чайников"
Аватара пользователя
Колядин Максим
Сообщения: 285
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

11 мар 2007, 19:01

EgorX писал(а):Колядин Максим, спасибо, вот написал метод пузырьковый ... а вот не мог бы прописать коментариии ... как для самых "Чайников"

Код: Выделить всё

var a: array [1..2] of integer]:=2;         
a[2]:=1;
{получили массив: 2 1}
repeat {делаем пока done<>true};
done:=true;
{сравнение двух соседних элементов}
for i:= 1 to 2 do if a[i]>a[i+1] then begin {если 2>1 тогда начать (тк. а[i]=1, a[i+1]=2)}
{меняем местами}
buf:=a[i];        {buf:=2}
a[i]:=a[i+1];    {2:=1}
a[i+1]:=buf;     {1:=buf (т.е. 2)}
{получили массив: 1 2}

done:=false;    {массив не был отсортирован.(судя по условию в начале операции)}
end;
until done;
end.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
EgorX
Сообщения: 16
Зарегистрирован: 18 фев 2007, 07:55

12 мар 2007, 02:02

Колядин Максим, благодарю
EgorX
Сообщения: 16
Зарегистрирован: 18 фев 2007, 07:55

12 мар 2007, 10:14

Фух .... все ...все задачи которые нужно сделал ... всем спасибо =) =ы) ... особенно Колядин Максим
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

12 мар 2007, 10:26

&quot писал(а):индексы минимального и максимального номера элемента вводятся вручную?(P=min; Q=max)
вводится диапазон значений, а найти надо индексы ;)

Код: Выделить всё

procedure bubble; //пузырьковая сортировка
var i, j, t : byte;
begin
    for i :=2 to N do
        for j:=N downto i do
            if x[i-1]>x[j] then
            begin 
              t:=x[j-1];
              x[j-1]:=x[j];
              x[j]:=t; 
            end;
end;
обратите внимание, как тут сделан НЕ выход за границы массива ;)

взято тут http://www.structur.h1.ru/sort.htm
Изображение
Ответить