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


Ответ
 
Опции темы Опции просмотра
Старый 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
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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.
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
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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.
Vladimir_S вне форума   Ответить с цитированием
Старый 27.06.2012, 20:23   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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.
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, время: 01:44.

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