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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2010, 20:41   #1
Юляшко
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 24
Печаль модули

MoveBeg – перенести заданную подстроку в начало
CountWord– определяет количество слов в тексте
WordN – выделяет N-ное слово
DivBegin – разделить строку на две подстроки по первому вхождению сочетания символов
Дан текст. Дан текст переписать слова в этом тексте в обратном порядке. Дан текст фамилия ученика, предмет и отметка. Отметка отделена словом «оценка». Получить две строки одна - фамилия и предмет, другая – отметка.
я вот написала программу ток я не могу сделать вот это условие " Отметка отделена словом «оценка». Получить две строки одна - фамилия и предмет, другая – отметка."
вот модуль
PHP код:
unit turbo;
interface
 
Function 
CountWord(s:string):integer;   {определяет количество слов в тексте}
Function 
WordN(n:integerslovo:string):string;        {выделяет N-ное слово}
Function 
MoveBeg(slovo:string) :string;   {перенести заданную подстроку в начало}
 
Procedure DivBegin(text:string; var h:string);      {разделить строку на две подстроки по первому вхождению сочетания символов}
 
implementation
Function CountWord(s:string):integer;//определяет количество слов
   
var k,i:integer;
   
begin
      k
:=1;
      for 
i:=1 to length(s)-do
      if (
s[i]=' ') or (s[i]='.') or(s[i]=' ') or (s[i]=',') or (s[i]=':') or (s[i]=';') and(s[i+1]<>' 'then k:=k+1;
      
CountWord:=k;
   
end;
 
 
Function 
WordN(n:integerslovo:string):string;// выделяет н-ое слово
   
var s:string;
   
k,e,i,f,j:longint;
   
begin
   s
:='';
   
k:=1;
   
e:=1;
   for 
i:=1 to length(slovo) do
    
begin
        
if (slovo[i]=' ') or (slovo[i]='.') or(slovo[i]=' ') or (slovo[i]=',') or (slovo[i]=':') or (slovo[i]=';') and(slovo[i+1]<>' 'then k:=k+1;
    if 
k=n-1 then e:=i+1;
       if 
k=n then f:=i;
        
end;
     for 
j:=e to f do
         
s:=s+slovo[j] ;
 
    
WordN:=s;
   
end;
 
 
Function 
MoveBeg(slovo:string):string;  //переносит заданную подстраку вначало
  
var k,j:integer;
       
s:string;
   
begin
   s
:='';
   for 
k:=CountWord(slovodownto 1   do
   
s:=s+WordN(k,slovo)+' ';
   
MoveBeg:=s;
   
end;
 
 
Procedure DivBegin(text:string; var h:string);//разделитяет строку на две подстроки по первому вхождению сочетания символов
   
var i,j,y,r,nach,konec:longint;
       
pr,q,fam,ocenka,s:string;
   
begin
   fam
:='  ';
   
q:='';
   
ocenka:='';
     for 
i:=1 to length(text) do
      
begin
          
for j:=i to i+do
          
q:=q+text[j];
          if 
q='оценка'  then
             begin
             nach
:=i-1;
             
konec:=i+7;
             
end else q:='';end;
 
   for 
y:=1 to nach do fam:=fam+text[y];
   for 
r:=konec to length(text) do ocenka:=ocenka+text[r];
   
s:=fam+' - '+ocenka;
    
h:=s;
    
end;
   
end
вот программа
PHP код:
program kontr_stroka;
Uses Crt,slovo;
var
  
text,hstring;
  
i,nomer:integer;
 
Begin
clrscr
;
writeln('vvedite text ');
readln(text);
writeLn('kolichestvo slov: 'CountWord(text));
writeln('vvedite nomer slova');
readln(nomer);
writeLn(WordN(nomer,text));
for 
i:=CountWord(textdownto 1 do
   
write(WordN(i,text),' ');
readln;
end
Юляшко вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
модули for_tuna Паскаль, Turbo Pascal, PascalABC.NET 0 27.04.2010 18:02
Модули Klyan Паскаль, Turbo Pascal, PascalABC.NET 1 02.11.2009 17:02
модули felmor Паскаль, Turbo Pascal, PascalABC.NET 2 18.05.2009 01:17
Модули Claster Помощь студентам 1 16.10.2008 20:26