Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Moroshka13
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 16
1

Номер позиции в текстовом файле, начиная с которой, встречается подстрока

08.01.2014, 23:16. Просмотров 643. Ответов 8
Метки нет (Все метки)

Здравствуйте, уважаемые! Помогите, пожалуйста, решить задачу.
Дан текстовый файл. Необходимо ввести с клавиатуры строку символов и выдавать на экран номер позиции в текстовом файле, начиная с которой эта подстрока в нем встречается, и соответствующее сообщение, если этой подстроки нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 23:16
Ответы с готовыми решениями:

Выдать номер позиции заданной строки, в которой впервые встречается буква "в"
Выдать номер позиции заданной строки, в которой впервые встречается буква...

Вывести на экран порядковый номер слова максимальной длины и номер позиции строки с которой она начинается.
Дана строка символов, состоящая из произвольного текста на английском языке,...

Вывести на экран порядковый номер слова максимальной длины и номер позиции строки с которой оно начинается
Дана строка символов, состоящая из произвольного текста на английском языке,...

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

Файл: Определить номер строки, в которой встречается заданное слово
Я новичок в delphi. А мне задали задачу, связанную с файлами. Очень прошу...

8
Maksim2309
45 / 45 / 15
Регистрация: 17.01.2013
Сообщений: 328
08.01.2014, 23:22 2
Функция Pos.
0
Moroshka13
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 16
08.01.2014, 23:25  [ТС] 3
Не получается...(
0
Maksim2309
45 / 45 / 15
Регистрация: 17.01.2013
Сообщений: 328
08.01.2014, 23:51 4
Цитата Сообщение от Moroshka13 Посмотреть сообщение
Не получается...(
Что не получается? Показывайте исходник
0
Moroshka13
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 16
09.01.2014, 00:30  [ТС] 5
Delphi
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
program Lab93;
 
{$APPTYPE CONSOLE}
 
uses SysUtils;
 
var
F:TextFile;
S,V:string;
 
begin
writeln('Input String:');
readln(s);
writeln;
AssignFile(F,'Strings.txt');
Reset(F);
while not EOF(F) do
begin
readln(F,V);
if pos(S,V)=0 then
writeln('This string isn''t contained in this file')
else
repeat
writeln('Position #',pos(S,V));
delete(V,pos(S,V),Length(s));
........................
........................
.......................
until pos(S,V)<>0;
end;
 
CloseFile(F);
readln;
end.
Я не знаю как сделать так, чтобы программа определяла не только позицию первого вхождения подстроки, но и всех остальных
0
angstrom
2470 / 1846 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
09.01.2014, 01:32 6
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
  F : TextFile;
  S, V : String;
  I, J : Integer;
begin
  WriteLn('Input String:');
  ReadLn(s);
  WriteLn;
  AssignFile(F, 'Strings.txt');
  Reset(F);
  I := 1;
  while not EOF(F) do
  begin
    Readln(F, V);
    J := Pos(S, V);
    if J = 0 then
      WriteLn('This string isn''t contained in this file')
    else
      WriteLn('Line:', I, ' Position: ', J);
    inc(I);
  end;
  CloseFile(F);
  ReadLn;
end.
1
Moroshka13
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 16
09.01.2014, 13:34  [ТС] 7
Цитата Сообщение от angstrom Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
  F : TextFile;
  S, V : String;
  I, J : Integer;
begin
  WriteLn('Input String:');
  ReadLn(s);
  WriteLn;
  AssignFile(F, 'Strings.txt');
  Reset(F);
  I := 1;
  while not EOF(F) do
  begin
    Readln(F, V);
    J := Pos(S, V);
    if J = 0 then
      WriteLn('This string isn''t contained in this file')
    else
      WriteLn('Line:', I, ' Position: ', J);
    inc(I);
  end;
  CloseFile(F);
  ReadLn;
end.
Определяется только первое вхождение
0
northener
пофигист широкого профиля
3422 / 2322 / 630
Регистрация: 15.07.2013
Сообщений: 13,735
09.01.2014, 14:08 8
Delphi
1
2
3
4
5
6
7
8
9
10
11
if J = 0 then
  WriteLn('This string isn''t contained in this file')
else begin
  Write('Line:',I);
  repeat
    Write(' Position: ', J);
    Delete(V,1,J+Length(S)-1);
    J:=Pos(S,V);  
  until J = 0;
  WriteLn;
end;
1
angstrom
2470 / 1846 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
09.01.2014, 15:31 9
Цитата Сообщение от Moroshka13 Посмотреть сообщение
Определяется только первое вхождение
Так и было задумано, northener указал для всех, если такие имеются в строке. Только я бы не стал заморачиваться с удалением, а использовал PosEx.
0
09.01.2014, 15:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2014, 15:31

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

Удалить строку из Memo, если в ней встречается определенная подстрока
Вообщем есть у нас на форме memo1 и button. В memo1 у нас написан какой-то ...

Создать собственную процедуру для удаления из строки n элементов, начиная с позиции Poz
Помогите пожалуйста. Нужно создать собственную процедуру для удаления из...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru