Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.01.2018
Сообщений: 1
1

поменять местами столбец с минимальным элементом и столбец с максимальным элементом

23.01.2018, 00:57. Показов 903. Ответов 2
Метки нет (Все метки)

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

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
program Project2; 
 
{$APPTYPE CONSOLE} 
 
uses 
 SysUtils; 
 
Var i, j, n, r, m :integer; 
K1, K2 :integer; 
a :array[1..100, 1..100] of integer; 
begin 
Write('Введите кол. столбцов: '); 
Readln(n); 
 
Write('Введите кол. строк: '); 
Readln(m); 
 
Writeln('Введите элементы массива: '); 
for i:=1 to n do begin 
for j:=1 to m do begin 
Readln(a[i,j]); 
end; 
end; 
 
for j:=1 to n do 
for i:=1 to m do 
begin 
 if a[i,j]<a[i,j] then 
 r:=a[i,j]; 
 a[i,j]:=a[i,j+1]; 
 a[i,j+1]:=r; 
end; 
 
Writeln('Резульат: '); 
for i:=1 to n do begin 
for j:=1 to m do begin 
Write(' ', a[i,j]); 
end; 
end; 
 
Read(m); 
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2018, 00:57
Ответы с готовыми решениями:

Нужно строку с минимальным элементом поменять местами со столбцом с максимальным элементом
Кто может подсказать что тут не так? procedure TForm1.Button1Click(Sender: TObject); begin...

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

Столбец матрицы с максимальным элементом поменять местами со столбцом с нулевым элементом
Как столбец с максимальным элементом поменять местами со столбцом с нулевым элементом

Двумерные массивы. Поменять местами последний столбец и столбец с минимальным элементом.
Дана матрица размера NxN.Поменять местами последний столбец и столбец с минимальным элементом.

2
3585 / 3056 / 822
Регистрация: 29.08.2013
Сообщений: 20,385
Записей в блоге: 2
23.01.2018, 01:17 2
Цитата Сообщение от Antohamc Посмотреть сообщение
if a[i,j]<a[i,j] then
интересное условие, как думаешь оно выполнится?

Цитата Сообщение от Antohamc Посмотреть сообщение
then
r:=a[i,j];
a[i,j]:=a[i,j+1];
a[i,j+1]:=r;
вот тут тоже неправильно - потому что неправильно отформатировал код
0
498 / 354 / 231
Регистрация: 29.03.2015
Сообщений: 675
23.01.2018, 05:40 3
Лучший ответ Сообщение было отмечено Antohamc как решение

Решение

Код правильной программы:
Delphi
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
72
73
74
75
76
77
78
79
80
81
82
83
program Matrix;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
function rus(S: String): String;
function convert(C: Char): Char;
begin
case C of
'а'..'п':Dec(C, 64);
'р'..'я':Dec(C, 16);
'ё':Inc(C, 57);
'А'..'Я':Dec(C, 64);
'Ё':Inc(C, 72);
end;
result:=c;
end;
var
k:integer;
begin
for k:=1 To length(s) do
s[k]:=convert(s[k]);
result:=s;
end;
var
i,j,n,m,mnc,mxc:integer;
mn,mx,r:real;
a:array of array of real;
begin
{ TODO -oUser -cConsole Main : Insert code here }
write(rus('Введите количество строк матрицы: '));
readln(n);
write(rus('Введите количество столбцов матрицы: '));
readln(m);
setlength(a,n,m);
writeln(rus('Введите элементы матрицы:'));
for i:=0 to n-1 do
for j:=0 to m-1 do
begin
write(rus('Введите элемент A['+inttostr(i+1)+','+inttostr(j+1)+']: '));
readln(a[i,j]);
end;
writeln(rus('Исходная матрица:'));
for i:=0 to n-1 do
begin
for j:=0 to m-1 do
write(a[i,j],' ');
writeln;
end;
mnc:=0;
mxc:=0;
mn:=a[0,0];
mx:=a[0,0];
for i:=0 to n-1 do
for j:=0 to m-1 do
begin
if a[i,j]<mn then
begin
mn:=a[i,j];
mnc:=j;
end;
if a[i,j]>mx then
begin
mx:=a[i,j];
mxc:=j;
end;
end;
for i:=0 to n-1 do
begin
r:=a[i,mnc];
a[i,mnc]:=a[i,mxc];
a[i,mxc]:=r;
end;
writeln(rus('Матрица-результат:'));
for i:=0 to n-1 do
begin
for j:=0 to m-1 do
write(a[i,j],' ');
writeln;
end;
readln;
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2018, 05:40

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Поменять местами столбец с минимальным элементом и последний столбец массива
В массиве необходимо найти номер столбца с минимальным элементом по модулю. Поменять местами...

Поменять местами столбец с максимальным элементом и первый столбец матрицы
ввести двухмерный массив 3*5.Поменять местами столбец с максимальным элементом и первый столбец...

Поменять местами столбец с максимальным элементом и первый столбец массива
ввести двухмерный массив 3*5. Поменять местами столбец с максимальным элементом и первый столбец...

Вывести на экран строку с минимальным элементом и столбец с максимальным элементом файла
Доброго времени суток, помогите с заданием. Создать текстовый файл, в который построчно записать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.