Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2011, 08:39   #1
Iskorka92
 
Регистрация: 13.11.2011
Сообщений: 6
По умолчанию ФАЙЛЫ

помогите пожалуйста решить задачку. Буду очень признательна.имеется текстовый файл. Напечатать слово,образованное первыми буквами каждой строки.
Iskorka92 вне форума Ответить с цитированием
Старый 14.11.2011, 09:12   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Искорка, можно делать примерно так:
Код:
const
  LatAlphabet= ['A'..'Z'] + ['a'..'z'];
var
  c: char;
  f: text;
  w: string;

begin
  // assign and open file here ...
  w:= '';   // clear the word
  while not EoF do begin   // while file not over
    c:= ' ';                    // in case there is a letter in c
    while not EoLn(f) and not c in LatAlphabet do read(f,c);  // to omit all chars before first letter
    readln(f);          // to the next line
    if c in LatAlphabet then w:= w+c;   // add the found letter to the word
  end;
  close(f);
  writeln('the word made of first characters of each line is: ',w);
  readln
end.
Предпочитаю на "ты".

Последний раз редактировалось TinMan; 14.11.2011 в 09:55. Причина: добавил коммент
TinMan вне форума Ответить с цитированием
Старый 14.11.2011, 09:32   #3
Iskorka92
 
Регистрация: 13.11.2011
Сообщений: 6
По умолчанию

можно и на "ты".спасибо большое. Пошла разбираться.:-)
Iskorka92 вне форума Ответить с цитированием
Старый 14.11.2011, 18:23   #4
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

А я бы чуть проще сделал, чтобы не пугать лишними сущностями вроде eoln и разницы read и readln
Код:
const letters=['a'..'z', 'A'..'Z']; {буквами считать только латинские}
var result, tmp:string;
    i:integer;
    f:text;
begin
	result:='';
	assign(f, 'file.txt');
	reset(f); {открыть для чтения}
	while not eof(f) do {пока не конец файла}
	begin
		readln(f, tmp); {прочитать строчку}
		for i:=1 to length(tmp) do {найти в ней первую букву}
			if tmp[i] in letters then
			begin
				result:=result+tmp[i]; {дописать ее к слову}
				break; {закончить поиск}
			end;
	end;
	writeln('Word is ', result);
	close(f);
end.
Хотя, скорее всего задание подразумевало просто прибавление первого символа строки, а не первой буквы.
Son Of Pain вне форума Ответить с цитированием
Старый 14.11.2011, 23:57   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Хотя, скорее всего задание подразумевало просто прибавление первого символа строки, а не первой буквы.
+1

представляю, как ошалеет преподаватель, когда результатом решения предполагалось что-то типа:
Код:
var tmp : string;
     f : text;
begin
     assign(f, 'file.txt');
     reset(f); {открыть для чтения}
     while not eof(f) do {пока не конец файла} begin
           Readln(f,tmp);
           if length(tmp)>0 then Write(tmp[1]);
      end;
      WriteLn;
      Close(f);
      Readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.11.2011, 08:12   #6
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
Хотя, скорее всего задание подразумевало просто прибавление первого символа строки, а не первой буквы.
Я тоже так подумал, но тем не менее условие поставлено конкретно и недвусмысленно. И в таком случае я предпочитаю точно ему следовать .
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы (текстовые файлы) Finn4ik Помощь студентам 0 25.04.2011 21:42
Не сохраняет файлы (Создает файлы пустышки) Rock231 Помощь студентам 2 25.12.2010 12:31
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
файлы Olka... Общие вопросы C/C++ 0 25.03.2010 19:20
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53