Collekt
1

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

03.06.2013, 01:06. Показов 1546. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В программировании я полный ноль. В паскале дальше циклов не заходил да и то их не понял толком. А подпрограммы вообще не понимаю. Пробовал искать решение задачи. Вопросы похожие есть, но ответов к ним нет. Может быть мне кто-нибудь поможет.
Задача
Составить программу, содержащую подпрограмму (процедуру или функцию), которая в целочисленной матрице размерностью NxM переставляет местами строки с наименьшим и наибольшим элементами. Если эти элементы в одной строке, то подпрограмма сообщает об этом с указанием номера строки. Головная программа должна обеспечивать ввод исходных данных, вызов подпрограммы, вывод исходной матрицы и преобразованной матрицы (или сообщения).

И ещё: задача эта на Borland Pascal, но насколько я знаю, пойдёт и на ABC.
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2013, 01:06
Ответы с готовыми решениями:

Поменять местами строки матрицы с наибольшим и наименьшим элементами
2. Дано натуральное число m, матрица A. Поменять местами строки с наибольшим и наименьшим...

Поменять местами в матрице строки с наименьшим и наибольшим элементами
Дана матрица целых чисел А (n×n). Поменять в ней местами строки с наименьшим и наибольшим...

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

Обработка матриц.В матрице а(3х5) поменять местами элементы с наибольшим и наименьшим значением.
В матрице а(3х5) поменять местами элементы с наибольшим и наименьшим значением. Кто поможет,...

1
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
03.06.2013, 08:13 2
Лучший ответ Сообщение было отмечено как решение

Решение

работает в турбо паскале и pascalAbc
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
60
61
62
63
64
65
66
67
68
69
70
71
const
  nmax=20;
type
  tAr=array[1..20,1..20] of integer;
var
  imin,jmin,imax,jmax: integer;
procedure minimax(a: tAr; n,m: integer; var imin,jmin,imax,jmax: integer);
var i,j: integer;
begin
  imin:=1; jmin:=1; imax:=1; jmax:=1;
  for i:=1 to n do
    for j:=1 to m do
    begin
      if a[i,j]>a[imax,jmax] then
      begin
        imax:=i;
        jmax:=j;
      end;
      if a[i,j]<a[imin,jmin] then
      begin
        imin:=i;
        jmin:=j;
      end;
    end;
  writeln('Max = a[',imax,',',jmax,'] = ',a[imax,jmax]);
  writeln('Min = a[',imin,',',jmin,'] = ',a[imin,jmin]);
end;
procedure change(var a: tAr; n,m: integer);
var i,j,tmp: integer;
begin
  if imax = imin then writeln('Ìèíèìàëüðíûé è ìàêñèìàëüíûé ýëåìåíòû íà îäíîé ñòðîêå') else
    for j:=1 to m do
    begin
      tmp:=a[imin,j];
      a[imin,j]:=a[imax,j];
      a[imax,j]:=tmp;
    end;
end;
 
var
  a: tAr;
  n,m,i,j: integer;
begin
  randomize;
  write('Ââåäèòå ðàçìåðû ìàññèâà n, m: ');
  readln(n,m);
  writeln('Èñõîäíàÿ ìàòðèöà:');
  for i:=1 to n do
  begin
    for j:=1 to m do
    begin
      a[i,j]:=random(99)+1;
      write(a[i,j]:4);
    end;
    writeln;
  end;
  writeln;
  minimax(a,n,m,imin,jmin,imax,jmax);
  change(a,n,m);
  if imin<>imax then
  begin
    writeln('Ïðåîáðàçîâàííûé ìàññèâ:');
    for i:=1 to n do
    begin
      for j:=1 to m do
        write(a[i,j]:4);
      writeln;
    end;
  end;
  readln;
end.
0
03.06.2013, 08:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2013, 08:13
Помогаю со студенческими работами здесь

В массиве целых чисел поменять местами строки с наибольшим и наименьшим элементами
7. В массиве целых чисел поменять местами строки с наибольшим и наименьшим элементами. п.с....

Составить программу которая печатает квадрат разности между наибольшим и наименьшим из чисел
Составить программу которая печатает квадрат разности между наибольшим и наименьшим из чисел.

Паскаль.В матрице а(3х5) поменять местами элементы с наибольшим и наименьшим значением
В матрице а(3х5) поменять местами элементы с наибольшим и наименьшим значением.

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru