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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2008, 17:16   #1
номак
 
Аватар для номак
 
Регистрация: 04.01.2008
Сообщений: 3
По умолчанию помогите пожалуйста описать две функции

1)функция 1
BEFORATNUM(C1,C2:string;N1,N2:byte) :string-возвращает начало строки С1,в которой осуществляется поиск с позиции N2 подстроки С2 с номером вхождения N1. Возвращаются все символы строки С1 до начала указанного вхождения.
2)функция 2
CHARADD(C1, C2:string):string-кодирования строки С1 путем побайтного сложения по модулю 256 со строкой С2. Если строка С2 короче, чем строка С1, то по её окончании все повторяется с первого символа С2.
номак вне форума Ответить с цитированием
Старый 05.01.2008, 20:49   #2
Vituskz
Пользователь
 
Регистрация: 08.12.2007
Сообщений: 32
По умолчанию

Вот вторая функция:
Код:
Function CharADD(C1,C2:String):String;
Var
 i,j:Integer;
 s:String;
Begin
 s:='';j:=0;
 For i:=1 To Length(C1) Do
 Begin
  j:=j+1;
  s:=s+chr(ABS(ord(C1[i])+ord(C2[j])));
  IF (j+1)>Length(C2) Then j:=0;
 End;
 CharADD:=s;
End;
Begin
 Writeln(CharADD('AB','A'));
End.
PS.Извини если не так что то понял...
Vituskz вне форума Ответить с цитированием
Старый 06.01.2008, 13:33   #3
номак
 
Аватар для номак
 
Регистрация: 04.01.2008
Сообщений: 3
По умолчанию

Спасибо)...а первую никто не знает как сделать...мне лично само задание не понятно
номак вне форума Ответить с цитированием
Старый 06.01.2008, 15:16   #4
Vituskz
Пользователь
 
Регистрация: 08.12.2007
Сообщений: 32
По умолчанию

Я долго пытался вникнуть в суть задачи, но не могу врубиться, что и как там надо сделать...Если мне кто нить объяснит, то я попытаюсь ее решить...
Vituskz вне форума Ответить с цитированием
Старый 07.01.2008, 12:39   #5
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от номак Посмотреть сообщение
2)функция 2
CHARADD(C1, C2:string):string-кодирования строки С1 путем побайтного сложения по модулю 256 со строкой С2. Если строка С2 короче, чем строка С1, то по её окончании все повторяется с первого символа С2.
Код:
function CHARADD(C1, C2:string):string;
var
  I, N: Integer;
  S: string;
begin
  S := '';
  N := 1;

  for I := 1 to Length(C1) do
    begin
      S := S + Chr(Ord(C1[I]) xor Ord(C2[N]));
      N := N + 1;
      if N > Length(C2) then N := 1;
    end;

  CHARADD := S;
end;
Только стоит учесть, что в полученной строке могут быть любые символы, в том числе и непечатаемые (т.е. от #0 до #255) - при попытке вывести такую строку на экран/принтер могут возникать неожиданные эффекты.
Jeni вне форума Ответить с цитированием
Старый 08.01.2008, 21:31   #6
номак
 
Аватар для номак
 
Регистрация: 04.01.2008
Сообщений: 3
Радость спасибо

Спасибо огромное, вторая функция прекрасно работает
номак вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
где описать переменную Manitu Помощь студентам 2 14.05.2008 18:23
Пожалуйста помогите решить задачу, на процедуры и функции. RusLotus Паскаль, Turbo Pascal, PascalABC.NET 2 07.01.2008 08:08
Помогите пожалуйста!!! С использованием функции Random сформировать одномерный массив Vanya_www_333 Помощь студентам 1 17.08.2007 13:38
Помогите описать функцию pahaig Помощь студентам 2 09.04.2007 22:28