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

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

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

> Простенькая задача с массивами, Кто может помочь хотя бы объясните
Витёк
сообщение 27.11.2006 15:09
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской
Реальное имя: Виктор

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


Люди помогите пожалуйста в решении задачи. Условие такое: дан массив, нужно найти минимальный элемент и удалить его. Я смог найти минимальный элемент вот так:
 
const n =5;
type
list=1..n;
var i:list;
min:integer;
a:array[list] of integer;
begin
for i:=1 to n do
begin
writeln('введите',i);
readln(a[i]);end;
min=a[i];
for i:=2 to n do
begin
if a[i]<min then min:=a[i];end;
writeln(min);
end.

но не смог удалить его и вывести все остальные элементы. Подскажите как это сделать

Сообщение отредактировано: Витёк - 27.11.2006 19:31
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 9)
мисс_граффити
сообщение 27.11.2006 15:25
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Витёк
сообщение 27.11.2006 15:31
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Мужской
Реальное имя: Виктор

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


Цитата(мисс_граффити @ 27.11.2006 15:25) *

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

Что-то не соображу, как это в программе сделать
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Витёк
сообщение 27.11.2006 16:02
Сообщение #4





Группа: Пользователи
Сообщений: 9
Пол: Мужской
Реальное имя: Виктор

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


но не смог удалить его и вывести все остальные элементы. Подскажите как это сделать
Ну помогите же. Я лично пытался, но не выходило. Препод говорит что это просто.

Сообщение отредактировано: Витёк - 27.11.2006 16:05
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 27.11.2006 16:48
Сообщение #5


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


как запоминать индекс минимального - можешь сообразить?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Витёк
сообщение 27.11.2006 18:54
Сообщение #6





Группа: Пользователи
Сообщений: 9
Пол: Мужской
Реальное имя: Виктор

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


Цитата(мисс_граффити @ 27.11.2006 16:48) *

как запоминать индекс минимального - можешь сообразить?

Что-то не получается. Да и незнаю как это делается. wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 27.11.2006 21:24
Сообщение #7


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


давай рассуждать логически.
если у тебя есть строка
min:=a[i];

значит, индекс минимального равен i в данный момент, правильно?
но i после этого не раз изменяется, значит, надо ввести какую-то другую переменную - например, назовем ее mini.
понимаешь, куда надо вставить
mini:=i
?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Витёк
сообщение 28.11.2006 13:43
Сообщение #8





Группа: Пользователи
Сообщений: 9
Пол: Мужской
Реальное имя: Виктор

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


Ну как я понял эту строчку
mini:=i

надо вставить после этого выражения
min:=a[i];

так да?
Теперь я запомнил его индекс и мне нужно сместить весь массив вперёд так, что бы этот минимум удалить.
А через какую функцию он сдвигается? Нам что-то подобное показывали, но я не совсем понял как это сделать
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 28.11.2006 14:36
Сообщение #9


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


да, вставить именно туда.
только не забудь про begin и end
функцию? стандартной я такой не знаю...
обычно делают следующим образом:
a[i]:=a[i+1];

для всех i>=mini
что делать с последним элементом - решай сам...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.11.2006 14:42
Сообщение #10


Гость






Цитата
стандартной я такой не знаю...
Move в помощь smile.gif
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 21.07.2025 10:11
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"