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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2010, 13:54   #1
vmilyoshin
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 66
По умолчанию Строковый тип данных в Паскале

Помогите с кодом в решении задачи:
Пусть строка состоит из слов, разделенных запятыми, например слово1, слово2, слово3, слово4. Найти последнее вхождение заданной подстроки в строку.

Последний раз редактировалось vmilyoshin; 15.04.2010 в 13:57.
vmilyoshin вне форума Ответить с цитированием
Старый 15.04.2010, 14:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Запрсто:
Пусть s - строка, ss - подстрокаж
Код:
for i:=length(s)-Length(ss) downto 1 do
 if copy(s,i,length(ss))=ss then нашли, i - позиция справа
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.04.2010, 16:14   #3
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

А можно еще и так:
Код:
i:=LastDelimiter(ss, s);
Здесь также ss - подстрока, s - исходная строка, i - индекс последнего вхождения подстроки ss в строку s.
Виноват, просмотрел, что нужно в Паскале, а написал для Дельфей, во я балбес!!!
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 15.04.2010 в 16:18.
Grag вне форума Ответить с цитированием
Старый 15.04.2010, 18:46   #4
vmilyoshin
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Запрсто:
Пусть s - строка, ss - подстрокаж
Код:
for i:=length(s)-Length(ss) downto 1 do
 if copy(s,i,length(ss))=ss then нашли, i - позиция справа
А можно, если не трудно, весь код программы?
vmilyoshin вне форума Ответить с цитированием
Старый 16.04.2010, 19:41   #5
vmilyoshin
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 66
По умолчанию

Кто соображает, где ошибки в данном коде?

program strok;

uses crt;

var f : text;
s, ss, i : string;

BEGIN
clrscr;
assign(f,'D:\KursPascal\primer.txt' );
reset(f);
for i:=length(s)-length(ss) downto 1 do
if copy(s,i,length(ss))=ss then
readln(f, i);
writeln(i);

close(f);
readln;
END.
vmilyoshin вне форума Ответить с цитированием
Старый 16.04.2010, 19:50   #6
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

Код:
i:integer;
где ты считываешь s и ss?
Код:
readln(f,i);
-лишнее)
Google2010 вне форума Ответить с цитированием
Старый 16.04.2010, 20:42   #7
vmilyoshin
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 66
По умолчанию

Я пытаюсь считать информацию из текстового файла primer.txt
Программа скомпилировалась, но выводится пустой экран. Значит ещё что то упустил. Помогите.

program strok;

uses crt;

var f : text;
s, ss : string;
i : integer;

BEGIN
clrscr;
assign(f,'D:\KursPascal\primer.txt' );
reset(f);
for i:=length(s)-length(ss) downto 1 do
if copy(s,i,length(ss))=ss then
writeln(i);

close(f);
readln;
END.

Последний раз редактировалось vmilyoshin; 16.04.2010 в 21:14.
vmilyoshin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на Паскале. Тема: строковый тип. TOCMYANINA Помощь студентам 2 17.12.2009 17:31
Строковый тип данных Froost Помощь студентам 7 11.11.2009 10:49
Строковый тип данных Mihael-Vlz Паскаль, Turbo Pascal, PascalABC.NET 7 23.04.2009 17:01
Строковый тип данных. Paul Oakenfold Паскаль, Turbo Pascal, PascalABC.NET 2 11.04.2009 21:05
Помогите решить задачу в паскале на строковый тип valis Помощь студентам 3 29.09.2008 14:54