Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
5 / 5 / 3
Регистрация: 28.02.2010
Сообщений: 166
1

В каждой строке массива поменять местами максимальный и минимальный элементы

07.11.2010, 15:47. Показов 1561. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано файл в котором находиться прямоугольный массив действительных чисел.В каждом его столбике поменять местами максимальный и минимальный элементы и вывести полученную матрицу в новый файл.
Как поменять местами максимальный и минимальный элементы всего массива я понимаю, но как ограничить действие на строки?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2010, 15:47
Ответы с готовыми решениями:

В матрице найти, в каждой строке максимальный и минимальный элементы и поменять их местами
var a:array of integer; i,j,n,m,max,min,z:integer; begin writeln('n,m'); readln(n,m);...

В заданной матрице В найти в каждой строке максимальный и минимальный элементы и поменять их местами
В заданной матрице В найти в каждой строке максимальный и минимальный элементы и поменять их...

В матрице размером M x N в каждой строке поменять местами максимальный и минимальный элементы строки.
Люди помогите плиз ...(((... очень надо.... В матрице размером M x N в каждой строке поменять...

Найти в каждой строке массива максимальный и минимальный элементы и поменять их с первым и последним элементом соответственно.
здаствуйте ребята прошу поMогите пожалуйста Дан двумерный массив размером n*m, заполненный...

6
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
07.11.2010, 15:49 2
https://www.cyberforum.ru/pasc... 84234.html
1
5 / 5 / 3
Регистрация: 28.02.2010
Сообщений: 166
07.11.2010, 16:21  [ТС] 3
Спасибо огромное.
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
07.11.2010, 16:38 4
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
{В каждой строке массива поменять местами максимальный и минимальный элементы}
uses
  CRT;
 
const
  n = 5;
  m = 6;
 
var
  mas: array [1..n, 1..m] of integer;
  j, i, s, min, jmin, jmax, max, temp: integer;
 
begin
  Clrscr;
  randomize;
  writeln('Èñõîäíàÿ ìàòðèöà: ');
  for i := 1 TO n DO
  begin
    for j := 1 TO m DO
    begin
      MAS[i, j] := random(10) - 3;
      write(' ',mas[i, j]:2);
    end;
    writeln;
  end;
  writeln;
  for i := 1 to n do
  begin
    max := mas[i, 1];
    jmax := 1;
    min := mas[i, 1];
    jmin := 1;
    for j := 1 to m do
      if MAS[i, j] < max THEN
      begin
        max := mas[i, j];
        jmax := j;
      end
      else
      if MAS[i, j] > min THEN
      begin
        min := mas[i, j];
        jmin := j;
      end;
    begin
      temp := mas[i,jmin];
      mas[i,jmin] := mas[i,jmax];
      mas[i,jmax] := temp;
    end;
  end;
  writeln;
  WRITELN('Ðåçóëüòèðóþùàÿ ìàòðèöà: ');
  for i := 1 to n do
  begin
    for j := 1 to m do
    begin
      write(' ', mas[i, j]:2);
    end;
    writeln;
  end;
  end.
Добавлено через 12 минут

Не по теме:

только массив действительных чисел сделай.

1
5 / 5 / 3
Регистрация: 28.02.2010
Сообщений: 166
07.11.2010, 18:09  [ТС] 5
Я первый вариант,где считаем в столбцах попробовал переписать.То есть чтобы массив считывало с файла и т.д.
Но вылетает ошибка.
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
type
  mas = array[1..100] of integer; //столбец матрицы
  matr = array[1..100] of mas; //массив столбцов
 
procedure Obmen(var v: mas);
var
  i, imn, imx: byte;
  x,n: integer;
begin
  imn := 1;imx := 1;
  for i := 1 to n do
    if v[i] < v[imn] then imn := i
    else if v[i] > v[imx] then imx := i;
  x := v[imn];
  v[imn] := v[imx];
  v[imx] := x;
end;
 
var
  a: matr;
  i, j: byte;
  f:text;
  n,m:integer;
 
begin
  assign(f,'fail.txt');
  reset(f);
  while not eof(f) do
 begin
  read(f,a[i,j]);
  
  end;
  for i := 1 to n do  //по количеству столбцов
    Obmen(a[i]);  //вызываем процедуру
      close(f);
  
  
  assign(f,'fail1.txt');
   rewrite(f);
  for i := 1 to n do
  begin
    for j := 1 to m do
      write(a[i,j]);
      end;
    close(f);
  
  
end.
В 33 строке выдает ошибку.

Добавлено через 1 час 0 минут
А вообще возможно ли переделать эту программу для работы с файлом без проблем в алгоритме?
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
07.11.2010, 18:20 6
создаёшь файл вида
5
4
2 3 4 -6
6 0 3 3
8 -1 3 9
2 0 0 3
6 5 -3 -2
5-это кол-во строк
4-кол-во столбцов

{Â êàæäîé ñòðîêå ìàññèâà ïîìåíÿòü ìåñòàìè ìàêñèìàëüíûé è ìèíèìàëüíûé ýëåìåíòû}
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
uses
  CRT;
var
  mas: array [1..20, 1..20] of integer;
  m, n, j, i, s, min, jmin, jmax, max, temp: integer;
  f:text;
begin
  Clrscr;
  randomize;
  assign(f, 'C:\1.txt');
  reset(f);
  readln(f, n);
  readln(f, m);
  writeln('Èñõîäíàÿ ìàòðèöà: ');
  for i := 1 TO n DO
  begin
    for j := 1 TO m DO
    begin
      read(f,mas[i, j]);
      write(' ',mas[i, j]:2);
    end;
    writeln;
  end;
  writeln;
  for i := 1 to n do
  begin
    max := mas[i, 1];
    jmax := 1;
    min := mas[i, 1];
    jmin := 1;
    for j := 1 to m do
      if MAS[i, j] < max THEN
      begin
        max := mas[i, j];
        jmax := j;
      end
      else
      if MAS[i, j] > min THEN
      begin
        min := mas[i, j];
        jmin := j;
      end;
    begin
      temp := mas[i,jmin];
      mas[i,jmin] := mas[i,jmax];
      mas[i,jmax] := temp;
    end;
  end;
  writeln;
  WRITELN('Ðåçóëüòèðóþùàÿ ìàòðèöà: ');
  for i := 1 to n do
  begin
    for j := 1 to m do
    begin
      write(' ', mas[i, j]:2);
    end;
    writeln;
  end;
  Close(f);
  end.
1
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
07.11.2010, 18:24 7
вот файлик
Вложения
Тип файла: txt 1.txt (69 байт, 23 просмотров)
0
07.11.2010, 18:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2010, 18:24
Помогаю со студенческими работами здесь

В массиве поменять местами минимальный и максимальный элементы каждой строки
В массиве Р(N,M) (N10; M15) поменять местами минимальный и максимальный элементы каждой строки.

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их
Задание в заголовке, помогите пожалуйста. Пробовал сам написать программу, не верно определяет...

Преобразовать матрицу, поменяв местами минимальный и максимальный элементы в каждой строке
2. Дана матрица размером MxN, заполненная произвольным образом целыми числами из диапазона ....

Найдите в каждой строке матрицы максимальный и минимальный элементы и поменяйте их местами
найдите в каждой строке матрицы максимальный и минимальный элементы и поменяйте их...

Поменять местами максимальный и минимальный элементы в каждой строке
задан двумерный массив A(K,N) Поменять местами максимальный и минимальный элементы в каждой...

Модули: Поменять местами максимальный и минимальный элементы в каждой строке матрицы
Поменять местами максимальный и минимальный элементы в каждой строке матрицы (записать модулями и...


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

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