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

Дана матрица 3х3. Поменять местами максимальный и минимальный элементы

19.03.2013, 23:35. Показов 1379. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что неправильно? В строке 35, 36 или 37 иногда выходит Ошибка: 0 - выход за границы диапазона изменения индекса 1..3.
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
uses crt;
const n=3;
var a:array [1..n,1..n] of integer;
    i,j,max,min,imax,jmax,imin,jmin,t:integer;
begin
clrscr;
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(30);
writeln('Исходная матрица');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
max:=a[1,1];
min:=a[1,1];
for i:=1 to n do
for j:=1 to n do
begin
if a[i,j]>max then
begin
max:=a[i,j];
imax:=i;
jmax:=j;
end;
if a[i,j]<min then
begin
min:=a[i,j];
imin:=i;
jmin:=j;
end;
end;
t:=a[imax,jmax];
a[imax,jmax]:=a[imin,jmin];
a[imin,jmin]:=t;
writeln('Новая матрица');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2013, 23:35
Ответы с готовыми решениями:

Дана матрица. Поменять местами столбцы, содержащие минимальный и максимальный элементы
2) Дана матрица размерами M*N. Поменять местами столбцы, содержащие минимальный и максимальный...

В матрице найти минимальный и максимальный элементы и их координаты, поменять местами минимальный и максимальный элементы
В матрице размером n на m (1&lt;n, m&lt;10) (ввод n, m и матрицы с клавиатуры) найти минимальный и...

Найти минимальный и максимальный элементы и их координаты, поменять местами минимальный и максимальный элемент
3) В матрице размером n на m (1&lt;n, m&lt;10) (ввод n, m и матрицы с клавиатуры) найти минимальный и...

Дана матрица размера 5 x 10. Поменять местами столбцы, содержащие минимальный и максимальный элементы матрицы
помогите исправить эту задачу чтобы выполнялось как сказано в условии uses crt; const n=5; ...

1
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
20.03.2013, 06:32 2
Дарья21, если максимальный или минимальный элемент находится в первых строке и столбце (то есть a[1,1]), то imax, jmax (imin, jmin) в ходе поиска не изменяются и равны нулю. Таким образом максимальное (минимальное) = a[0,0], а это выход за границы диапазона.
В строках 17, 18 нужно дописать:
Pascal
1
2
max:=a[1,1]; imax:=1; jmax:=1;
min:=a[1,1]; imin:=1; jmin:=1;
а можно вообще не пользоваться переменными max, min, использовать только imax, jmax, imin, jmin, тогда программа будет выглядеть так:
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
uses
  crt;
const
  n = 3;
var
  a: array [1..n, 1..n] of integer;
  i, j, imax, jmax, imin, jmin, t: integer;
begin
  clrscr;
  for i := 1 to n do
    for j := 1 to n do
      a[i, j] := random(30);
  writeln('Исходная матрица');
  for i := 1 to n do
  begin
    for j := 1 to n do
      write(a[i, j]:3);
    writeln;
  end;
  imax:=1; jmax:=1;
  imin:=1; jmin:=1;
  for i := 1 to n do
    for j := 1 to n 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;
  t := a[imax, jmax];
  a[imax, jmax] := a[imin, jmin];
  a[imin, jmin] := t;
  writeln('Новая матрица');
  for i := 1 to n do
  begin
    for j := 1 to n do
      write(a[i, j]:3);
    writeln;
  end;
end.
1
20.03.2013, 06:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2013, 06:32
Помогаю со студенческими работами здесь

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

Дана матрица размера M × N. Поменять местами строки, содержащие минимальный и максимальный элементы матрицы
Я написал программу меняющую максимальный и минимальный элемент местами, но поменять строчки в...

Дана матрица размера 6x9. Поменять местами строки содержащие минимальный и максимальный элемент
дана матрица размера 6x9 поменять местами строки содержащие минимальный и максимальный элемент...

Дана матрица B[N,M]. Найти в каждой строке матрицы максимальный и минимальный элемент и поменять их местами
Здравствуйте, есть вот такая задачка: Дана матрица B. Найти в каждой строке матрицы максимальный и...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru