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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 14:08   #21
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

ребят, похоже вы алгоритм читали по диагонали. его смысл: нашли первый пробел-стерли начало строки, второй пробел после этого стал первым. можно снова искать пробел.
тут что-то одно из двух

1)я передаю var s и тогда в результате процедуры delete(s,index,count) строка s изменяется (затирается)
2)я передаю просто s и тогда строка не изменяется после delete, в этом случае смысл предложенного мною алгоритма теряется
Snejnaya вне форума Ответить с цитированием
Старый 04.06.2010, 14:39   #22
Blueyeska
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 11
По умолчанию

Насчёт процедуры-функции:

function Func2(s:string; i:word):word;
var str:string;
var j, n, m:word;
begin
str=s
if(i=1) then
result:=1
else
begin
m:=0;
for j:=1 to (i-1) do
begin
n:=pos(' ', str);
m:=m+n;
str:=delete(str,1,n);
end;
result:=m+1;
end;
end;

Например, у нас предложение "Дядя_Петя_шёл_с_работы" и нам надо найти номер позиции, с которого начинается слово шёл. Это слово - не первое, поэтому мы переходим к циклу, который начинается со второго "begin". Мне кажется тогда, что сточка "for j:=1 to (i-1) do" должна быть заменена на "for j:=1 to i"?!
Blueyeska вне форума Ответить с цитированием
Старый 04.06.2010, 15:17   #23
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

третье слово стоит после второго пробела, а мы ищем именно пробелы. Т.е. номер слова i=3, цикл от 1 до (3-1=2) - цикл будет пройден дважды и будет обнаружена позиция второго пробела. Увеличив ее на один, найдем позицию первой литеры третьего слова
Snejnaya вне форума Ответить с цитированием
Старый 04.06.2010, 16:55   #24
Blueyeska
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 11
По умолчанию

2 Snejnaya

Спасибо большое, всё теперь понятно. Я немного ступила.
Blueyeska вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки Паскаль Antonio_getscool Помощь студентам 1 19.12.2009 15:12
Паскаль,строки! DjDeniels-61 Помощь студентам 1 15.11.2009 12:15
Паскаль, строки Паскалька^^ Помощь студентам 7 25.10.2009 15:39