Дан двумерный массив. в каждой его строке найти координаты минимального элемента. если элементов с минимальным значением в строке несколько, то должны быть найдены координаты самого правого из них.
Const n=5; m=6; var a:array[1..n,1..m] of integer; i,j,min,jmin:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(100); write(a[i,j]:4); end; writeln; end; for i:=1 to n do begin write(i,': '); min:=a[i,1]; jmin:=1; for j:=2 to m do if a[i,j]<=min then begin min:=a[i,j]; jmin:=j; end; writeln('min = a[',i,',',jmin,'] = ',min); end; end.
Sub Zadanie16084380() ' Дана матрица Y(5,5) (элементы матрицы выбрать самостоятельно). Вы- ' числить элементы новой матрицы Z(5,5) по правилу: zij = yij / ki, где ki – количе- ' ство положительных элементов i-той строки. ' Если в i-той строке положительных элементов нет, то i-тая строка в матрице ' Z должна быть заполнена нулями Const N = 4 Dim Y,Z,K ReDim Y(N, N), Z(N, N), K(N) S=""
Randomize For i = 0 To N K(i) = 0 For j = 0 To N Y(i, j) = Int(100 * Rnd) - 50 S = S & Y(i, j) & " " If Y(i, j) > 0 Then K(i) = K(i) + 1 End If Next S = S & vbNewLine Next S = S & vbNewLine
For i = 0 To N For j = 0 To N if K(i) = 0 then Z(i, j) = 0 else Z(i, j) = Y(i, j) / K(i) end if S = S & Z(i, j) & " " Next S = S & vbNewLine Next MsgBox (s) End Sub
var
a:array[1..n,1..m] of integer;
i,j,min,jmin:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
begin
write(i,': ');
min:=a[i,1]; jmin:=1;
for j:=2 to m do
if a[i,j]<=min then begin min:=a[i,j]; jmin:=j; end;
writeln('min = a[',i,',',jmin,'] = ',min);
end;
end.
Пример:
Исходный массив:
31 15 62 21 20 19
65 43 65 26 97 78
13 43 64 11 84 1
83 9 39 37 61 39
44 27 16 81 76 77
1: min = a[1,2] = 15
2: min = a[2,4] = 26
3: min = a[3,6] = 1
4: min = a[4,2] = 9
5: min = a[5,3] = 16