Найти минимальный и максимальный элементы в матрице их номера.формат вывода: минимальный элемент a[3,4]=11 максимальный элемент a[2,2]=89 ! полное решение! заранее большое : 3
Const n=10; m=10; var a:array [1..n,1..m] of integer; i,j,min,x1,y1,max,x2,y2:integer; begin for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(21)-10; write (a[i,j]:4); end; writeln; end; min:=a[1,1]; max:=a[1,1]; x1:=1; x2:=1; y1:=1; y2:=1; for i:=1 to n do for j:=1 to n do if a[i,j]<min then begin min:=a[i,j]; x1:=i; y1:=j; end else if a[i,j]>max then begin max:=a[i,j]; x2:=i; y2:=j; end; writeln ('Минимальный элемент A[',x1,',',y1,']=',min); writeln (',Максимальный элемент A[',x2,',',y2,']=',max); end.
В задании не сказано, откуда берутся исходные данные, поэтому будем вводить их с клавиатуры. Сначала ведем общее количество данных (не факт, что данные за месяц снимались строго ежедневно), а затем сами данные. Это позволит заодно осуществить контроль ввода.
var n,s,t,i:integer; begin Write('Укажите количество данных: '); Read(n); Writeln('Теперь вводите данные'); s:=0; for i:=1 to n do begin Read(t); s:=s+t end; Writeln('Средняя температура за месяц составила ',s/n:0:1) end.
Пример решения
Укажите количество данных: 11 Теперь вводите данные 27 29 26 31 24 23 27 30 31 28 25 Средняя температура за месяц составила 27.4
Дорога, соединяющая города i и j, даст единицу в две позиции - (i, j) и (j, i). Тогда общее количество единиц в матрице равно удвоенному числу дорог. Отсюда и простое решение - считать N^2 чисел, подсчитать количество единиц и поделить его на 2. Можно считать и сумму - от этого ничего не изменится.
#include <iostream> int main() { int n = 0, sum = 0, temp = 0; std :: cin >> n; for (int i = 0; i < n * n; i++) { std :: cin >> temp; sum += temp; } std :: cout << sum / 2; return 0; }
var a:array [1..n,1..m] of integer;
i,j,min,x1,y1,max,x2,y2:integer;
begin
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(21)-10;
write (a[i,j]:4);
end;
writeln;
end;
min:=a[1,1];
max:=a[1,1];
x1:=1;
x2:=1;
y1:=1;
y2:=1;
for i:=1 to n do
for j:=1 to n do
if a[i,j]<min then
begin
min:=a[i,j];
x1:=i;
y1:=j;
end else
if a[i,j]>max then begin
max:=a[i,j];
x2:=i;
y2:=j;
end;
writeln ('Минимальный элемент A[',x1,',',y1,']=',min);
writeln (',Максимальный элемент A[',x2,',',y2,']=',max);
end.