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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2013, 17:54   #1
dragodar
Пользователь
 
Регистрация: 30.09.2012
Сообщений: 51
Смущение обмен чисел в паскале

всем привет! у меня появилась проблема при обмене чисел в массиве проблема состоит в том что программа непереставляет числа в массиве ( нужно переставить местами максимальное и минимальные числа) шлю всю прогу надеюсь что ктото обьяснит мне в чём ошибка. заранее спасибо!
Вложения
Тип файла: rar 1.rar (24.5 Кб, 7 просмотров)
dragodar вне форума Ответить с цитированием
Старый 11.02.2013, 20:08   #2
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Ммм.. Дело в области видимости переменных. У Вас объявлена глобальная переменная maxindex и точно такая же переменная в функции Max. Соответственно, функция Max выводит правильный индекс максимального элемента, но в основной программе, при вызове функции Change, используется уже глобальная переменная maxindex, значение которой 0. Аналогично с переменной minindex.
Соответственно у Вас переставляется нулевой элемент на свою же позицию.

upd. Еще не понимаю, почему у Вас
Код:
maxindex:=i+1;
Должно быть
Код:
maxindex:=i;
Аналогично, для minindex.
Μολὼν λαβέ

Последний раз редактировалось alexander13; 11.02.2013 в 20:12.
alexander13 вне форума Ответить с цитированием
Старый 11.02.2013, 22:00   #3
dragodar
Пользователь
 
Регистрация: 30.09.2012
Сообщений: 51
По умолчанию

maxindex:= i+1 потому что я начинал отсчёт с нуля
dragodar вне форума Ответить с цитированием
Старый 11.02.2013, 22:11   #4
dragodar
Пользователь
 
Регистрация: 30.09.2012
Сообщений: 51
По умолчанию

так впринципе понял но всё же как изменить, вернее какую переменную тогда ставить (потому что при удалении одной из них прога неработает)
dragodar вне форума Ответить с цитированием
Старый 11.02.2013, 22:20   #5
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

В смысле, Вы начинали? Он там и так с нуля начинается. Уберите +1, удалите объявления переменных из процедур и перенесите блок с глобальными переменными куда-нибудь повыше этих процедур. Это если не сильно заморачиваться. И все заработает.
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Старый 11.02.2013, 22:23   #6
dragodar
Пользователь
 
Регистрация: 30.09.2012
Сообщений: 51
По умолчанию

проверял если убрать +1 то индекс будет на 1 меньше чем надо
dragodar вне форума Ответить с цитированием
Старый 11.02.2013, 22:25   #7
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Цитата:
Сообщение от dragodar Посмотреть сообщение
проверял если убрать +1 то индекс будет на 1 меньше чем надо
Нет, не будет. Посмотрите на вывод программы. Если Вы не уберете 1, то она поменяет местами 0 и 8 что ли, я не помню. А должна менять 44 и 0.
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Старый 11.02.2013, 22:34   #8
dragodar
Пользователь
 
Регистрация: 30.09.2012
Сообщений: 51
По умолчанию

всё сделал спасибо обошёлся без снятия +1 у индекса просто при вызове change у каждого индекса добавил -1 но спасибо за помощь
dragodar вне форума Ответить с цитированием
Старый 11.02.2013, 22:36   #9
dragodar
Пользователь
 
Регистрация: 30.09.2012
Сообщений: 51
По умолчанию

просто нам в универе надо сделать было якобы для удобства пользователя) вот поэтому и шёл +1
dragodar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка текста и чисел в паскале. 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