0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 60
1

Упорядочить матрицу по невозрастанию сумм элементов строк

07.04.2016, 02:23. Показов 1237. Ответов 10
Метки нет (Все метки)

дана матрица m*n. упорядочить матрицу по невозрастанию сумм элементов строк.
задание: кнопкой 1 выводится матрица и рядом с ней стоолбец с суммой элементов сторок.
кнопкой 2 все это дело упорядочивается и выводится в новый стринг грид.
сделано: матрица 5*4 заполняется рандомно от 0 до 200.

Добавлено через 1 час 15 минут
умеем: считать сумму элементов строки и выводить ее во второй грид, а так же чистить все гриды. код:
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
var
  Form1: TForm1;
 const i = 4;
 const j = 5;
   var a : array of array of real;
     q,v:integer;
 w,y:integer;
 sm:real;
 p:byte;
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
 begin
randomize;
sm:=0;
StringGrid1.Visible:=True;
StringGrid1.ColCount:=i;
StringGrid1.RowCount:=j;
StringGrid1.Height:=20*j;
StringGrid1.Width:= 68*i;
for q:=0 to i-1 do
for w:=0 to j-1 do
 begin
StringGrid1.Cells[q,w]:=FloatToStrF(random(100)-50, ffgeneral, 4, 2);
sm:=sm+StrtoFloat(StringGrid1.Cells[q,w]);
StringGrid2.Cells[0,w]:=FloatToStr(sm);
end
end;
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  with StringGrid1 do
  for p:=0 to ColCount-1 do
    Cols[p].Clear;
   with StringGrid2 do
  for p:=0 to ColCount-1 do
    Cols[p].Clear;
    with StringGrid3 do
  for p:=0 to ColCount-1 do
    Cols[p].Clear;
     with StringGrid4 do
  for p:=0 to ColCount-1 do
    Cols[p].Clear;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
 
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
  close;
end;
 
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2016, 02:23
Ответы с готовыми решениями:

Упорядочить строки матрицы по невозрастанию значений сумм элементов строк
Помогите, пожалуйста. Дана действительная матрица размера n•m (n<=8, m<=15). Упорядочить...

Упорядочить строки заданной матрицы по невозрастанию сумм элементов строк методом простого выбора
Дана действительная матрица размером (n, m); упорядочить (переставить) строки матрицы по...

Упорядочить (переставить) строки матрицы по невозрастанию сумм элементов строк методом простого выбора
Помогите решить задачку. Дана действительная матрица размером ; упорядочить(переставить) строки...

Упорядочить матрицу по невозрастанию элементов 5 столбца
help!! помогите решить вот такую задачку. Дан двумерный массив, содержащий 14 строк и 15 столбцов....

10
пофигист широкого профиля
4632 / 3077 / 852
Регистрация: 15.07.2013
Сообщений: 17,740
07.04.2016, 02:27 2
Цитата Сообщение от unior Посмотреть сообщение
умеем: считать сумму элементов строки и выводить ее во второй грид. код:
Pascal
Рад за вас всех, сколько бы вас ни было. А вопрос-то какой?
Это форум. Тут задают вопросы в надежде получить на них квалифицированные ответы.
0
0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 60
07.04.2016, 07:58  [ТС] 3
вопрос.. как отсортировать матрицу и вывести ее в stringgrid?
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
07.04.2016, 09:15 4
Лучший ответ Сообщение было отмечено unior как решение

Решение

Пример сортировки строк в Делфи здесь.
Сортировка строк в StringGrid по возрастанию суммы их элементов
Там по возрастанию, знак > сменишь на <
0
0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 60
10.04.2016, 22:09  [ТС] 5
скопировал пример из архива. Button2.Click не работает. и сумма.. почему-то сумма считается неверно.

Добавлено через 6 минут
20+12+3+6+8+19=21
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
11.04.2016, 06:49 6
Там на кнопке 1 заполняет лишний столбец, нужно
Delphi
1
2
3
4
if Radiobutton2.Checked then
for i:=1 to n do
for j:=1 to m do//там m+1
StringGrid1.Cells[j,i]:=IntToStr(random(20)+1);
кнопка 2 прекрасно работает.
Миниатюры
Упорядочить матрицу по невозрастанию сумм элементов строк  
1
0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 60
11.04.2016, 08:26  [ТС] 7
поправьте меня, где я ошибся, но при нажатии ничего не происходит
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
procedure TForm1.Button2Click(Sender: TObject);
var i,j,l:byte;
    sm,b:integer;
begin
//заполнение
for i:=1 to n do
for j:=1 to m do
x[i,j]:=StrToInt(StringGrid1.Cells[j,i]);
//сумма
for i:=1 to n do
 begin
  sm:=0;
  for j:=1 to m do
  sm:=sm+x[i,j];
  x[i,m+1]:=sm;
  StringGrid1.Cells[m+1,i]:=IntToStr(sm);
 end;
//перестановка
for i:=1 to n-1 do
for l:=i+1 to n do
if x[i,m+1]>x[l,m+1] then
for j:=1 to m+1 do
 begin
  b:=x[i,j];
  x[i,j]:=x[l,j];
  x[l,j]:=b;
 end;
//запись
for i:=1 to n do
for j:=1 to m do
StringGrid2.Cells[j,i]:=IntToStr(x[i,j]);
end;
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
11.04.2016, 08:34 8
Цитата Сообщение от unior Посмотреть сообщение
при нажатии ничего не происходит
А Вы как-то кнопку инициировали или скопировали строку
Delphi
1
procedure TForm1.Button2Click(Sender: TObject);
0
0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 60
11.04.2016, 09:19  [ТС] 9
Двойным нажатием по ней на форме
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
11.04.2016, 09:20 10
Ну выложи архив твоего проекта, а то можно до смерти гадать.
0
0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 60
11.04.2016, 23:16  [ТС] 11
теперь разобрался, спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2016, 23:16
Помогаю со студенческими работами здесь

Упорядочить матрицу по невозрастанию элементов пятого столбца
Дан двумерный массив,содержащий 4 строки и 5 столбцов. Элементами массива являются целые...

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

Упорядочить (переставить) строки матрицы по невозрастанию сумм элементов строки
Нужно составить программу,как можно проще и короче,помогите! Дана действительная матрица...

Упорядочить строки матрицы по невозрастанию максимальных элементов строк
Дана действительная матрица размером m * n: упорядочит строки матрицы по невозрастанию максимальных...


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

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

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