1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Дана строка, состоящая из слов, разделенных пробелом. Удалить из строки слова, содержащие повторяющиеся символы. ( c помощью функций, не использовать стандартн. ф-ции и процедуры для строк, кроме lenght,ord,char)
единственное, что пока сделала , нашла количество слов в строке
var st:string[40]; i,k:integer; begin readln (st); for i:=1 to length(st) do if st[i]=' ' then k:=k+1; writeln ('k=', k);
не пойму, как теперь работать с отдельными словами
а как мне действоавть дальше (после разбиения на слова)? организ. массив из отдельных слов? но я не знаю, как с этим поступить в моём случае, ведь тогда каждый элемент массива будет сост. из символов, и что мне работать с отдельными словами поочереди?
а как мне действоавть дальше (после разбиения на слова)? организ. массив из отдельных слов? но я не знаю, как с этим поступить в моём случае, ведь тогда каждый элемент массива будет сост. из символов, и что мне работать с отдельными словами поочереди?
решила разбить строку на слова по этому образцу
const
limits = [#0..#32,'.',',',':',';','!','?','"']; type
TWords = array[1..40] of string;
var text : string; words : TWords;
function GetWords(s : string; var w : TWords) : byte; var i,back,n : byte; begin i := 1; n := 0; while(i<=length(s)) do begin while(i<=length(s)) and (s[i] in limits) do inc(i); if i<=length(s) then begin back := i; while(i<=length(s)) and not(s[i] in limits) do inc(i); inc(n); w[n] := copy(s, back, i-back); end; end;
GetWords := n; end;
а дальше - не знаю, подскажите алгоритм дальнейших действий пожалуйста