![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
setare |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 152 Пол: Женский Репутация: ![]() ![]() ![]() |
Помогите пожалуйста!!! Задача очень простая, но я в ней запуталась. Есть файлб в нем в каждой строчке написана дата (дд/мм/гг). Строчек не больше 20. Нужно вывести даты на экран и сортировать их в порядке возрастания.
Ниже будет примерный код задачи, который я написала, но который не сортирует. Скажите, пожалуйста что где нужно добавить! Спасибо! Код program exam_my; type str20=string[20]; mas=array[1..20]of str20; var f:text; i:byte; flname:string[10]; x:mas; y:string[20]; procedure vivod(var f:text;x:mas); var i:integer; begin for i:=1 to 20 do writeln(x[i]); end; function minimum(const x:mas):integer; var i,min:integer; begin for i:=1 to 20 do for min:=1 to 20 do if x[i]<x[min] then minimum:=i else minimum:=min; end; procedure change(const x:mas); var i,min,z:integer; begin for i:=1 to 20 do for min:=1 to 20 do if x[i]<x[min] then begin z:=x[i]; x[i]:=x[min]; x[min]:=z; end; end; procedure sort(var x:mas); var i:integer; begin for i:=1 to 20 do minimum(x); change(x); end; begin writeln('ўўҐ¤ЁвҐ Ё¬п д ©« '); readln(flname); assign(f,flname); {$I-} reset(f); {$I+} if Ioresult=0 then begin for i:=1 to 20 do readln(f,y); sort(x); vivod(f,x); end else writeln('¤ л© д ©« Ґ бгйҐбвўгҐв'); readln; end. Сообщение отредактировано: volvo - 30.01.2005 19:04 -------------------- Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.
Нима |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
setare
Попробуй вот так: Код program exam_my; type str20=string[20]; mas=array[1..20]of str20; var f:text; i:byte; flname:string[10]; x:mas; procedure vivod(x: mas); var i:integer; begin for i:=1 to 20 do writeln(x[i]); end; procedure sort(var x: mas); function checkdata(s: string): string; begin checkdata := copy(s, 7, 4) + copy(s, 4, 2) + copy(s, 1, 2) end; var i, j: integer; T: str20; begin For i := 1 To 20 Do For j := 20 DownTo i+1 Do If checkdata(x[j-1]) > checkdata(x[j]) Then Begin T := x[j-1]; x[j-1] := x[j]; x[j] := T End end; begin writeln('ўўҐ¤ЁвҐ Ё¬п д ©« '); readln(flname); assign(f,flname); {$I-} reset(f); {$I+} if Ioresult=0 then begin i := 1; while not eof(f) do begin readln(f,x[i]); i := i + 1; end; sort(x); vivod(x); close(f) end else writeln('¤ л© д ©« Ґ бгйҐбвўгҐв'); readln; end. По-моему, должно работать... (Присоединенный файл - с исходными данными - для теста) Сообщение отредактировано: volvo - 30.01.2005 20:06 Прикрепленные файлы ![]() |
setare |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 152 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо большое, сейчас попробую!
-------------------- Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.
Нима |
setare |
![]()
Сообщение
#4
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 152 Пол: Женский Репутация: ![]() ![]() ![]() |
Большое вам спасибо!!!!!! Я разобралась!!!!!!!!!!!!!Спасибооо!
-------------------- Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.
Нима |
setare |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 152 Пол: Женский Репутация: ![]() ![]() ![]() |
Извините! Но можно вам задать ещё один вопрос. А почему ма складываем копируемые символы? Я никак не могу понять. И извините, если вам кажутся мои вопросы глуппыми, просто мне не у кого спрашивать и в учебниках это особо не объясняется, а также я паскалем занимаюсь только 3 месяца, до этого не слышала даже про этот язык прграммирования, поэтому приходится беспокоить вас. Заранее благодарю.
-------------------- Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.
Нима |
APAL |
![]()
Сообщение
#6
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
При складывании символов получается строка.
[OffTop] setare, Ты он ли она? Судя по сообщениям - "она"... А судя по инфе в профиле - "он"... [/OffTop] -------------------- |
setare |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 152 Пол: Женский Репутация: ![]() ![]() ![]() |
Я она! :P
-------------------- Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.
Нима |
setare |
![]()
Сообщение
#8
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 152 Пол: Женский Репутация: ![]() ![]() ![]() |
Ещё раз, извините!!! А как отсортировать массив в обратном порядке. Я пользовалась поиском и faq , но к сожалению не нашла. Там везде сортировка в прямом порядке, а как в обратном.
-------------------- Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.
Нима |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
setare
В условии: Код If checkdata(x[j-1]) > checkdata(x[j]) Then меняем знак с ">" на "<" И все... ;) |
Altair |
![]()
Сообщение
#10
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
offtop
setare, я отредактировал ваш профиль - указал что вы "она" ![]() end. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 19:10 |