|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.10.2011, 23:32 | #1 |
Регистрация: 12.10.2011
Сообщений: 6
|
оменять местами макс. и мин. эл-нт строки
Столкнулся с такой проблемой:
"Поменять местами слова с максимальной и минимальной длиной при условии, что такие слова единственные." Строки записываем в массив(10 слов), кол-во симовлов: от 3 до 8, результат выводится через переменую типа string через пробел. Найтиде пожалуйста ошибку. Не хочет он местами элементы менять: Код:
|
26.10.2011, 08:02 | #2 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Код:
И да, зачем гнать цикл 2 раза, если можно обойтись одним?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
26.10.2011, 08:58 | #3 |
Регистрация: 12.10.2011
Сообщений: 6
|
Спасибо, это исправил:
Код:
Как это реализовать? |
26.10.2011, 09:05 | #4 |
Регистрация: 12.10.2011
Сообщений: 6
|
После отладки увидел, что переменные pos1 и pos2
равные единице. Значит проблема в цикле? |
26.10.2011, 10:03 | #5 |
Регистрация: 12.10.2011
Сообщений: 6
|
UPDATE
Не получается поменять минимальный элемент на максимальный: Код:
|
26.10.2011, 11:47 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
вы интересный человек..
1) куда Вы дели иницилизацию максимальной величины? 2) если Вы вводите слова раздельно (в массив) /[I.кстати, не уверен, что это допустимо по условию задачи[/I]/ так зачем Вы их собираете в строчку? 3) я бы ещё и проверку добавил на уникальность длин слов (правда, об этом явно сказано в условии, но я бы проверил, правильно ли пользователь ввёл строки). 4) для таких задач (когда требуется после обработки что-то сделать с исходными данными с mian/max элементами) намного удобнее использовать переменные, в которых хранить ИНДЕКСы минимального и максимально элементов. Код:
Последний раз редактировалось Serge_Bliznykov; 26.10.2011 в 11:57. |
26.10.2011, 19:41 | #7 |
Регистрация: 12.10.2011
Сообщений: 6
|
Во-первых, огромное спасибо за программу с комментариями.
Во-вторых, собрать в строчку надо уже после того, как поменяем элементы, я просто подумал, что поменять местами эл-ты в строке легче, чем в массиве. Проверку на уникальность хотел сделать после того, как додумаюсь до замены, чего сделать не получилось. А для хранения индексов не хватило смекалки. это наверно самое печальное. смотрю на код и понимаю, что все довольно таки не так сложно, как мне показалось. Можно ли ограничить число вводимых символов? Задача: от 3 до 8, можно ли это организовать простым способом? P.S. Кстати, я думаю не обязательно использовать halt(), мне кажется достаточно сделать ввод массива через метки, а потом, посредством оператора goto перенаправить на очередной ввод массива. Можно же так, да? |
26.10.2011, 20:12 | #8 |
Пользователь
Регистрация: 30.03.2011
Сообщений: 36
|
Конечно можно, но использование меток считается дурным тоном =), но никто не запрещает их использовать.
|
26.10.2011, 20:19 | #9 |
Регистрация: 12.10.2011
Сообщений: 6
|
Тогда сделаю через процедуру
Просто препод сказал что "Вы еще процедур не знаете. Эта лаба еще не скоро." Вот и приходится через метки) Хотя знаю что и некрасиво и неудобно. А насчет ограничения вводимых символов не подскажите? a : Array [1..N] of String[8]; - это для максимума, а вот минимум как сделать? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нахождение Мин и Макс по условию | bskjohn | Microsoft Office Excel | 1 | 04.06.2011 20:55 |
двумерный массив макс мин | bwooyaka | Помощь студентам | 17 | 19.05.2011 13:17 |
нахождение мин и макс числа | Данил1986 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 07.06.2010 05:46 |
Ограничение формул МИН и МАКС | Bu$ter | Microsoft Office Excel | 2 | 29.05.2008 09:21 |