Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 27.06.2012, 14:24   #1 (permalink)
metorok
Новичок
 
Регистрация: 27.06.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль, строки

ребят, помогите 2 задачки сделать пожалуйста!

1)Дана строка символов. Дано слово. Удалить из строки все вхождения этого слова.

2)Дана строка символов, содержащая текст, заканчивающийся точкой. Вывести на экран те слова, которые содержат хотя бы одну букву s
metorok вне форума   Ответить с цитированием

Старый 27.06.2012, 14:24
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Нашлось еще несколько тем, которые создавались ранее

Строки. Паскаль
Паскаль. Строки
Строки, Паскаль
Паскаль, символы и строки

Старый 27.06.2012, 15:14   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,347
Сказал(а) спасибо: 288
Поблагодарили 507 раз(а) в 165 сообщениях
Репутация: 91953
По умолчанию

Цитата:
Сообщение от metorok Посмотреть сообщение
ребят, помогите 2 задачки сделать пожалуйста!
Да без проблем!
Цитата:
Сообщение от metorok Посмотреть сообщение
1)Дана строка символов. Дано слово. Удалить из строки все вхождения этого слова.
Код:
Var
 S,S1:String;
 p:Byte;
Begin
 Writeln('Enter the string:');
 Readln(S);
 Writeln('Enter the word:');
 Readln(S1);
 Repeat
  p:=pos(S1,S);
  If p>0 then Delete(S,p,Length(S1));
 Until p=0;
 Writeln(S);
 Readln
End.
Цитата:
Сообщение от metorok Посмотреть сообщение
2)Дана строка символов, содержащая текст, заканчивающийся точкой. Вывести на экран те слова, которые содержат хотя бы одну букву s
Код:
Var
 S,S1:String;
 i,j:Byte;
 b:boolean;
Begin
 Repeat
  Writeln('Enter the string:');
  Readln(S);
  If S[Length(S)]<>'.' then Writeln('Last symbol must be "."!');
 Until S[Length(S)]='.';
 i:=0;
 Repeat
  Inc(i);
  If (i=1) or ((i>1) and (S[i-1]=' ')) then
   begin
    S1:='';
    repeat
     S1:=S1+S[i];
     inc(i);
    until (S[i]=' ') or (S[i]='.');
    j:=0;
    b:=false;
    repeat
     inc(j);
     If S1[j]='s' then b:=true;
    until b or (j=length(S1));
    If b then write(S1+' ');
   end;
  Until S[i]='.';
 Readln;
End.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 27.06.2012, 19:34   #3 (permalink)
metorok
Новичок
 
Регистрация: 27.06.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Владимир. не могли бы вы посмотреть еще 2 задачи?
1) Упорядочить символы строки, стоящие на местах с чётными номерами, в алфавитном порядке, стоящие на местах с нечётными номерами – в порядке, обратном алфавитному.

2)Дана строка, содержащая предложения, разделенные точкой. Вывести те из них, которые содержат заданное слово.
metorok вне форума   Ответить с цитированием
Старый 27.06.2012, 20:04   #4 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,347
Сказал(а) спасибо: 288
Поблагодарили 507 раз(а) в 165 сообщениях
Репутация: 91953
По умолчанию

Цитата:
Сообщение от metorok Посмотреть сообщение
1) Упорядочить символы строки, стоящие на местах с чётными номерами, в алфавитном порядке, стоящие на местах с нечётными номерами – в порядке, обратном алфавитному.
Код:
Const
 N=60;
Var
 S:String;
 i,j:Byte;
 C:Char;
Begin
 Randomize;
 S:='';
 For i:=1 to N do
  S:=S+Chr(97+Random(26));
 Writeln(S);
 Writeln;
 For i:=1 to (N div 2) do
  For j:=1 to (N div 2)-i do
   If ((j*2+2)<=Length(S)) and (S[j*2]>S[j*2+2]) then
    begin
     C:=S[j*2+2];
     S[j*2+2]:=S[j*2];
     S[j*2]:=C;
    end;
 For i:=1 to (N div 2) do
  For j:=1 to (N div 2)-i do
   If ((j*2+1)<=Length(S)) and (S[j*2-1]<S[j*2+1]) then
    begin
     C:=S[j*2+1];
     S[j*2+1]:=S[j*2-1];
     S[j*2-1]:=C;
    end;
 Writeln(S);
 Readln
End.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 27.06.2012, 20:23   #5 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,347
Сказал(а) спасибо: 288
Поблагодарили 507 раз(а) в 165 сообщениях
Репутация: 91953
По умолчанию

Цитата:
Сообщение от metorok Посмотреть сообщение
2)Дана строка, содержащая предложения, разделенные точкой. Вывести те из них, которые содержат заданное слово.
Код:
Var
 S,S1,W:String;
 i,p:Byte;
Begin
 Repeat
  Writeln('Enter the string:');
  Readln(S);
  If S[Length(S)]<>'.' then Writeln('Last symbol must be "."!');
 Until S[Length(S)]='.';
 Writeln('Enter the word:');
 Readln(W);
 i:=0;
 Repeat
  Inc(i);
  If (i=1) or ((i>1) and (S[i-1]='.')) then
   begin
    S1:='';
    repeat
     S1:=S1+S[i];
     inc(i);
    until S[i]='.';
    p:=Pos(W,S1);
    If p>0 then
     begin
      if S1[1]=' ' then Delete(S1,1,1);
      Writeln(S1);
     end;
   end;
  Until i=Length(S);
 Readln;
End.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 27.06.2012, 20:45   #6 (permalink)
metorok
Новичок
 
Регистрация: 27.06.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо вам огромное Владимир!)))
metorok вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 20:43.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.