Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2015, 19:46   #1
Глеб Иванов
Пользователь
 
Регистрация: 06.03.2015
Сообщений: 12
Восклицание Помогите Delphi (На множества задача)

Заданы два символьных массива с малых латинских букв и цифр S(n),n<=600 и C(m), m<=500. Разработать программу, которая находит и печатает: буквы, которые есть в обоих массивах, буквы, которых нет в обоих массивах и цифры, которые есть в первом и втором массивах отдельно.

Буду очень благодарен за помощь ! Спасибо !
Глеб Иванов вне форума Ответить с цитированием
Старый 06.03.2015, 20:11   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Что сам сделал? Ничего? Тогда "помощь" будет за деньги.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 06.03.2015, 20:34   #3
Глеб Иванов
Пользователь
 
Регистрация: 06.03.2015
Сообщений: 12
По умолчанию

Код:
uses crt;
var a,b:string;  //строки, или массивы символов
    m1,m2,m:set of char;//множества
    n,i,k,j:byte;
begin
clrscr;
n:=0;
repeat  //вводим строки и проверяем их на соответствие условию
writeln('a:');
readln(a);
for i:=1 to length(a)do
if not(a[i]in['a'..'z','0'..'9']) then 
  begin
    n:=1;
    break;
  end;
if k=1 then writeln('В массиве А недопустимые символы. Повторите ввод.');
until n=0;
repeat
writeln('b:');
readln(b);
for i:=1 to length(b)do
if not(b[i]in['a'..'z','0'..'9'] )then
  begin
    n:=1;
    break;
  end;
if k=1 then writeln('В массиве B недопустимые символы. Повторите ввод.');
until n=0;
m1:=[];  //пустое множество
for i:=48 to 122 do  //диапазон, в который попадают коды цифр(48-57) и маленькие латинские буквы(97-122)
for j:=1 to length(a)do
if chr(i) = a[j] then m1:=m1+[a[j]]; //делаем множество символов строки А
m2:=[];
for i:=48 to 122 do
for j:=1 to length(b)do
if chr(i) = b[j] then m2:=m2+[b[j]]; //также строки В
writeln('Буквы, которые есть в обоих массивах:');
m:=m1*m2;  //пересечение множеств
for i:=97 to 122 do
if chr(i) in m then write(chr(i),' '); 
writeln;
writeln('Буквы, которых нет в обоих массивах:');
m:=m1+m2;  //объединение множеств
for i:=97 to 122 do
if not(chr(i) in m) then write(chr(i),' ');
writeln;
writeln('Цифры, которые есть только в массиве А:');
m:=m1-m2;  //вычитаем из множества цифр строки А множество цифр строки В
for i:=48 to 57 do
if chr(i) in m then write(chr(i),' ');
writeln;
writeln('Цифры, которые есть только в массиве B:');
m:=m2-m1;  //наоборот
for i:=48 to 57 do
if chr(i) in m then write(chr(i),' ');
readln
end.

Последний раз редактировалось Глеб Иванов; 06.03.2015 в 20:37.
Глеб Иванов вне форума Ответить с цитированием
Старый 06.03.2015, 20:34   #4
Глеб Иванов
Пользователь
 
Регистрация: 06.03.2015
Сообщений: 12
По умолчанию

Вот консоль... нужно помочь исправить + на форму
Глеб Иванов вне форума Ответить с цитированием
Старый 08.03.2015, 07:35   #5
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Кидаешь на форму 2 edit`a, 2 textbox`а и кнопку, считываешь по нажатию кнопки инфу из edit`ов, что-то в духе
Код:
my_string := edit1.Text
потом добавляешь нужное в нужный текстбокс
Код:
textBox.append(my_text)
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на множества. Neroice Паскаль, Turbo Pascal, PascalABC.NET 2 15.10.2013 14:45
delphi задача на множества Valera1 Помощь студентам 0 07.06.2011 16:24
Задача на множества. Novi_ Помощь студентам 2 26.10.2010 20:02
задача на множества любаша Общие вопросы Delphi 0 22.09.2010 15:05
Задача на вектора (тема Множества) DELPHI 08ekhiv1 Помощь студентам 1 13.03.2009 20:00