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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2010, 18:27   #1
n0rma1
 
Аватар для n0rma1
 
Регистрация: 15.04.2010
Сообщений: 9
Восклицание Процедуры в модуле Pascal

Здравствуйте уважаемые пользователи Тут такая проблема, есть модуль, состоящий из 4 процедур/функций которые нужно написать без использования уже стандартных ( таких как Pos, Insert, Delete и т.д., можно использовать только :Length)... есть модуль, но в нем работают только 2 функции/процедуры wordn и countword. Помогите, подскажите что не так в остальных двух ... второй день сижу с программами мозг кипит, сам уже не могу ничего понять.



Код:
unit ura;
interface
function wordn(nom:integer; s3:string):string;
 procedure MyPos(d,s3:string;  var a,b:integer);
function countword(s3:string):integer;
procedure newright(s3:string; n:integer; var c:string);


implementation
  function wordn(nom:integer; s3:string):string;   // выделяет n-ое слово в тексте
  var c:string; k,a,b,i,j:longint;
      begin
      c:='';
      k:=1;  // кол-во
      a:=1;
           for i:=1 to length(s3) do
           begin
               if ((s3[i]=' ') or (s3[i]=',') or (s3[i]='.')) and (s3[i+1]<>' ')  then
               k:=k+1;
               if k=nom-1 then a:=i+1;       //nom - n-ое слово
               if k=nom then b:=i;
           end;
      for j:=a to b do
      c:=c+s3[j];
      wordn:=c;

      end;

function countword(s3:string):integer;  // считает кол-во слов в строке s3
  var k,i:integer;
      begin
         k:=1;
           for i:=2 to length(s3)-1 do
               if ((s3[i]=' ') or (s3[i]=',') or (s3[i]='.')) and (s3[i+1]<>' ') then
               k:=k+1;
               countword:=k;
      end;
      
      
 procedure MyPos(d,s3:string;  var a,b:integer); // определяет позицию вхождения и позицию конца подстроки d в строку s3 
var slovo:string; j,i:integer;
begin
     slovo:='';
     a:=0; b:=0;
     for i:=1 to length(s3) do begin
     if (s3[i]=' ') and (s3[i+length(d)+1]=' ') then  begin
     for j:=i+1 to i+length(d) do
     slovo:=slovo+s3[j];
     if slovo=d then begin
     a:=i+1; b:=i+length(d) end else slovo:='' end;  end
end;

procedure newright(s3:string; n:integer; var c:string);   //с - выделяем  с символа n до конца строки s3
var l,i:integer;
begin
l:=length(s3);
c:='';
for i:=n to l do
c:=c+s3[i];
end;


end.
и программа использующая этот модуль
Код:
uses crt,ura;
var           s3,d,x,y,s,c:string;
              p,a,b,k,n:integer;
begin

writeln('Введите строку для редактирования --> ');
read(s3);
k:=countword(s3);
writeln('Слов в тексте: ',k);
writeln('Введите номер выделяемого слова: ');
readln(p);
d:=wordn(p,s3);
writeln('Выделенное слово: ',d);
writeln('Введите подстроку: ');
readln(d);
writeln('Начало слова - ',a,' конец слова - ',b);
write ('Введите символ с которого выделять --> ');
read(n);
write ('После выделения получится строка --> ',c);


end.
n0rma1 вне форума Ответить с цитированием
Старый 30.04.2010, 20:38   #2
n0rma1
 
Аватар для n0rma1
 
Регистрация: 15.04.2010
Сообщений: 9
По умолчанию

тему ап ап ап
n0rma1 вне форума Ответить с цитированием
Старый 01.05.2010, 09:31   #3
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

может поэтому у вас только две первые функции и работают, что последние из программы вообще не вызываются?
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 01.05.2010, 11:10   #4
mifomen
Help, если смогу!
Пользователь
 
Регистрация: 14.09.2009
Сообщений: 55
По умолчанию

was3110, я с тобой согласен.

Не заметно что в теле программы вообще происходит их вызов.
Я помог =Нажми, НА ВЕСЫ.
Почему форум не поддерживает spoiler & spoiler2 ?
Если я вам помог, не будьте скупым R409586472993
mifomen вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
! Процедуры ! Pascal ! valerka92 Помощь студентам 4 24.04.2010 20:54
Процедуры ( Pascal ) P1RoG Помощь студентам 1 09.12.2009 20:11
Процедуры (Pascal) [Smarik] Помощь студентам 6 16.01.2008 14:52