Дан двумерный массив d(м, х), элементы которого целые числа и случайно в интервале [a, b]. вывести массив на экран. найти минимум из элементов выше побочной диагонали. вывести результат на экран.
Const nn=20; var i,j,a,b,m,x,la,lb,p,ij,mn:integer; s:string; d:array[1..nn,1..nn] of integer; begin {Инициализация и вывод массива} Write('Число строк и столбцов в массиве: '); Read(m,x); Write('Диапазон значений элементов массива: '); Read(a,b); Str(a,s); la:=Length(s); Str(b,s); lb:=Length(s); if la>lb then p:=la+1 else p:=lb+1; Randomize; Writeln('Исходный массив'); for i:=1 to m do begin for j:=1 to x do begin d[i,j]:=Random(b-a+1)+a; Write(d[i,j]:p) end; Writeln end; {Нахождение минимума} if i>j then ij:=j else ij:=i; mn:=d[1,1]; for i:=1 to ij do for j:=1 to x-i do if d[i,j]<mn then mn:=d[i,j]; Writeln('Минимальный элемент выше побочной диагонали равен ',mn) end.
Пример работы Число строк и столбцов в массиве: 5 8 Диапазон значений элементов массива: -50 50 Исходный массив -10 -18 -42 -33 6 15 -29 16 -5 -22 7 -49 -43 -44 -42 22 36 -29 19 -26 -14 -49 -39 2 2 35 -16 44 13 26 -12 -40 -50 10 -42 -13 29 -22 -48 34 Минимальный элемент выше побочной диагонали равен -50
#include <stdio.h>
#include <ctime>
#include <stdlib.h>
int main(void)
{const int m=5;
const int x=5;
int Matrix[m][x],min,a,b;
srand(time(NULL));
scanf("%d %d",&a,&b);
for(int i=0;i<m;i++)
{for(int j=0;j<x;j++)
{Matrix[i][j]=(rand()%(b+1-a))+a; //r=(rand()%(max+1-min))+min
printf("%d ",Matrix[i][j]);}
printf("\n");}
a=1;
min=Matrix[0][0];
for(int i=0;i<m;i++)
{for(int j=0;j<x-a;j++)
if(min>Matrix[i][j])
min=Matrix[i][j];
a++;}
printf("%d",min);
return 0;}
Пример ввода:
-30 30
Пример вывода:
3 11 -18 21 27
22 -5 21 13 -11
-6 15 16 -28 -5
10 -15 6 -24 -3
-10 -15 25 -30 -30
-18
nn=20;
var
i,j,a,b,m,x,la,lb,p,ij,mn:integer;
s:string;
d:array[1..nn,1..nn] of integer;
begin
{Инициализация и вывод массива}
Write('Число строк и столбцов в массиве: ');
Read(m,x);
Write('Диапазон значений элементов массива: ');
Read(a,b);
Str(a,s);
la:=Length(s);
Str(b,s);
lb:=Length(s);
if la>lb then p:=la+1 else p:=lb+1;
Randomize;
Writeln('Исходный массив');
for i:=1 to m do begin
for j:=1 to x do begin
d[i,j]:=Random(b-a+1)+a;
Write(d[i,j]:p)
end;
Writeln
end;
{Нахождение минимума}
if i>j then ij:=j else ij:=i;
mn:=d[1,1];
for i:=1 to ij do
for j:=1 to x-i do
if d[i,j]<mn then mn:=d[i,j];
Writeln('Минимальный элемент выше побочной диагонали равен ',mn)
end.
Пример работы
Число строк и столбцов в массиве: 5 8
Диапазон значений элементов массива: -50 50
Исходный массив
-10 -18 -42 -33 6 15 -29 16
-5 -22 7 -49 -43 -44 -42 22
36 -29 19 -26 -14 -49 -39 2
2 35 -16 44 13 26 -12 -40
-50 10 -42 -13 29 -22 -48 34
Минимальный элемент выше побочной диагонали равен -50