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

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

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

> И снова строки, Удаление повторяющихся символов
сообщение
Сообщение #1


Новичок
*

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

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


И снова проблема, и снова не могу никак решить, уже над этой задачи вторую неделю сижу и не могу закончить.

ЗАДАНИЕ: Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами – не менее одного пробела, за последним словом – точка. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу:
Оставить в слове только первые вхождения каждой буквы.

С первым условием справились с горем пополам, использовав FAQ по строкам made by вами.
А вот второе.. НУ НИКАК! не удалеяет симоволы вот. Может это уже проблема многочасовго сидения за данной проблемой.


Код

program strochki;
uses crt;
type wmas=array[1..100] of string;
{mumumu - исходная строка
myp - последние слово
yry - строка из слов не совпадающих с последним словом не одним символом
xex - массив исходных слов
lol - массив слов не совпадающих с последним словом не одним символом
f - флажок для проверки первого совпадения символов
kyky - переменная для нахождения номера символа, с которого начинается найденная подстрока в строке.
i,j,k,l,q,c - различные счетчики, задействованные и нет.
y,z - вспомогательные строки}


{Процедура для вставки слов из строки в массив}
procedure GetWords(mumumu:string; var xex:wmas);
var i,j:shortint;
    mm:string;
begin
while pos('  ',mumumu)<>0 do delete(mumumu,pos('  ',mumumu),1);
if mumumu[1]=' ' then delete(mumumu,1,1);
if mumumu[length(mumumu)]=' ' then delete(mumumu,length(mumumu),1); {г¤ «Ґ­ЁҐ «Ёи­Ёе Їа®ЎҐ«®ў}
i:=1;
for j:=1 to length(mumumu) do
if mumumu[j]<>' ' then xex[i]:=xex[i]+mumumu[j] else if i<>high(xex) then inc(i); {§ Ї®«­пҐв ¬ ббЁў б«®ў ¬Ё Ё§ ба®ЄЁ}
end;

var mumumu,yry,myp,byrara,y,z:string;
    xex,lol:wmas;
    kyky,c:integer;
    i,k,q,j,l:shortint;
    f:boolean;

label bu;

    begin
clrscr;
writeln('Введите строку, разделяя слова пробелами, в конце поставьте точку.');
readln(mumumu);
byrara:=mumumu;

GetWords(byrara,xex);
k:=(length(mumumu)-1);
while mumumu[k]<>' ' do begin inc(i); dec(k); end;
myp:=copy(mumumu,k+1,i);
writeln('Последние слово: ', myp);

for k:=1 to high(xex) do begin

    f:=false;

 for l:=1 to length(myp) do begin
     kyky:=1;
     kyky:=pos(myp[l],xex[k]);
     if kyky=0 then f:=true;
     end;

    if f=true then yry:=yry + xex[k]+ ' ';

end;

writeln('Исключительные словав: ',yry);

{--------------------------------------------------}
GetWords(yry,lol);
for i:=1 to high(lol) do begin
    y:=lol[i];
    for k:=1 to length(y) do begin
 kyky:=pos(y[k],y);
 q:=length(y);
 z:=copy(y,kyky,q);
 kyky:=pos(y[k],z);
 if kyky<>0 then delete(y,kyky,1)
 end;
    end;
for j:=1 to high(lol) do
write(lol[j],' ');
readkey;
end.


НЕ РАБОТАЕТ: удаление повторяющихся символов в словах не совпадающих с последним словом, не одним символом. {последняя часть программы}

помогите... пожалуйста!!

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

Сообщений в этой теме


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

 





- Текстовая версия 7.09.2025 0:39
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name