Консультация № 194202
16.12.2018, 15:33
0.00 руб.
1 2 1
Здравствуйте! Прошу помощи в следующем вопросе:
не молги бы пожалуйста еще помочь просто я только учусь и не понимаю этого а времени мало
Где С=round((А+В)/2), А =1 В =3

В каждой строке матрицы rmatr[n, m] выбирается элемент с наименьшим
значением, затем среди этих чисел выбирается наибольшее. Указать индексы
элемента с найденным значением.

и вот это пожалуйста
Где A=3
Найти наибольшие и наименьшие элементы матрицы rmatr[n, m] и поменять
их местами.

Заранее спасибо большое. постараюсь разобраться и больше не беспокоить вас
Прикрепленные файлы:
8c9a077105eff9c766d76ff4484e95c20ff6639c.png

Обсуждение

давно
Профессор
401888
1232
17.12.2018, 08:47
общий
Непонятно зачем А,В,С, в файле их нет.
1)
[code lang=pascal]var rmatr:array[1..10,1..10] of byte;
n,m,i,j,im,jm,jmx,mn,mx:byte;
begin
randomize;
repeat
write('Введите количество строк матрицы от 3 до 10 n=');
readln(n);
until n in [3..10];
repeat
write('Введите количество столбцов матрицы от 3 до 10 m=');
readln(m);
until m in [3..10];
for i:=1 to n do
begin
for j:=1 to m do
begin
rmatr[i,j]:=random(100);
write(rmatr[i,j]:3);
end;
writeln;
end;
writeln('Минимальные элементы строк');
im:=1; //пусть максимальный из минимальных в первой строке
for i:=1 to n do
begin
mn:=rmatr[i,1]; //ищем минимальный в строке
jm:=1; //его индекс в строке
for j:=2 to m do
if rmatr[i,j]<mn then
begin
mn:=rmatr[i,j];
jm:=j;
end;
writeln(i:2,'=',mn);
if i=1 then//если строка первая
begin
mx:=mn;//максимум
jmx:=jm; //его индекс в строке
end
else if mn>mx then //иначе
begin
mx:=mn; //максимум
im:=i; //индекс строки
jmx:=jm; //индекс столбца
end;
end;
writeln('Из них максимальный=',mx,' его индексы [',im,',',jmx,']')
end.[/code]
2)
[code lang=pascal]var rmatr:array[1..10,1..10] of byte;
n,m,i,j,imn,jmn,imx,jmx,mn,mx:byte;
begin
randomize;
repeat
write('Введите количество строк матрицы от 3 до 10 n=');
readln(n);
until n in [3..10];
repeat
write('Введите количество столбцов матрицы от 3 до 10 m=');
readln(m);
until m in [3..10];
for i:=1 to n do
begin
for j:=1 to m do
begin
rmatr[i,j]:=random(100);
write(rmatr[i,j]:3);
if i+j=2 then //если первый элемент
begin
mn:=rmatr[i,1]; //то он пока минимальный
imn:=1;
jmn:=1;
mx:=rmatr[1,1];//и максимальный
imx:=1;
jmx:=1;
end
else if rmatr[i,j]<mn then //если не первый и меньше минимального
begin
mn:=rmatr[i,j]; //он минимальный
imn:=i; //его индексы
jmn:=j;
end
else if rmatr[i,j]>mx then //если не первый и больше максимального
begin
mx:=rmatr[i,j];//он максимальный
imx:=i; //его индексы
jmx:=j;
end;
end;
writeln;
end;
writeln('Минимальный элемент [',imn,',',jmn,']=',mn);
writeln('Максимальный элемент [',imx,',',jmx,']=',mx);
//обмен элементов
mn:=rmatr[imn,jmn];
rmatr[imn,jmn]:=rmatr[imx,jmx];
rmatr[imx,jmx]:=mn;
writeln('Обмен минимального и максимального');
for i:=1 to n do
begin
for j:=1 to m do
write(rmatr[i,j]:3);
writeln;
end;
end.[/code]
давно
Профессор
401888
1232
20.12.2018, 11:53
общий
это ответ
Здравствуйте, 01goch01!
Непонятно зачем А,В,С, в файле их нет.
1)
[code lang=pascal]var rmatr:array[1..10,1..10] of byte;
n,m,i,j,im,jm,jmx,mn,mx:byte;
begin
randomize;
repeat
write('Введите количество строк матрицы от 3 до 10 n=');
readln(n);
until n in [3..10];
repeat
write('Введите количество столбцов матрицы от 3 до 10 m=');
readln(m);
until m in [3..10];
for i:=1 to n do
begin
for j:=1 to m do
begin
rmatr[i,j]:=random(100);
write(rmatr[i,j]:3);
end;
writeln;
end;
writeln('Минимальные элементы строк');
im:=1; //пусть максимальный из минимальных в первой строке
for i:=1 to n do
begin
mn:=rmatr[i,1]; //ищем минимальный в строке
jm:=1; //его индекс в строке
for j:=2 to m do
if rmatr[i,j]<mn then
begin
mn:=rmatr[i,j];
jm:=j;
end;
writeln(i:2,'=',mn);
if i=1 then//если строка первая
begin
mx:=mn;//максимум
jmx:=jm; //его индекс в строке
end
else if mn>mx then //иначе
begin
mx:=mn; //максимум
im:=i; //индекс строки
jmx:=jm; //индекс столбца
end;
end;
writeln('Из них максимальный=',mx,' его индексы [',im,',',jmx,']')
end.[/code]

2)

[code lang=pascal]var rmatr:array[1..10,1..10] of byte;
n,m,i,j,imn,jmn,imx,jmx,mn,mx:byte;
begin
randomize;
repeat
write('Введите количество строк матрицы от 3 до 10 n=');
readln(n);
until n in [3..10];
repeat
write('Введите количество столбцов матрицы от 3 до 10 m=');
readln(m);
until m in [3..10];
for i:=1 to n do
begin
for j:=1 to m do
begin
rmatr[i,j]:=random(100);
write(rmatr[i,j]:3);
if i+j=2 then //если первый элемент
begin
mn:=rmatr[i,1]; //то он пока минимальный
imn:=1;
jmn:=1;
mx:=rmatr[1,1];//и максимальный
imx:=1;
jmx:=1;
end
else if rmatr[i,j]<mn then //если не первый и меньше минимального
begin
mn:=rmatr[i,j]; //он минимальный
imn:=i; //его индексы
jmn:=j;
end
else if rmatr[i,j]>mx then //если не первый и больше максимального
begin
mx:=rmatr[i,j];//он максимальный
imx:=i; //его индексы
jmx:=j;
end;
end;
writeln;
end;
writeln('Минимальный элемент [',imn,',',jmn,']=',mn);
writeln('Максимальный элемент [',imx,',',jmx,']=',mx);
//обмен элементов
mn:=rmatr[imn,jmn];
rmatr[imn,jmn]:=rmatr[imx,jmx];
rmatr[imx,jmx]:=mn;
writeln('Обмен минимального и максимального');
for i:=1 to n do
begin
for j:=1 to m do
write(rmatr[i,j]:3);
writeln;
end;
end.[/code]
Форма ответа