![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.09.2012
Сообщений: 51
|
![]()
всем привет! у меня появилась проблема при обмене чисел в массиве проблема состоит в том что программа непереставляет числа в массиве ( нужно переставить местами максимальное и минимальные числа) шлю всю прогу надеюсь что ктото обьяснит мне в чём ошибка. заранее спасибо!
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 07.02.2013
Сообщений: 267
|
![]()
Ммм.. Дело в области видимости переменных. У Вас объявлена глобальная переменная maxindex и точно такая же переменная в функции Max. Соответственно, функция Max выводит правильный индекс максимального элемента, но в основной программе, при вызове функции Change, используется уже глобальная переменная maxindex, значение которой 0. Аналогично с переменной minindex.
Соответственно у Вас переставляется нулевой элемент на свою же позицию. upd. Еще не понимаю, почему у Вас Код:
Код:
Μολὼν λαβέ
Последний раз редактировалось alexander13; 11.02.2013 в 20:12. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 30.09.2012
Сообщений: 51
|
![]()
maxindex:= i+1 потому что я начинал отсчёт с нуля
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 30.09.2012
Сообщений: 51
|
![]()
так впринципе понял но всё же как изменить, вернее какую переменную тогда ставить (потому что при удалении одной из них прога неработает)
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 07.02.2013
Сообщений: 267
|
![]()
В смысле, Вы начинали? Он там и так с нуля начинается. Уберите +1, удалите объявления переменных из процедур и перенесите блок с глобальными переменными куда-нибудь повыше этих процедур. Это если не сильно заморачиваться. И все заработает.
Μολὼν λαβέ
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 30.09.2012
Сообщений: 51
|
![]()
проверял если убрать +1 то индекс будет на 1 меньше чем надо
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 07.02.2013
Сообщений: 267
|
![]()
Нет, не будет. Посмотрите на вывод программы. Если Вы не уберете 1, то она поменяет местами 0 и 8 что ли, я не помню. А должна менять 44 и 0.
Μολὼν λαβέ
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 30.09.2012
Сообщений: 51
|
![]()
всё сделал спасибо обошёлся без снятия +1 у индекса просто при вызове change у каждого индекса добавил -1 но спасибо за помощь
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 30.09.2012
Сообщений: 51
|
![]()
просто нам в универе надо сделать было якобы для удобства пользователя) вот поэтому и шёл +1
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка текста и чисел в паскале. | ali23210275 | Помощь студентам | 9 | 09.04.2012 22:15 |
Генератор чисел в Паскале | andertalec | Помощь студентам | 0 | 20.10.2010 23:47 |
обмен чисел последовательности | maziLa | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 09.12.2008 00:15 |