03.07.2020, 20:42 [+3 UTC]
в нашей команде: 4 658 чел. | участники онлайн: 0 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
27.06.2020, 09:37

Последний вопрос:
03.07.2020, 15:37
Всего: 152714

Последний ответ:
03.07.2020, 11:04
Всего: 260319

Последняя рассылка:
03.07.2020, 11:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
29.11.2010, 20:09 »
Litta
Спасибо, вот как раз середина с факториалами и не получалась, все просто и красиво [вопрос № 181003, ответ № 264406]
25.04.2019, 15:08 »
dar777
Это самое лучшее решение! [вопрос № 195355, ответ № 277948]
14.10.2019, 08:22 »
dar777
Это самое лучшее решение! [вопрос № 196625, ответ № 278911]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 345
puporev
Статус: Профессор
Рейтинг: 92
Лысков Игорь Витальевич
Статус: Мастер-Эксперт
Рейтинг: 0

Перейти к консультации №:
 

Консультация онлайн # 197150
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: kondrat322 (Посетитель)
Отправлена: 20.11.2019, 09:44
Поступило ответов: 1

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:Написать модуль, который находит минимальный элемент
каждой строки двумерного массива и меняет его местами с
первым элементом данной строки.

Состояние: Консультация закрыта

Ответ # 279135 от puporev (Профессор)

Здравствуйте, kondrat322!
Модуль

Код (Pascal) :: выделить код
unit matrix;
interface
type mtr=array[1..10,1..20] of integer;
procedure vvod(var a:mtr;var m,n:integer);
procedure vyvod(a:mtr;m,n:integer;s:string);
function min(a:mtr;n,k:integer):integer;
procedure obmen(var a:mtr;n,k,imn:integer);
implementation
//процедура ввода матрицы
procedure vvod(var a:mtr;var m,n:integer);
var i,j:integer;
begin
repeat
write('Введите количество строк от 2 до 10 m=');
readln(m);
until m in [2..10];
repeat
write('Введите количество столбцов от 2 до 20 n=');
readln(n);
until n in [2..20];
for i:=1 to m do
for j:=1 to n do
a[i,j]:=random(100);
end;
//процедура вывода матрицы
procedure vyvod(a:mtr;m,n:integer;s:string);
var i,j:integer;
begin
writeln(s);
for i:=1 to m do
 begin
  for j:=1 to n do
  write(a[i,j]:3);
  writeln;
 end;
end;
//функция поиска индекса минимального элемента в строке k
function min(a:mtr;n,k:integer):integer;
var i,imn:integer;
begin
imn:=1;
for i:=2 to n do
if a[k,i]<a[k,imn] then imn:=i;
min:=imn;
end;
//процедура обмена первого и минимального элементов строке k
procedure obmen(var a:mtr;n,k,imn:integer);
var i,x:integer;
begin
if a[k,1]<>a[k,imn] then
 begin
  x:=a[k,1];
  a[k,1]:=a[k,imn];
  a[k,imn]:=x;
 end;
end;
end.

Программа
Код (Pascal) :: выделить код
uses matrix;
var a:mtr;
    m,n,i,imn:integer;
begin
randomize;
vvod(a,m,n);
vyvod(a,m,n,'Исходная матрица');
writeln('Минимальные элементы строк');
for i:=1 to m do
 begin
  imn:=min(a,n,i);
  writeln('строка ',i,' min=',a[i,imn]);
  obmen(a,n,i,imn);
 end;
vyvod(a,m,n,'Обмен минимального и первого элемента в строках');
end.


Текст модуля нужно сохранить с именем matrix.pas в папке с программой.

Добавил randomize в текст программы.


Консультировал: puporev (Профессор)
Дата отправки: 20.11.2019, 12:49

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14142 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39