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

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

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

 
 Ответить  Открыть новую тему 
> Помогите решитб задачу, Сортировка символьного массива
Андревка
сообщение 16.05.2014 9:23
Сообщение #1





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

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


Здравствуйте форумчане. Попалась такая задача, помогите разобраться.

Заданы три строковых массива a,b,c- фамилия имя отчество. Необходимо отсортировать массивы либо по Имени либо по Фамилии или Отчеству. Вывести оба массива.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 16.05.2014 19:14
Сообщение #2


Бывалый
***

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

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


Покажи, что ты вообще знаешь.
Покажи, как ты сортируешь хоть один массив.
Для сортировки одновременно трёх - можно попробовать такой метод

.............................
procedure sort(var m: TMass; - это массив, по которому будет сортировка
var a, b: TMass); - над этими массивами будет проводится синхронная с m сортировка
...................................................
begin
...................
if надо переставить элементы массива then
begin
exchange(m[i], m[j]); - это нужно по логике сортировки

{синхронно переставляем элементы в других массивах}
exchange(a[i], a[j]);
exchange(b[i], b[j]);
end;
...................
end;

begin
sort(a, b, c); - сортировка по имени
sort(b, a, c); - сортировка по отчеству
sort(c, a, b); - сортировка по фамилии
end.


Если это получится, можешь попробовать улучшение - при сортировке перемещать не элементы массива, а значения в дополнительном массиве сортированных индексов.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Андревка
сообщение 19.05.2014 8:02
Сообщение #3





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

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


Спасибо за ответ! Я пытался решить эту задачу без процедуры, путем простого выбора одномерных массивов.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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