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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2016, 23:09   #1
yana1996
Пользователь
 
Регистрация: 02.12.2015
Сообщений: 38
По умолчанию pascal в С

Помогите пожалуйста переделать код с Pascal в С
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  f:textfile;
  s:string;
begin
  assignfile(f,'fin.txt');
  rewrite(f);
  s:=memo1.text;
  write(f,s);
  closefile(f);
end;
 
function GetToken(aString: string; TokenNum: Byte): string;
 
var
  SepChar: string;
  Token: string;
  StrLen: Byte;
  TNum: Byte;
  TEnd: Byte;
begin
  SepChar:=' '; // разделяем слова на пробелы
  StrLen := Length(aString);
  TNum := 1;
  TEnd := StrLen;
  while ((TNum <= TokenNum) and (TEnd <> 0)) do
  begin
    TEnd := Pos(SepChar, aString);
    if TEnd <> 0 then
    begin
      Token := Copy(aString, 1, TEnd - 1);
      Delete(aString, 1, TEnd);
      Inc(TNum);
    end
    else
    begin
      Token := aString;
    end;
  end;
  if TNum >= TokenNum then
  begin
    GetToken := Token;
  end
  else
  begin
    GetToken := '';
  end;
end;
 
 
procedure TForm1.Button2Click(Sender: TObject);
const
 gl=['A','a','E','e','I','i','O','o','U','u','Y','y']; //
var
  f:textfile;
  TObjectf2:file of myRec;
  sClientS,sClientS1,sClientS2,sClientS3:string;
  k,i,j:byte; //Вспомогательные переменые
  rec1:myRec;
begin
  memo2.clear;
  assignfile(f,'fin.txt');
  assignfile(TObjectf2,'fout.dat');
  reset(f); //Открыть
  rewrite(TObjectf2); //Создать , перезаписать файл
  k:=strtoint(edit1.text);//ВВодим число
  while not eof(f) do
    begin
      read(f,sClientS);// Читать из файла строку
    end;
  sClientS1:=GetToken(sClientS,k);//вызов функции
  j:=0;
  for i:=1 to length(sClientS1) do //Количество букв в слове
   begin
    if sClientS[i] in gl then inc(j); //Подсчет гласных букв
   end;
  sClientS2:=inttostr(j);
  sClientS3:=inttostr(length(sClientS1));
  memo2.lines.add('Слово: '+sClientS1);
  if k>i-i  then
  showmessage ('под таким номером слова нет');
  memo2.lines.add('Количество гласных: '+sClientS2);
  memo2.lines.add('Длина слова: '+sClientS3);
  rec1.str:=sClientS1;
  rec1.NubGl:=j;
  rec1.Leng:=length(sClientS1);
  write(TObjectf2,rec1);
  closefile(f);
  closefile(TObjectf2);
 
end;
yana1996 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построить алгоритм в виде блок-схем и написать соответствующую программу на языке Pascal / Pascal ABC IgorMyakota Паскаль, Turbo Pascal, PascalABC.NET 9 06.03.2014 07:32
pascal abc, pascal turbo. выборка данных из одного .txt в другой ТипичныйСтудент Помощь студентам 6 27.04.2013 15:29
Задача turbo pascal на тему: файлы с произвольным доступом в Pascal ExCiTeC Паскаль, Turbo Pascal, PascalABC.NET 0 28.01.2013 20:36
Программы в Pascal, среда pascal ABC. Лабораторные работы Одинокая Волчица Фриланс 8 10.02.2012 20:09
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28