Написать функцию F(A,B), которая добавляет в конец строки A, все буквы из A, не...

0 голосов
34 просмотров

Написать функцию F(A,B), которая добавляет в конец строки A, все буквы из A, не встречающиеся в B. Паскаль или же Си.


Информатика (182 баллов) | 34 просмотров
0

Исключать повторения?

0

К примеру: 1 строка: abcdef 2: aahgs, результат: abcfefbcdef. Но без использования стандартных функций.

Дано ответов: 2
0 голосов
Правильный ответ

        private string fuction(string a,string b)        {
            char[] massa = a.ToCharArray();            char[] massb = b.ToCharArray();            foreach(char itema in massa)            {                foreach(char itemb in massb)                {                    if(itema == itemb)                    {                        break;                    }                    else                    {                        a += itema.ToString();                        break;                    }                }            }            return a;        }

(464 баллов)
0

Вариант без использования счетчика

0

Большое спасибо:)

0

Разберётесь?

0

foreach - полный перебор

0

По крайней мере буду знать, в каком направлении двигаться

0 голосов

В программе буквы добавляются по алфавиту без повторений.
var s1,s2:string;
function F(var a,b:string):boolean;
var m:set of char; i:integer; c:char;
begin
 m:=[];
 for i:=1 to length(a) do
  if pos(a[i],b)=0 then m:=m+[a[i]];
 for c:=chr(32) to chr(255) do
  if c in m then a:=a+c;
 if m=[] then f:=false else f:=true;
end;
begin
writeln('Введите строку 1:');
readln(s1);
writeln('Введите строку 2:');
readln(s2);
if f(s1,s2)
 then writeln('Новая строка: ',s1) else writeln('Строка не изменилась ');end.

Пример:
Введите строку 1:
program
Введите строку 2:
procedure
Новая строка: programagm

(194k баллов)
0

Спасибо огромное за помощь:)

0

А без применения множеств может эта задача решена быть?

0

Можно, конечно, и без множества (чуть подлиннее только будет).