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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2007, 21:56   #11
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Примерно так
Код:
k:=0;
while not eof(f) do
  begin
    readln(f,s);
    repeat
      if (UpCase(s[1]) in ['A'..'Z']) or (s[1] = '_') then k:=k+1;
      n:=pos(' ',s);
      delete(s,1,n);
    until n=0;
  end;
Пишу без тестирования, могут быть ошибки
_Dmitry вне форума Ответить с цитированием
Старый 03.12.2007, 22:03   #12
Dianochka
Пользователь
 
Регистрация: 29.11.2007
Сообщений: 32
По умолчанию

мало чем помогло....
Dianochka вне форума Ответить с цитированием
Старый 04.12.2007, 05:19   #13
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Во-первых, дико извиняюсь, что пришлось вчера оставить форум не дав ответа (NetHana Error)
Во-вторых, Dianochka, вы так и не дали хорошего описания задаче. Что такое идентификаторы. Может я чего-то и не знаю. Но ведь все мы люди и нам свойственно не знать всего. И скажите, на милость, я ведь не телепат. Как мне понять какие из этих самых идентификаторов правельные, а какие нет. Неужели приведенный вами текст - это полный текст задачи.
Вот ответ на то, как я вас понял:

Код:
const
  GoodIdentif: array [0..3] of String = ('Rulezzz', 'Good', 'ОК', 'Horosho'); // Перечень правельных начал идентификаторов
  GoodChar = ['_', '0'..'9', 'A'..'z', 'a'..'z']; // Перечень символов, из которых состоят идентификаторы
var
  i: Integer;
  c: Char;
  s: String;
  OutputFile, InputFile: TextFile;
  Count: Integer;
begin
  AssignFile (OutputFile, 'My.txt');
  AssignFile (InputFile, 'New.txt');

  Reset (OutputFile);
  Rewrite (InputFile);

  Count := 0;
  s := '';
  while not Eof (OutputFile) do begin
    Read (OutputFile, c);
    if c in GoodChar then begin
      s := s + c;
    end
    else begin
      if s <> '' then begin
        for i := 0 to 3 do begin
          if Pos (GoodIdentif [i], s) = 1 then begin
            Writeln (InputFile, s);
            Inc (Count);
            Break;
          end;
        end;
        s := '';
      end;
    end;
  end;

  s := 'Всего правельных идентификаторов = ' + IntToStr (Count);
  Writeln (InputFile, s);

  CloseFile (OutputFile);
  CloseFile (InputFile);
end;

Последний раз редактировалось Sibedir; 04.12.2007 в 08:27.
Sibedir вне форума Ответить с цитированием
Старый 04.12.2007, 08:18   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Здравствуй Дианочка, по твоему условию тебе подойдет вот такой пример:
Код:
var f:text;s:string;k,l:integer;
begin
 assign(f,'qw.txt');
 reset(f);
 while not eof(f) do begin
  readln(f,s);
  k:=1;
  while s[k] in ['a'..'z','_','A'..'Z','0'..'9'] do
   inc(k);
  if (k-1=length(s))and(s[1] in ['_','0'..'9']) then
     writeln(s);
 end;
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.12.2007, 13:25   #15
Dianochka
Пользователь
 
Регистрация: 29.11.2007
Сообщений: 32
По умолчанию

Большое спасибо))) Чтобы я без вас делала))
Dianochka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Русские идентификаторы в Delphi for .Net (BDS 2006) natador Общие вопросы Delphi 0 20.06.2008 17:55