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

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

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

> "Сырая прога"
jackal
сообщение 2.05.2003 9:46
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17

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


Люди посмотрите мою ещё "сырую" прогу!

Привет всем!
Вот имеется прога по файлам:
Имеется текстовфй файл. Нужно поменять в файле максимальную строку на минимальную и наооборот.(Естесственно записать всё это в файл).

Максимум и минимум в файле нашёл. Но как поменять? И записать?
Пробовал через 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
___ALex___
сообщение 2.05.2003 17:34
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 282

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


Код
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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
jackal   "Сырая прога"   2.05.2003 9:46
AlaRic   Re:   2.05.2003 15:36
jackal   Re:   2.05.2003 15:53
___ALex___   Re:   2.05.2003 15:55
GLuk   Re:   2.05.2003 15:56
jackal   Re:   2.05.2003 16:07
jackal   Re:   2.05.2003 16:17
___ALex___   Re:   2.05.2003 16:28
jackal   Re:   2.05.2003 16:50
___ALex___   Re:   2.05.2003 17:34
AlaRic   Re:   2.05.2003 18:45


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

 



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