Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

перевести с си на паскаль..

68K
06 июля 2011 года
екатерина новикова
10 / / 06.07.2011
#include <stdio.h>


char* ch_strcpy(char* dst, const char* src, char ch) {
char* iter = dst;
while( *src ) {
if( *src++ == ch )
break;
}
while( *src != '\0' && *src != ch) {
*iter = *src++;
++iter;
}
*iter = '\0';
return dst;
}


int main(void)
{
char str[128];
ch_strcpy(str, "Today day dark: animals - sheep, cat, tiger: fox !", ':');

puts(str);

getchar();
return 0;
}
278
06 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Вариант 1. "Дословный перевод".
Код:
program Prog1;
uses Crt;

procedure StrCpyCh(var dest: string; src: string; delim: char);
var
  i: integer;
begin
  i := 1;
  while (i <= Length(src)) and (src <> delim) do
    Inc(i);
  Inc(i);
  while (i <= Length(src)) and (src <> delim) do
  begin
    dest := dest + src;
    Inc(i);
  end;
end;

var
  s: string;

begin
  StrCpyCh(s, 'Today day dark: animals - sheep, cat, tiger: fox !', ':');
  WriteLn(s);
end.



Вариант 2. "Литературный перевод".
Код:
program Prog2;
uses Crt;

procedure StrCpyCh(var dest: string; src: string; delim: char);
var
  p: integer;
  temp: string;
begin
  p := Pos(delim, src);
  if p = 0 then dest := src else
  begin
    temp := Copy(src, p+1, Length(src)-p);
    p := Pos(delim, temp);
    if p = 0 then dest := temp else dest := Copy(temp, 1, p-1);
  end;
end;

var
  s: string;

begin
  ClrScr;
  StrCpyCh(s, 'Today day dark: animals - sheep, cat, tiger: fox !', ':');
  WriteLn(s);
  ReadLn;
end.
68K
06 июля 2011 года
екатерина новикова
10 / / 06.07.2011
на экран выводится "Today day dark" а должно "animals - sheep, cat, tiger"
278
06 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Подправил. :) Невнимательно исходный код прочитал.
68K
06 июля 2011 года
екатерина новикова
10 / / 06.07.2011
теперь выводит "animals - sheep, cat, tiger: fox !"
278
06 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Бррр, старею. :) Проверяйте.:)
68K
06 июля 2011 года
екатерина новикова
10 / / 06.07.2011
спасибо огромное:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог