Writeln

Begin

Begin

Ответ

End.

End

End

End

End

Begin

Begin

End.

Writeln

Writeln

Begin

clrscr;

input(a,2,3,'a.pas');

input(b,3,3,'b.pas');

for i:=1 to 2 do begin

for j:=1 to 3 do write(' ',a[i,j]);

end;

writeln;

for i:=1 to 3 do begin

for j:=1 to 3 do write(' ',b[i,j]);

end;

Рассмотрим пример, когда исходные одномерные массивы различной длины определяются как типизированные константы, а затем их надо обработать одной функцией или процедурой.

Задание:

В массивах A(8) и B(5) найти произведение элементов. элементы массива, где это произведение окажется меньше – увеличить в два раза.

uses crt;

const a:array[1..8] of real=(-2.3,4.2,-1.5,5.7,0.8,6.1,3.5,9.7);

b:array[1..5] of real=(10.3,7.2,0.04,-3.6,-4.1);

var i:byte;

function mult(c:array of real):real;

var i:byte; p:real;

p:=1;

for i:=low(c) to high(c) do p:=p*c[i];

mult:=p

end;

clrscr;

if mult(a)<mult(b) then begin writeln('massiv A');

for i:=1 to 8 do begin

a[i]:=a[i]*2;

write(' ',a[i]:5:1)

else begin writeln('massiv B');

for i:=1 to 5 do begin

b[i]:=b[i]*2;

write(' ',b[i]:5:1)

Размер массива не указан

Здесь стандартные функции LOW(C) и HIGH(C) возвращают нижнее и верхнее значение индекса входного массива соответственно.

uses crt;

const n=3;

type matr=array[1..n,1..n] of real;

const a:matr=((0.5,2.25,1.5),(0.8,1.5,-1),(3.3,4.1,0.5));

b:matr=((3.5,2.15,-1.5),(0.5,4.5,3),(0.3,-7.1,3.5));

c:matr=((-2.5,8.25,0.4),(-3.8,-2.5,1),(4.3,-1.1,-3.5));

d:matr=((3.3,4.1,0.5),(0.8,1.5,-1),(0.5,2.25,1.5));

var a_b,c_d,p:matr; i,j,k:byte; s:real; sled:real;

procedure sum(x,y:matr; var z:matr);

var i,j:byte;

for i:=1 to n do

for j:=1 to n do z[i,j]:=x[i,j]+y[i,j]

end;

procedure print(x:matr;t:string);

var i,j:byte;

writeln;

writeln(t);

for i:=1 to n do begin

for j:=1 to n do write(' ',x[i,j]:4:1);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: