Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 27.05.2013, 23:27   #1 (permalink)
Angeli
Новичок
 
Регистрация: 27.05.2013
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Программа, вычеркивающая одинаковые буквы

Помогите пожалуйста! надо составить программу в паскале, вычеркивающую из слов Х и Y те буквы, которые одновременно используются при написании этих слов! ( через строки)
Я решаю. но программа работает не всегда, и не полностью!
Angeli вне форума   Ответить с цитированием

Старый 27.05.2013, 23:27
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Я думаю, что проблему будет решать легче и быстрее если набраться информации из похожих тем

На клавиатуре перепутались буквы
Что делать, если все ярлыки на рабочем столе стали одинаковые и в формате LNK?

Старый 28.05.2013, 09:44   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,287
Сказал(а) спасибо: 290
Поблагодарили 509 раз(а) в 167 сообщениях
Репутация: 92053
По умолчанию

Цитата:
Сообщение от Angeli Посмотреть сообщение
Помогите пожалуйста! надо составить программу в паскале, вычеркивающую из слов Х и Y те буквы, которые одновременно используются при написании этих слов! ( через строки)
Я решаю. но программа работает не всегда, и не полностью!
Легко. Вот Вам два варианта решения:

Код:
Var
 X,Y:String;
 i:byte;
 Sx,Sy,Sz:Set of Char;
Begin
 Write('Word X: ');
 Readln(X);
 Write('Word Y: ');
 Readln(Y);
 Sx:=[];
 For i:=1 to Length(X) do Sx:=Sx+[X[i]];
 Sy:=[];
 For i:=1 to Length(Y) do Sy:=Sy+[Y[i]];
 Sz:=Sx*Sy;
 Writeln('Result:');
 For i:=1 to Length(X) do
  if Not(X[i] in Sz) then write(X[i]);
 Writeln;
 For i:=1 to Length(Y) do
  if Not(Y[i] in Sz) then write(Y[i]);
 Readln
End.

Код:
Var
 X,Y:String;
 i,j:byte;
 b:boolean;
Begin
 Write('Word X: ');
 Readln(X);
 Write('Word Y: ');
 Readln(Y);
 Writeln('Result:');
 For i:=1 to Length(X) do
  begin
   j:=0;
   b:=true;
   repeat
    Inc(j);
    if X[i]=Y[j] then b:=false;
   until Not(b) or (j=Length(Y));
   If b then write(X[i]);
  end;
 Writeln;
 For i:=1 to Length(Y) do
  begin
   j:=0;
   b:=true;
   repeat
    Inc(j);
    if Y[i]=X[j] then b:=false;
   until Not(b) or (j=Length(X));
   If b then write(Y[i]);
  end;
 Readln
End.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 04:38.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.