|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.12.2007, 14:46 | #1 |
Новичок
Джуниор
Регистрация: 15.12.2007
Сообщений: 1
|
помогите с задачей разобраться
Имеется текстовый файл, каждая строка которого содержит следующие данные: книга; автор; колличество. Создать новый файл, содержащий только книги автора, фамилия которого вводится.
Цитата 1 var surname,s,s1:string; 2 begin 3 write('Введите фамилию: '); 4 readln(surname); 5 assign(input,'input.txt'); 6 reset(input); 7 assign(output,'output.txt'); 8 rewrite(output); 9 while not eof(input) do begin 10 readln(s); 11 s1:=copy(s,1,pos(';',s)-1); 12 delete(s,1,pos(';',s)); 13 while (length(s)>0) and (s[1]=' ') do delete(s,1,1); 14delete(s,pos(';',s),length(s)-pos(';',s)+1); 15while (length(s)>0) and (s[length(s)]=' ') do delete(s,length(s),1); 16if surname=s then writeln(s1); 17end; 18close(input); 19close(output); 20end. может кто мне обяснить начиная с 11 и по 16 строчку что происходит...может кто прокментировать каждую строчку...особенно не ясно копи .... Заранее спасибо |
16.12.2007, 15:43 | #2 |
Форумчанин
Регистрация: 11.11.2007
Сообщений: 136
|
[/code]
11 s1:=copy(s,1,pos(';',s)-1); {s1 получается путем копирования из s начиная с первого члена до первого встречного знака ";"} 12 delete(s,1,pos(';',s)); {Удаляет из строки s все символы начиная с первого и до первого встречного ";"} 13 while (length(s)>0) and (s[1]=' ') do delete(s,1,1); {цикл пока длина слова s>0 и первый символ слова s равен '<пробел>'} 14 delete(s,pos(';',s),length(s)-pos(';',s)+1);{удаляет из слова s начиная с ";" до длины(S)-позиция_первого_";"+1} 15 while (length(s)>0) and (s[length(s)]=' ') do {цикл пока длина(s)>0 и последний символ слова s равен '<пробел>'} delete(s,length(s),1);{удаляет последний символ слова s} 16 if surname=s then writeln(s1);{если surname=s то выводим s1}[/code]
ICQ - 446037211
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна помощь с задачей...никак не могу разобраться( | Gekata | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 13.12.2006 14:02 |