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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2012, 19:38   #1
Skyes
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 11
По умолчанию Текстовый файл, Delphi

Здравствуйте, подскажите пожалуйста как решать такую задачку?
"Пусть дан текстовый файл. Для каждой строки распечатайте слово наибольшей длины. Если их несколько, то распечатайте все."
Skyes вне форума Ответить с цитированием
Старый 10.05.2012, 21:12   #2
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Цитата:
Сообщение от Skyes Посмотреть сообщение
Здравствуйте, подскажите пожалуйста как решать такую задачку?
"Пусть дан текстовый файл. Для каждой строки распечатайте слово наибольшей длины. Если их несколько, то распечатайте все."
http://netsoftware.ucoz.ru/news/prim.../2012-04-16-36

http://netsoftware.ucoz.ru/news/dlja.../2012-05-11-59
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype

Последний раз редактировалось denisbrain; 11.05.2012 в 07:24.
denisbrain вне форума Ответить с цитированием
Старый 11.05.2012, 12:04   #3
Skyes
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 11
По умолчанию

Ой, извините, я забыл сказать что программу нужно сделать в консольном приложении
Skyes вне форума Ответить с цитированием
Старый 14.05.2012, 08:36   #4
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
Радость

Цитата:
Сообщение от Skyes Посмотреть сообщение
Ой, извините, я забыл сказать что программу нужно сделать в консольном приложении

обновил пост
http://netsoftware.ucoz.ru/news/dlja.../2012-05-11-59


консольный вариант приложения с выводом в дос окно на русском языке


Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,classes,Windows;

const
  wordchar : set of char = ['A'..'Z','a'..'z','0'..'9','А'..'Я','а'..'я','-']; // слово состосит из знаков латинского и русского алфавитов + цифры от 0 до 9 разделитель '-'


  Function WinToDos(const S: string):string;
var
  NewStr: string;
begin
  SetLength(NewStr, Length(S));
  Windows.CharToOem(PChar(S), PChar(NewStr));
  result:=NewStr;
end;


var s:string; // строка
    s2:string; // слово
    maxLenWord:integer; // длина максимального слова в строке
    row:integer; // счетчик строк
    L:integer; // длина строки
    x:integer; // счетчик для цикла по все длине строки
    result:TstringList;
    InutStringList:TstringList;
begin
  if fileage('File.txt')>0 then begin
  InutStringList.LoadFromFile('File.txt');
  result:=TstringList.Create;
  InutStringList:=TstringList.Create;
  for row:=0 to InutStringList.Count-1 do begin // цикл по строкам

      s:=InutStringList[row];
      if s<>'' then
      result.add('в строке №'+Inttostr(row)+' Самое длинное слово (слова)');
      L:=length(s);
      s2:='';
      maxLenWord:=-1;
      // поиск максимального по длине слова в строке S
        for x:=1 to l do begin
           if s[x] in wordchar then s2:=s2+s[x] // если символ входит в символы из которых может быть составленно слово то записываем его
           else begin
               if maxLenWord<Length(s2) then maxLenWord:=Length(s2); // если длина найденного слова больша длины предидущего слова то запомнить длину слова
              s2:='';
           end;
        end;

        for x:=1 to l do begin
           if s[x] in wordchar then s2:=s2+s[x] // если символ входит в символы из которых может быть составленно слово то записываем его
           else begin
               if maxLenWord=Length(s2) then result.Add(s2); // если длина одинакова то выводим слово
              s2:='';
           end;
        end;

  end;
  // вывод результата на экран
  for x:=1 to l do Writeln(WinToDos(result[x]));

 end else Writeln(WinToDos('Файл не найден '));


   readln;

end.
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать и обработать текстовый файл (Delphi) Result007 Помощь студентам 0 06.12.2011 16:41
Текстовый файл (delphi) Ketrin29 Помощь студентам 0 17.01.2011 11:47
MainMenu и текстовый файл (delphi) LightJulia Помощь студентам 7 06.06.2010 14:29
Delphi. текстовый файл AlexandЯ Помощь студентам 6 23.04.2009 10:58
задача на текстовый файл в delphi [Drumm-are-turG] Помощь студентам 1 27.12.2008 15:42