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

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

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

 
 Ответить  Открыть новую тему 
> проверка строки
18192123
сообщение 8.01.2007 10:37
Сообщение #1


Профи
****

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

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


Нужно всего лишь проверить, есть ли в строке одинаковые слова.

Слова разделяются пробелами

у меня все время выдаёт результат - истина


uses crt;

function Slovo(s:string;n:integer):string;
const lim =[' ',',','!'];
var ss:string;
k,c,i:integer;
begin
ss:=''; c:=1; k:=1;
while k<=length(s) do begin
while not(s[k] in lim) and (k<=length(s)) do begin
if c=n then ss:=ss+s[k];
inc (k); end;
inc ( c );
while (s[k] in lim) and (k<=length(s)) do inc (k);
end;
Slovo:=ss;
end;

var
flag : boolean;
s : string;
n, i, j : integer;

begin
clrscr;
flag := false;
writeln (' vvedite stroky ');
readln (s);
for i := 1 to length (s) do
begin
j := i + 1;
for j := 1 to Length (s) do
if slovo (s, i) = slovo (s, j) then flag := true;
end;
writeln (' rezyltat: ' );
writeln (flag);
readkey;
end.


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Malice
сообщение 8.01.2007 10:44
Сообщение #2


Профи
****

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

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



n:=количество слов.
for i := 1 to n-1 do
for j := i+1 to n do
if slovo (s, i) = slovo (s, j) then flag := true;

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.01.2007 10:48
Сообщение #3


Гость






...
i := 1;
while slovo(s, i) <> '' do begin
j := i + 1;
while slovo(s, j) <> '' do begin

if slovo (s, i) = slovo (s, j) then flag := true;

inc(j);
end;
inc(i);
end;
...
 К началу страницы 
+ Ответить 
18192123
сообщение 8.01.2007 11:17
Сообщение #4


Профи
****

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

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


Спасибо за помощь!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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