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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2011, 00:27   #1
death65
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию Реализовать работу с файлом

Помогите реализовать работу с файлом.

Код:
program Project1;
 
//В словах с чётным количеством букв удаляет первую букву, в словах
//с нечётным количеством букв, удаляет последнюю и среднюю буквы, если
//в слове больше одной буквы. Если в слове одна буква - такие слова не изменяются.
procedure ProcStr(var aStr : String);
const
  //Множество разделителей слов.
  D = [' ', '.', ',', ':', ';', '!', '?', '-', #9, #10, #13];
var
  i, Pos2, Len, LenW : Integer;
begin
  Len := Length(aStr);
  Pos2 := 0;
  for i := Len downto 1 do begin
    //Если очередной символ является разделителем - пропускаем его.
    if aStr[i] in D then Continue;
    //Отслеживаем конец слова.
    if (i = Len) or (aStr[i + 1] in D) then Pos2 := i;
    //Отслеживаем начало слова.
    if (i = 1) or (aStr[i - 1] in D) then begin
      //Длина слова.
      LenW := Pos2 - i + 1;
      if LenW mod 2 = 0 then begin
        //Имеем чётное кол-во букв - удаляем первую букву.
        Delete(aStr, i, 1);
      end else if LenW > 1 then begin
        //Имеем нечётное кол-во букв, большее 1 - удаляем последнюю
        //и среднюю буквы.
        Delete(aStr, Pos2, 1);
        Delete(aStr, (i + Pos2) div 2 , 1);
      end;
    end;
  end;
end;
 
var
  S : String;
begin
  repeat
    Writeln('Задайте строку:');
    Readln(S);
 
    ProcStr(S);
 
    //Ответ:
    Writeln('Строка после обработки:');
    Writeln(S);
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
death65 вне форума Ответить с цитированием
Старый 14.02.2011, 15:24   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Раз Вы написали вышеуказанный код, реализовать следующий алгоритм не составит проблемы, я думаю.

Цитата:
1) Открыть файл на чтение
2) Считать из него данные в строковую переменную
3) Строковую переменную передать в функцию.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 14.02.2011, 17:18   #3
death65
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию

спасибо учту
death65 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с файлом Iliya Помощь студентам 1 16.12.2010 11:41
Проблема с файлом Blue Sky Помощь студентам 0 14.12.2010 14:30
Проблема с файлом Владимир 123 Microsoft Office Excel 16 12.12.2010 13:14
С++ работа с файлом. НедоВовик Помощь студентам 1 05.07.2009 18:22
помогите с файлом АмDeaD Помощь студентам 2 10.02.2009 21:23