• Pascal ABC.net - модули
    Даны два массива натуральных чисел. В одном из них числа записаны в десятичной системе счисления, в другом — в римской. Выписать числа, которые встречаются и в том, и в другом массиве, или сообщить об их отсутствии. В случае положительного ответа результат представить в римской и десятичной системах счисления.

    Решить с использованием модулей спомощью подпрограмм (или несколько подпрограмм), а потом обратиться из своей программы к этому модулю

    Помогите, завтра последний день !)

Ответы 6

  • Ох не с файлами, с массивами
    • Автор:

      abel29
    • 7 лет назад
    • 0
  • А то все время занимают поле для ответа какой то ерундой
  • Готово
    • Автор:

      ashanti
    • 7 лет назад
    • 0
  • Проваландался больше часа. Впредь подобное буду только за 50 баллов делать.
    • Автор:

      michael23
    • 7 лет назад
    • 0
  • thank you!!
    • Автор:

      mateo73
    • 7 лет назад
    • 0
  • Решение в PascalABC.NET 3.4*** этот файл мы должны назвать nekkit20.pas ****** после его компиляции будет создан модуль ***unit nekkit20;type  tra=(string,integer);function RomeToArab(s:string):integer;// Перевод римских чисел (не больших MMMCMXCIX) в арабскиеbegin  var ar:='IVXLCDM';  var aa:=Arr(1,5,10,50,100,500,1000);  var n:=0;  Result:=0;  foreach var c in s do  begin    var c1:=n;    n:=aa[Pos(c,ar)-1];    Result+=n+(n>c1?-2*c1:0)  end;end;function Equal(r:array of string; a:array of integer):sequence of tra;// Возвращает последовательность кортежей// из массива римских чисел (массив r),// для которых есть соответствие в массиве арабских чисел (массив a)  begin  foreach var q in r do  begin    var n:=RomeToArab(q);    if a.IndexOf(n)>-1 then yield((q,n))  endend;end.*** а это другой файл с любым именем, кроме nekkit20 ****** он обращается к молулю nekkit20 ***uses nekkit20;begin  var sr:=Arr('DXVIII','LXIII','MII','XIV','LXXXVIII','CXCVI');  var ar:=Arr(14,98,196,1002,518,64,87);  var R:=Equal(sr,ar);  if R.Count=-1 then Writeln('Нет совпадений')  else    foreach var t in R do      Writeln(t[0],' = ',t[1])end.*** Контрольный пример ***DXVIII = 518MII = 1002XIV = 14CXCVI = 196
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

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

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

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