0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 3
1

определить позицию самого правого вхождения в заданную строку

17.03.2011, 13:13. Показов 1689. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите решить задачу:
Составить процедуру, позволяющую определить позицию самого правого вхождения в заданную строку какого-либо символа из второй заданной строки. Результатом работы процдуры должна быть -1, если первоя строка не содержит ни одного символа, принадлежащего и второй заданной строке.
вот как сделала я.... но почему то она делает что то не то.....
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
program n1;
 
  var srt,srt2:string;
      s:char;
      t:text;
 
  procedure poisk(var srt,srt2:string; var s:char);
  var k,i,p:integer;
  begin
   k:=length(srt);
   For i:=k downto 1 do begin
    If srt[p]=s then begin
     writeln('pozicia=',p);
     readln;
    end;
   end;
  end;
 
 
 
 
 
  begin
  { assign(t,'468.pas');
   append(t); }
   writeln('vvedite 1 stroku:');
   readln(srt);
   writeln('vvedite 2 stroku:');
   readln(srt2);
   writeln('vvedite iskomi element');
   readln(s);
 
   poisk(srt,srt2,s);
  { close(t);   }
   end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2011, 13:13
Ответы с готовыми решениями:

Составить процедуру, определяющую позицию самого правого вхождения в заданную строку символа второй строки
Составить процедуру, позволяющую определить позицию самого правого вхождения в заданную строку...

Составить процедуру , позволяющую определить позицию первого вхождения в заданную строку какого-либо символа из второй заданной строки
Народ , помогите пожалуйста. Сессия скоро, чтобы автомат получить по инфе, нужно все проги сдать в...

Определить позицию самого правого вхождения символа в строку
Составить процедуру, позволяющую определить позицию самого первого вхождения заданного символа в...

Определить позицию самого правого вхождения заданного символа в строку
Здраствуйте! Помогите пожалуйста решить задачи. Проблема с процедурами, не могу понять их....

5
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
17.03.2011, 13:33 2
Цитата Сообщение от =)) даша Посмотреть сообщение
какого-либо символа из второй заданной строки.
Что значит какого-либо? Т.е. любого?

Добавлено через 7 минут
Если любой, то так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
program n1;
uses crt;
procedure poisk(var str,str2:string; var p:integer);
var i,j:integer;
begin
p:=-1;
i:=1;
while(p=-1)and(i<=length(str2))do
 begin
  j:=length(str);
  while(p=-1)and(j>=1)do
  if str[j]=str2[i] then p:=j
  else j:=j-1;
  if p=-1 then i:=i+1;
 end;
end;
var srt,srt2:string;
    p:integer;
begin
writeln('vvedite 1 stroku:');
readln(srt);
writeln('vvedite 2 stroku:');
readln(srt2);
poisk(srt,srt2,p);
write('P=',p);
end.
0
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 3
17.03.2011, 13:35  [ТС] 3
да ...... то есть любого.... ну я так поняла её; вводим первую строку, вводим вторую... запрашиваем элемент любой из второй строки, вводим, и дальше уже проверяем его на наличие в первой строке... вроде бы ничего особо сложного НО почему то она у меня работает, пропуская вывод ответа....

Добавлено через 30 секунд
ага, спасибо, сейчас посмотрю ....=)
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
17.03.2011, 13:37 4
Цитата Сообщение от =)) даша Посмотреть сообщение
запрашиваем элемент любой из второй строки, вводим,
Этого нет в условии...
0
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 3
17.03.2011, 14:05  [ТС] 5
объясните пожалуйста вот этот кусок программы....

while(p=-1)and(j>=1)do
if str[j]=str2[i] then p:=j
else j:=j-1;
if p=-1 then i:=i+1;
не могу понять что он вообще выводит в итоге
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
17.03.2011, 14:19 6
Pascal
1
2
3
4
5
6
7
8
9
10
p:=-1;//считаем что в 1 строке нет ни одного символа второй
i:=1;//смотрим вторую строку сначала
while(p=-1)and(i<=length(str2))do//пока не нашли одинаковый символ(р=-1)и не конец строки
 begin
  j:=length(str);//встаем в конец первой строки
  while(p=-1)and(j>=1)do//пока не нашли и не начало строки
  if str[j]=str2[i] then p:=j//если нашли, запоминаем индекс
  else j:=j-1;//иначе к началу
  if p=-1 then i:=i+1;//если этого символа нет, проверяем следующий
 end;
В результате выводит или последнее вхождение любого символа из строки 2 или -1, если нет ни одного
0
17.03.2011, 14:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2011, 14:19
Помогаю со студенческими работами здесь

Определить позицию самого правого вхождения заданного символа в исходную строку
Помогите пожалуйста Составить функцию, позволяющую определить позицию самого правого вхождения...

Процедура: определить позицию самого правого вхождения заданного символа в исходную строку
Задание: Составить процедуру, позволяющую определить позицию самого правого вхождения заданного...

Найти позицию самого правого вхождения
в чем ошибка? #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;cstdio&gt; using namespace std; ...

Определить позицию первого вхождения в заданную строку какого-либо символа
Помогите составить процедуру, позволяющую определить позицию первого вхождения в заданную строку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru