IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Строки
КириллV
сообщение 16.01.2008 13:57
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской
Реальное имя: Кирилл

Репутация: -  0  +


Помогите пожалуйста отладить программу, задача такая:

Вводится текст.
Создается новый массив подстрок, выделяется из каждой строки подстроки:
Разделенные более чем тремя знаками звездочка <*>.Среди выделенных подстрок находится подстрока:
Cодержащая минимальное число латинских букв.

Неполадка заключается в том что программа формирует и выводит массив строк даже, если символа звездочка нет или меньше 3х...

Вот код программы:

 

Program StringAnalyz;

uses crt;

var
f :text;
s :string;
substrings :array [0..200] of string;
i,j,min,minindex,counter,lettercode:integer;

Begin
clrscr;
writeln('Создать новый массив подстрок, выделив из каждой строки подстроки:');
writeln('Разделенные более чем тремя знаками звездочка <*>.');
writeln('Среди выделенных подстрок найти подстроку:');
writeln('Содержащую минимальное число латинских букв.');

assign(f,'swop.tmp');
rewrite(f);
Writeln ('Введите текст:');
readln (s);
i:=0;
while not(s='') do
begin
writeln(f,s);
while pos('****',s)>0 do
begin
if length(copy(s,1,pos('****',s)-1))>0 then
begin
substrings[i]:=copy(s,1,pos('****',s)-1);
i:=i+1;
end;
delete(s,1,pos('****',s)+2);
while copy(s,1,1)='*' do delete (s,1,1);
end;
if length(s)>0 then
begin
substrings[i]:=s;
i:=i+1;
end;
readln (s);
end;
close(f);

writeln('Подстроки:');
min:=length(substrings[0]);
for j:=0 to i-1 do
begin
writeln(substrings[j]);
counter:=0;
for i:=1 to length(substrings[j]) do
begin
lettercode:=ord((substrings[j])[i]);
if ((lettercode>64) and (lettercode<98))or((lettercode>89) and (lettercode<123)) then counter:=counter+1;
end;
if counter<min then
begin
min:=counter;
minindex:=j;
end;
end;

writeln;
writeln('Строка содержащая минимальное кол-во латинских букв:');
writeln(substrings[minindex],' (',min,' латинских букв)');
writeln;
writeln('Нажмите любую клавишу для завершения работы...');
while not keypressed do;
End.




Сообщение отредактировано: КириллV - 16.01.2008 13:58
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
КириллV   Строки   16.01.2008 13:57
klem4   приведи пару примеров входных/выходных данных нап...   16.01.2008 18:16
КириллV   входные данные: qwerty***123456 выходные: qwerty**...   16.01.2008 19:16
feniks25   несколько строк, конечно не помешают по условию в ...   16.01.2008 19:19
klem4   update изивиняюсь, вопрос неверный задал. В общем...   16.01.2008 19:27
КириллV   [color=red][b]update изивиняюсь, вопрос неверный...   16.01.2008 20:35
klem4   проверь вот это: uses crt; const max_sequence:...   16.01.2008 21:40
КириллV   проверь вот это: uses crt; const max_sequence...   16.01.2008 22:51
feniks25   Народ, не пойму где глюк! если раскоментироват...   16.01.2008 22:36
Yevgeny   Если раскоментить {else count:=0;}, то тогда у вет...   16.01.2008 22:45
feniks25   Если раскоментить {else count:=0;}, то тогда у ве...   16.01.2008 22:54
klem4   а вот вранья не надо, моя программа проходит _все_...   17.01.2008 9:17
КириллV   а вот вранья не надо, моя программа проходит _все...   17.01.2008 17:36
feniks25   Закончил я свой код. Боже, какое ламерство, стольк...   17.01.2008 11:01


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"