var
a:array [1..15] of integer;
i:byte;
begin
a[1]:=1;
writeln (a[1]);
for i:=2 to 15 do begin
a[i]:=a[i-1]+2;
writeln (a[i]);
end;
readln;
end.
PROGRAM B01;
CONST
max = 11;
TYPE
vector = array[1..max]of integer;
VAR
M, I, K:vector;
j:byte;
{ Массивы I,K предварительно реорганизовать следующим образом: на первом
месте, в данных массивах должен стоять элемент с минимальным значением}
procedure reorganize_vector(var vt:vector);
var i, j:byte;
min, tmp:integer;
begin
// вначале ищем минимальный элемент и запоминаем его место в массиве
j:=1;//
min:=vt[1];//назначаем наименьшим - первый элемент
for i:=2 to max do
if (min>vt[i]) then begin
min:=vt[i];
j:=i;//индекс наименьшего числа
end;
// теперь меняем местами первый элемент массива с наименьшим числом
tmp := vt[1];//запоминаем значение первого элемента
vt[1] := min;//меняем его на наименьший элемент
vt[j] := tmp;//на место наименьшего ставим значение из первого элемента
end;
// процедура для вывода массива на экран
procedure print_vector(var vt:vector);
var j:byte;
begin
for j:=1 to max do
write(vt[j]:6);
writeln(' ');
end;
BEGIN
writeln('Дано:');
//заполняем массивы случаынйми данными
randomize;
for j:=1 to max do begin
I[j]:=random(-128,127);
K[j]:=random(-128,127);
end;
//выводим их на экран
write('массив I[',max,']: ');
print_vector(I);
write('массив K[',max,']: ');
print_vector(K);
writeln(' ');
writeln('Реорганизовать массивы так, чтобы на первом месте ');
writeln('должен стоять элемент с минимальным значением');
reorganize_vector(I);
reorganize_vector(K);
write('массив I[',max,']: ');
print_vector(I);
write('массив K[',max,']: ');
print_vector(K);
writeln(' ');
writeln('Сформировать массив М[',max,'], элементы которого вычисляются');
writeln('по формуле M[j] = I[j] + K[j]');
for j:=1 to max do
M[j] := I[j] + K[j];
write('массив M[',max,']: ');
print_vector(M);
END.
<u>PascalABC.NET 3.4.0, сборка 1675 от 12.06.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
procedure MatrixCreate(m,n:integer; var A:array[,] of integer);
begin
A:=MatrRandom(m,n,-50,50);
end;
procedure MatrixOutput(A:array[,] of integer);
begin
A.Println(4)
end;
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:');
var a:array[,] of integer;
MatrixCreate(m,n,a);
Writeln('*** Исходная матрица ***');
MatrixOutput(a);
a.Transform(t->t>0?1:t);
Writeln('*** Полученная матрица ***');
MatrixOutput(a);
end.
Попробуй так:
const<span> nmax=100;
var
a: array[1..nmax,1..nmax] of integer;
i,j,m,n,min,max,i_max,j_max,i_min,j_min,tmp: integer;
begin
randomize;
write('Введите размеры массива m, n: ');
readln(m,n);
writeln('Исходная матрица:');
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(99)+1;
write(a[i,j]:4);
end;
writeln;
end;
writeln;
min:=a[1,1]; max:=a[1,1];
i_min:=1; j_min:=1; i_max:=1; j_max:=1;
for i:=1 to m do
for j:=1 to n do
begin
if a[i,j]>max then
begin
max:=a[i,j];
i_max:=i;
j_max:=j;
end;
if a[i,j]<min then
begin
min:=a[i,j];
i_min:=i;
j_min:=j;
end;
end;
writeln('Максимальный элемент: ',max,'[',i_max,',',j_max,']');
writeln('Минимальный элемент: ',min,'[',i_min,',',j_min,']');
tmp:=a[i_min,j_min];
a[i_min,j_min]:=a[i_max,j_max];
a[i_max,j_max]:=tmp;
writeln('Полученная матрица:');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
readln;
end.</span>
Компьютер
непонятный, железный
жужжит, светится, виснет
можно играть в компьютерные игры
<span>хорошая покупка...</span>