• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Множества и строки символов

  • Автор темы Автор темы helli
  • Дата начала Дата начала

helli

Ученик
Регистрация
7 Июн 2014
Сообщения
4
Реакции
0
Баллы
0
Множества и строки символов

Помогите написать программы, не успеваю в срок
1.Даны три множества х1={1‚2‚3..20} ,х2={10,11,12..30} и х3={11,3,5..19,21}. Сформировать множество у=(х1+х2)*(х1+х3)-(х2+х3), из которого выделить подмножество у1 чисел, делящихся на 4 без остатка. На печать вывести множество у и мощность множества у1. Исходные множества вывести с клавиатуры.
2. Составить программу, которая
а) повторяет процесс ввода строк, пока в строке не встретитсч хотя бв один символ *
б) исключает символы до первого вхождения * и после последнего вхождения *
в) выводит на печать исходный текст и его длину, количество исключенных символов, а также результирующую строку и ее длину.
 
Паскаль ABC
 
Сейчас нарисую, только вот... напрочь я забыл, как считается мощность множества. Вроде для таких множеств это просто число элементов, нет?
 
Да, мощность мн-ва это количество его элементов.
 
Ну тогда так. Вот первая. Но оговорюсь сразу:
1. Паскаля АВС, равно как и порнухи вообще, у себя не держу, поэтому программа писалась и тестировалась на Free Pascal. Но вроде должно подойти и для... гм... этого.
2. Смысла сентенции "Исходные множества вывести с клавиатуры" не понял напрочь, а потому, извините, проигнорировал.
Код:
Var
 X1,X2,X3,Y,Y1:Set of Byte;
 i,P:Byte;
Begin
 X1:=[];
 X2:=[];
 X3:=[];
 for i:= 1 to 20 do X1:=X1+[i];
 for i:=10 to 30 do X2:=X2+[i];
 for i:=11 to 21 do X3:=X3+[i];
 Y:=(X1+X2)*(X1+X3)-(X2+X3);
 Write(' Y: ');
 for i:=1 to 30 do
  if i in Y then write(i:3);
 Writeln;
 Write('Y1: ');
 Y1:=[];
 P:=0;
 for i:=1 to 30 do
  if (i in Y) and ((i mod 4)=0) and not (i in Y1) then
   begin
    Y1:=Y1+[i];
    write(i:3);
    Inc(P);
   end;
 Writeln;
 Writeln('P(Y1) = ',P);
 Readln
End.
 
А вот вторая:
Код:
Var
 S1,S2:String;
 i,k1,k2:byte;
 b:boolean;
Begin
 Repeat
  b:=false;
  writeln('Enter the string:');
  Readln(S1);
  for i:=1 to Length(S1) do
   if S1[i]='*' then b:=true;
 Until b;
 Writeln;
 Writeln;
 Writeln;
 k1:=0;
 Repeat
  Inc(k1);
 Until S1[k1]='*';
 k2:=Length(S1)+1;
 Repeat
  Dec(k2);
 Until S1[k2]='*';
 S2:='';
 for i:=k1 to k2 do
  S2:=S2+S1[i];
 k1:=k1-1;
 k2:=Length(S1)-k2;
 Writeln('Initial string:');
 Writeln(S1);
 Writeln('Length = ',Length(S1));
 Writeln;
 Writeln('New string:');
 Writeln(S2);
 Writeln('Length = ',Length(S2));
 Writeln;
 Writeln('Number of excluded symbols = ',k1+k2);
 Readln
End.
 
Спасибо большое )
 
Назад
Сверху