pafanasiew
?>

Сделать програму паскаль условие​

Информатика

Ответы

Filintver
Решение в 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))   end end; 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 = 518 mii = 1002 xiv = 14 cxcvi = 196
Елизавета Александр2011
Var   a: array [1..10, 1..10] of integer;   i, j: byte; begin randomize; writeln(' *** исходный массив *** '); for i : = 1 to 10 do begin       for j : = 1 to 10 do       begin             a[i, j] : = random(41)-20;             write(a[i, j]: 5);       end;       writeln; end; writeln('положительные эл. главной диагонали: '); for i : = 1 to 10 do   for j : = 1 to 10 do       if ((i = j) and (a[i, j] > 0)) then           write(a[i, j], ' '); end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Сделать програму паскаль условие​
Ваше имя (никнейм)*
Email*
Комментарий*