![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
jackal |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Люди посмотрите мою ещё "сырую" прогу!
Привет всем! Вот имеется прога по файлам: Имеется текстовфй файл. Нужно поменять в файле максимальную строку на минимальную и наооборот.(Естесственно записать всё это в файл). Максимум и минимум в файле нашёл. Но как поменять? И записать? Пробовал через write(f,x) пишет Runtime 105 error! Подскажите плиз! Код program kontr1; uses wincrt; type myfile=text; var f:myfile; a,max,min1:string; min:byte; begin assign(f,'e:bptimka1.txt'); reset(f); max:=''; min:=255; while not eof(f) do while not eoln(f) do begin readln(f,a); if length(a)>length(max) then max:=a; if length(a)<min then begin min:=length(a); min1:=a; end; end; writeln(max); writeln(min1); close(f); end. Сообщение отредактировано: volvo - 17.12.2004 12:39 |
![]() ![]() |
___ALex___ |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 282 Репутация: ![]() ![]() ![]() |
Код program For_jackal; uses Crt; var InF, OutF: Text; S, MaxStr, MinStr: String; NStrMax, NStrMin, i, MinLen: Word; MaxLen: Byte; Begin ClrScr; Assign(InF, 'C:SFile.txt'); Reset(InF); MaxLen := 0; MinLen := 256; while not Eof(InF) do begin Inc(i); ReadLn(InF, S); if MaxLen < Length(S) then begin MaxLen := Length(S); NStrMax := i; MaxStr := S; end; if MinLen > Length(S) then begin MinLen := Length(S); NStrMin := i; MinStr := S; end; end; if (i < 2) or (MinLen = MaxLen) then Exit; Assign(OutF, 'C:OutFile.txt'); Rewrite(OutF); Reset(InF); i := 0; while not Eof(InF) do begin Inc(i); ReadLn(InF, S); if i = NStrMax then WriteLn(OutF, MinStr) else if i = NStrMin then WriteLn(OutF, MaxStr) else WriteLn(OutF, S); end; Close(InF); Erase(InF); Close(OutF); Rename(OutF, 'C:SFile.txt'); Write('Операция прошла успешно'); repeat until KeyPressed End. раз уж написал ;) Сообщение отредактировано: volvo - 17.12.2004 12:41 |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 22:50 |