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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2017, 15:07   #1
Saruman!
Пользователь
 
Регистрация: 17.10.2016
Сообщений: 11
По умолчанию Помогите пожалуйста перевести код с Pascal в Си

Условие задачи

Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены пробелами и знаками препинания. Файл f2 содержит не более 30 слов, которые разделены запятыми. Эти слова образуют пары: каждое второе является синонимом первого. Заменить в файле f1 те слова, которые можно, их синонимами. Результат поместить в новый файл.

Код:
Program maz777;
Uses crt; {* Подключение модулей *}
Const {* Предопределенные *}
  pr = [' ', '.', ', ', '?', '!', ':', '(', ')',#9,#10,#13];
Var {* Объявление переменных *}
  s     : char;
  f1    : text;
  f2    : text;
  f3    : text;
  slovo : String;
  sin1  : Array [1..15] Of String;
  sin2  : Array [1..15] Of String;
  i     : integer;
  k     : integer;
Begin
  clrscr; {* Очистка экрана *}
  assign(f1, 'c:f1.txt'); {* Подключение к файлу 'c:f1.txt' через переменную f1 *}
  reset(f1); {* Открытие файла для чтения *}
  assign(f2, 'c:f2.txt'); {* Привязка переменной f2 к файлу 'c:f2.txt' *}
  reset(f2); {* Чтение из файла через переменную f2 *}
  assign(f3, 'c:f3.txt'); {* Связывание f3 с файлом 'c:f3.txt' *}
  rewrite(f3); {* Открытие файла для записи *}
  i := 1;
  While Not(EOF(f2)) Do
  Begin
    read(f2, s);
    If ord(s) In [128..143] Then
      s := chr(ord(s) + 32);
    If ord(s) In [144..159] Then
      s := chr(ord(s) + 80);
    If Not(s In pr) And Not EOF(f2) Then
      slovo := slovo + s
    Else Begin
      If slovo'' Then
      Begin
        If (i Mod 2)  0 Then
          sin1[round(i / 2 + 0.5)] := slovo
        Else sin2[round(i / 2)] := slovo;
          i := i + 1;
        slovo := '';
      End;
    
  End;
  
End;
While Not(EOF(f1)) Do
Begin
  read(f1, s);
  If ord(s) In [128..143] Then
    s := chr(ord(s) + 32);
  If ord(s) In [144..159] Then
    s := chr(ord(s) + 80);
  If Not(s In pr) And Not EOF(f1) Then
    slovo := slovo + s
  Else Begin
    For i := 1 To 15 Do {* Переменная i увеличивается с 1 до 15 *}
    Begin
      If slovo = sin1[i] Then
      Begin
        slovo := sin2[i];
        k := 1;
      End;
      Else k := 0;
        If (slovo = sin2[i]) And (k = 0) Then
          slovo := sin1[i];
    End;
  write(f3, slovo, s);
  slovo := '';
End;
 
End;
close(f1); {* Закрытие файла *}
close(f2); {* Файл f2 будет закрыт *}
close(f3); {* Закрыть файл f3 *}
End.
Saruman! вне форума Ответить с цитированием
Старый 27.05.2017, 15:21   #2
MansMI
Пользователь
 
Регистрация: 04.07.2012
Сообщений: 32
По умолчанию

mansmi@rambler.ru пишите
MansMI вне форума Ответить с цитированием
Старый 28.05.2017, 07:38   #3
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Если актуально, обращайтесь.
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 28.05.2017, 23:13   #4
JIeIIIa
Пользователь
 
Регистрация: 21.12.2011
Сообщений: 54
По умолчанию

Если еще актуально, пишите: stealth(собака)bigmir.net
Сразу указывайте на когда нужна работа и предполагаемый бюджет.
JIeIIIa вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста перевести код из Delphi в C++ Builder. Какие тут ошибки? Alina96 Помощь студентам 0 05.04.2017 22:55
Помогите пожалуйста перевести код программы из Паскаля в Делфи svend Помощь студентам 3 20.03.2016 10:14
помогите пожалуйста перевести программу с Pascal на c++Builder hygjggjg Помощь студентам 0 22.10.2015 11:21
помогите перевести код Pascal в код Lazarus Ляйсан9517 Lazarus, Free Pascal, CodeTyphon 13 22.05.2014 17:19