Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 21.12.2015
Сообщений: 7

Поменять местами строки матрицы, содержащие наибольший и наименьший элементы

06.04.2016, 12:50. Показов 1401. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

Помогите пожалуйста с задачей.

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

Преподаватель сказал делать по примеру, но лично я ничего не понимаю в этом.

Добавлено через 38 секунд
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Program SORT (input, output);
Type
  Matrix = Array [1..10, 1..10] of Real;
Var
  i, j, K, L : Integer; {параметры циклов и индексы}
  N : Integer; {порядок матрицы}
  A : Matrix; {исходная матрица}
  S : Array [1..10] of Real; {суммы элементов строк}
  R : Real; {промежуточная переменная}
Begin
  Repeat
    Writeln ('Введите порядок матрицы N, N <= 10');
    ReadLn ( N )
  Until N in [2..10];
  Writeln ( 'Введите матрицу по строкам');
  for i := 1 to N do
  for j := 1 to N do
    Read ( A[i,j] );
              {Вывод исходной матрицы}
  Writeln ('Исходная матрица A');
  for i := 1 to N do
    Begin
      for j := 1 to N do
        Write ( A[i,j] :8:1 );
      Writeln
    end;
              {подсчет сумм элементов строк}
    for i := 1 to N do
      Begin
        S[i] := 0;
        for j := 1 to N do
          S[i] := S[i] + A[i,j]
      end;
              {сравнение сумм и перестановка строк}
    for i := 1 to N-1 do
      Begin
        K := 1; L := N - i + 1;
        for j := 2 to L do
          if S[ j ] > S[ K ]then
            K:= j;
              {замена суммы переставляемой строки}
        S[ K] := S[ L ];
              {перестановка строк через буферную переменную}
        for j := 1 to N do
          Begin
            R := A[K,j];
            A[K,j] := A[L,j];
            A[L,j] := R
          end
      end;
              {Вывод результирующей матрицы}
    Writeln ('Отсортированная матрица');
    for i := 1 to N do
      Begin
        for j := 1 to N do
          Write ( A[i,j] :8:1 );
        Writeln
      End
End.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2016, 12:50
Ответы с готовыми решениями:

Поменять местами наибольший и наименьший элементы матрицы
Поменять местами наибольший и наименьший элементы матрицы

Поменять местами наибольший и наименьший элементы матрицы
Заполнение масива 3 способами. 1. Как константу. 2. Случайные числа. 3. Вручную. Меню организовано с помощью оператора case. ...

Поменять местами наибольший и наименьший элементы матрицы
Сформировать матрицы{aij}n,m , {bij}k,l , где i&lt;=(n,k), j&lt;=(m,l) , элементы которых определяются случайно из диапазона целых чисел от -100...

2
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
06.04.2016, 15:34
Если только по примеру:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const mm=10; nm=10;
var
  a: array [1..mm,1..nm] of Real;
  mx, mn, t: Real;
  m, n, i, j, imx, imn: Integer;
begin
  Randomize;
  repeat Write('M [1..',mm,'] N [1..',nm,']: '); ReadLn(m,n); 
  until (m in [1..mm]) and (n in [1..nm]);
  for i:=1 to m do for j:=1 to n do a[i,j]:=Random*100;
  WriteLn('A =');
  for i:=1 to m do begin
    for j:=1 to n do Write(a[i,j]:8:2); WriteLn;
  end;
  imn:=1; imn:=1; mn:=a[1,1]; mx:=a[1,1];
  for i:=1 to m do
    for j:=1 to n do begin
      if mn>a[i,j] then begin imn:=i; mn:=a[i,j]; end;
      if mx<a[i,j] then begin imx:=i; mx:=a[i,j]; end;
    end;
  WriteLn('Строки min: ',imn,', max: ',imx);
  if imn<>imx then
    for j:=1 to n do begin
      t:=a[imn,j]; a[imn,j]:=a[imx,j]; a[imx,j]:=t;
    end;
  WriteLn('A''=');
  for i:=1 to m do begin
    for j:=1 to n do Write(a[i,j]:8:2); WriteLn;
  end;
end.
0
0 / 0 / 0
Регистрация: 21.12.2015
Сообщений: 7
06.04.2016, 16:26  [ТС]
bormant, спасибо, попробую=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2016, 16:26
Помогаю со студенческими работами здесь

Найти наибольший и наименьший элементы матрицы и поменять их местами
9 P(N,N) Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали. N&lt;=5 ...

Найти наибольший и наименьший элементы матрицы и поменять их местами.
Хотел попросить о помоши в решении данной задачи . Условие: Найти наибольший и наименьший элементы матрицы и поменять их местами....

Поменять местами наибольший и наименьший элементы каждой строки.
Поменять местами наибольший и наименьший элементы каждой строки. Помогите пожалуйста решить, оч надо, я почти написал, но не все...

Найти наибольший и наименьший элементы прямоугольной матрицы и поменять их местами
найти наибольший и наимменьший элементы прямоугольной матрицы и поменять их местами.

Найти наибольший и наименьший элементы прямоугольной матрицы и поменять их местами
Уважаемы программисты, выручите меня пожалуйста с задачами на матрицы: 1. Найти наибольший и наименьший элементы прямоугольной матрицы и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru