Вданной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположены элемент с наименьшим значением. предполагается что такой элемент единственный.
var matr: array[1..3, 1..3] of integer; i, j, sum, min, min_ind: integer;
begin for i := 1 to 3 do for j := 1 to 3 do matr[i, j] := random(10) + 1; for i := 1 to 3 do begin for j := 1 to 3 do Write(matr[i, j], ' '); Writeln; end; min := matr[1, 1]; for i := 1 to 3 do for j := 1 to 3 do if matr[i, j] < min then begin min := matr[i, j]; min_ind := i; end; sum := 0; for j := 1 to 3 do sum := sum + matr[min_ind, j]; Writeln('Сумма твоих элементов=', sum); end.
Что касается конкретной программы 1. Описываем нужные нам переменные - это будут стороны прямоугольника a и b. Поскольку нигде ничего о размерах сторон не сказано, придется предположить, что они не обязательно будут целыми , мы опишем эти переменные, как вещественные (real), что позволит работать и с нецелыми значениями. 2. Из геометрии нам известны формулы периметра прямоугольника P=2 x (a+b) и площади прямоугольника S=a x b. Можно описать переменные P, S (тоже real), но смысла в этом нет, поскольку значения P и S нужны только для вывода результатов, так что проще написать нужные выражения непосредственно в операторе вывода. 3. Итак, с описанием переменных закончили, можно начинать основную программу ключевым словом begin. И сразу же пишем к нему завершающий end с точкой на конце - таковы правила языка Паскаль. Вся программа размещается между двумя этими ключевыми словами. 4. Сначала организуем ввод. Это два оператора. Первый оператор выводит так называемое "приглашение" - сообщает о том, что нужно ввести. Второй оператор - это сам ввод. 5. А теперь, как было сказано выше, организуем вывод результатов. Все это сделает один оператор вывода. Программа готова!
var a, b: real;
begin Write('Введите стороны прямоугольника: '); Readln(a, b); Writeln('Периметр равен ', 2 * (a + b), ', площадь равна ', a * b) end.
Тестовое решение: Введите стороны прямоугольника: 4 3.16 Периметр равен 14.32, площадь равна 12.64
Const a=10; type mas=array[1..a] of integer; mas1=array[1..3] of byte; var R, Q, P:mas; X:mas1; i:byte;
procedure Form(var R, Q, P:mas); var sr, sq, sp:byte; begin sr:=0; sq:=0; sp:=0; for i:=1 to a do begin if (R[i]>=2) and (R[i]<=4) then sr:=sr+R[i]; if (Q[i]>=2) and (R[i]<=4) then sq:=sq+R[i]; if (P[i]>=2) and (R[i]<=4) then sp:=sp+R[i]; end; x[1]:=sr; x[2]:=sq; x[3]:=sp; writeln('Massiv x'); for i:=1 to 3 do write(x[i]:3);
end;
begin randomize; for i:=1 to a do begin R[i]:=random(10); Q[i]:=random(10); P[i]:=random(10); end; writeln('Massiv r'); for i:=1 to a do write(R[i]:3); writeln; writeln('Massiv Q'); for i:=1 to a do write(Q[i]:3); writeln; writeln('Massiv P'); for i:=1 to a do write(P[i]:3); end.
var
matr: array[1..3, 1..3] of integer;
i, j, sum, min, min_ind: integer;
begin
for i := 1 to 3 do
for j := 1 to 3 do
matr[i, j] := random(10) + 1;
for i := 1 to 3 do
begin
for j := 1 to 3 do
Write(matr[i, j], ' ');
Writeln;
end;
min := matr[1, 1];
for i := 1 to 3 do
for j := 1 to 3 do
if matr[i, j] < min then
begin
min := matr[i, j];
min_ind := i;
end;
sum := 0;
for j := 1 to 3 do
sum := sum + matr[min_ind, j];
Writeln('Сумма твоих элементов=', sum);
end.