• помогите сделать это в Pascal

    Пусть дан фрагмент программы. Опишите функцию Sum(A, SI, S2), вычи¬сляющую сумму тех элементов матрицы А, номера строк и номера столб¬цов которых принадлежат соответственно непустым множествам S1 и S2 типа num.
    Const
    n = 10;
    Type
    number = 1..n;
    matrix = array [number, number] of real;
    num = set of number;
    Var
    A : matrix;
    S1, S2 : num;

Ответы 2

  • Вообще в традиционном Паскале убийственно плохо реализована работа с множествами. Его элементы нельзя просто так вывести, нельзя узнать их текущее количество. Если множество описано, как содержащее N элементов, то надо в цикле по I от 1 до N проверить, есть ли I-й элемент в этом множестве, и если он есть, то с ним можно работать. Есть варианты пройти множество по Succ(), но они еще мудренее.
    • Автор:

      chiczru3
    • 5 лет назад
    • 0
  • Традиционнный Pascal:function Sum(var M:matrix;n:integer;s1,s2:num):real;var  i,j:number;  s:real;begin  s:=0;  for i:=1 to n do    if i in s1 then      for j:=1 to n do        if j in s2 then s:=s+M[i,j];  Sum:=send;В PascalABC.Net можно написать короче:function Sum(var M:matrix;n:integer;s1,s2:num):real;var  i,j:number;begin  result:=0;  foreach i in s1 do    foreach j in s2 do result:=result+M[i,j]end;
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years