|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.06.2010, 00:00 | #1 |
Новичок
Джуниор
Регистрация: 06.06.2010
Сообщений: 2
|
Как можно переделать под типизированный
uses crt;
type stud=record fam,grp:string[20]; end; mas=array[1..300] of stud; procedure ReadFile(var f:text;var a:mas;var n:integer;var b:byte); var nf,s:string; begin b:=0; write('Имя файла для чтения: '); readln(nf); nf:=nf+'.txt'; assign(f,nf); {$I-} reset(f); {$I+} if IOResult <> 0 then begin b:=1; writeLn('Не могу открыть файл ',nf); writeLn('Работа программы завершена. Нажмите ENTER'); readln; exit; end; n:=0; while not eof(f) do begin readln(f,s); n:=n+1; a[n].fam:=copy(s,1,pos(' ',s)-1); delete(s,1,pos(' ',s)); a[n].grp:=s; end; close(f); end; procedure Sort(var a:mas;n:integer); var i,j:integer; x:stud; begin for i:=1 to n-1 do for j:=i+1 to n do if a[i].grp>a[j].grp then begin x:=a[i]; a[i]:=a[j]; a[j]:=x; end; end; procedure WriteFile(var f:text;a:mas;n:integer); var i:integer; nf:string; begin write('Имя файла для записи: '); readln(nf); nf:=nf+'.txt'; assign(f,nf); rewrite(f); for i:=1 to n do begin if (a[i].grp<>a[i-1].grp)or(i=1) then begin writeln(f,''); writeln(f,a[i].grp); writeln(f,' ',a[i].fam); end else writeln(f,' ',a[i].fam); end; close(f); write('Список переписан в файл ',nf); readln end; var f,g:text; sp:mas; n:integer; w:byte; begin clrscr; ReadFile(f,sp,n,w); if w=1 then exit else begin Sort(sp,n); WriteFile(g,sp,n); end end. Петров Г123 Иванов Г124 Сидоров Г123 |
07.06.2010, 08:37 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Код:
|
07.06.2010, 11:55 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
а в процедуре чтения ReadFile заменить цикл на такой: Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
переделать под windows | al072 | C/C++ Сетевое программирование | 13 | 16.02.2010 20:57 |
Помогите,как переделать текст проги Borland С++ Builder под Microsoft visual C++ 6.0 | retpecub | Visual C++ | 9 | 15.06.2009 12:17 |
как Microsoft Access(ADOConnection ADOTable DataSource DBGrid) переделать под mySQL? | Levsha100 | БД в Delphi | 6 | 23.05.2009 19:48 |
Как можно переделать прогу (С++) | Olya90 | Помощь студентам | 5 | 31.03.2009 15:32 |