IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Одномерный массив - вроде бы просто?
сообщение
Сообщение #1


Гость






Ребят помогите пожалуйста, второй день голову ломаю, что-то никак не выходит!
Найти три наименьших по значению элемента одномерного массива (равные не учитывать) целых чисел, введеных с клавы. Заменить их на соответствующие им индексы.
Спасибо
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Вот такой код, вроде, должен работать (не проверял).
M:=1;  { Общее число минимальных элементов }
for j:=1 to 3 do begin { подготовка массивов минимальных элементов и номеров }
Min[j]:=a[1];
iMin[j]:=1
end;
for i:=2 to N do
for j:=1 to 3 do if a[i]<Min[j] then begin { найден новый минимальный элемент }
for k:=j to 2 do begin { сдвигаем массив минимальных элементов вместе с индексами }
Min[k+1]:=Min[k];
iMin[k+1]:=iMin[k]
end;
Min[j]:=a[i];
iMin[j]:=i;
if (M=j) and (M<3) then Inc(M) { увеличиваем число минимальных элементов }
Break
end;
for j:=1 to M do a[iMin[j]]:=iMin[j]; { замена минимальных элементов на их индексы }



Добавлено через 6 мин.
Однако, нет.. sad.gif
Уже нашел ошибку. В ситации 1, 2, 3, 4 - результат будет неверный.
Сейчас попробую исправить...


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Petruxa   Одномерный массив - вроде бы просто?   14.03.2007 13:25
Lapp   Вот такой код, вроде, должен работать (не проверял…   14.03.2007 14:04
klem4   const n = 4; type TArray = array [1..n] of Inte…   14.03.2007 14:14
Petruxa   'klem4' - огромное спасибо, всё работает…   14.03.2007 14:36
Lapp   Да, схема Klem4 лучше.. :) Свою я исправил (надо и…   14.03.2007 14:33
Petruxa   а может лучше выложить Ваш код? очень интересно...   14.03.2007 14:38
Lapp   И еще одна: надо подсчитывать количество минимумов…   14.03.2007 14:40
Гость   помоему код klem4 проще и понятней, а особых изыск…   14.03.2007 15:32
Lapp   помоему код klem4 проще и понятней, а особых изыс…   14.03.2007 15:52
volvo   Я бы сделал вот это (для общего случая, а не тольк…   14.03.2007 16:15
Lapp   Пока смотрел код volvo, нашел еще одну ошибку у се…   14.03.2007 16:28
klem4   У меня то учитывается: Единственное можно еще…   14.03.2007 16:39
Lapp   Проверь на массиве 1, 2, 3, 4 Твоя прога выдает ин…   14.03.2007 16:46
klem4   Действительно, тогда вот что сочинил: for j := 1 …   14.03.2007 17:09
Lapp   Действительно, тогда вот что сочинил: Можно и та…   14.03.2007 17:44


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 6:52
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name