Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 39
1

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

08.03.2014, 13:55. Показов 957. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пусть дана матрица А(п х т). Упорядочьте строки по возрастанию сумм цифр элементов этой строки. Воспользуйтесь функцией, определяющей для кажодого числа сумму его цифр.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2014, 13:55
Ответы с готовыми решениями:

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

Упорядочьте строки матрицы по возрастанию их величин. (Подпрограммы)
Нужно решить задачу: Упорядочьте строки матрицы по возрастанию их величин. (Подпрограммы) И...

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

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

2
3030 / 1916 / 1649
Регистрация: 30.04.2011
Сообщений: 3,060
08.03.2014, 14:09 2
Лучший ответ Сообщение было отмечено B00M как решение

Решение

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
const
  p = 3;
  t = 4;
 
var
  a: array [1..p, 1..t] of integer;
  i, j, k, tmp: integer;
 
function sum(x: integer): integer;
var
  s: integer;
begin
  s := 0;
  if x > 0 then
    while x > 0 do
    begin
      s := s + x mod 10;
      x := x div 10
    end;
  sum := s
end;
 
begin
  Randomize;
  for i := 1 to p do
  begin
    for j := 1 to t do
    begin
      a[i, j] := Random(100);
      Write(a[i, j]:5)
    end;
    WriteLn
  end;
  for i := 1 to p do
    for j := 1 to t - 1 do
    begin
      for k := j + 1 to t do
        if sum(a[i, j]) > sum(a[i, k]) then
        begin
          tmp := a[i, j];
          a[i, j] := a[i, k];
          a[i, k] := tmp
        end;
    end;
  WriteLn('-----------');
  for i := 1 to p do
  begin
    for j := 1 to t do
      Write(a[i, j]:5);
    WriteLn
  end;
  ReadLn
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7771 / 4600 / 2824
Регистрация: 22.11.2013
Сообщений: 13,080
Записей в блоге: 1
08.03.2014, 23:09 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
46
const
  LIM=50; W=5; p = 3; t = 4;
 
function sum(x: integer): integer;
var
  s: integer;
begin
  s:=0;
  while x > 0 do begin
    s:=s+x mod 10;
    x:=x div 10
  end;
  sum:=s
end;
 
var
  a: array [0..p, 0..t] of integer;
  i, j: integer;
  done: boolean;
begin
  Randomize;
  WriteLn('A=');
  for i:=1 to p do begin
    a[i,0]:=0;
    for j:=1 to t do begin
      a[i,j]:=Random(LIM);
      Write(a[i,j]:5);
      a[i,0]:=a[i,0]+sum(a[i,j]);
    end; WriteLn
  end;
  repeat
    done:=true;
    for i:=2 to p do
      if a[i-1,0]>a[i,0] then begin
        a[0]:=a[i-1]; a[i-1]:=a[i]; a[i]:=a[0];
        done:=false
      end;
  until done;
  WriteLn('B=');
  for i:=1 to p do begin
    for j := 1 to t do
      Write(a[i,j]:W);
    WriteLn('|',a[i,0]:W);
  end;
  ReadLn
end.
Добавлено через 57 секунд
Прогон:
Код
A=
   18   46   16    7
    5   34   29   45
   44    6   10   14
B=
   44    6   10   14|   20
    5   34   29   45|   32
   18   46   16    7|   33
Добавлено через 8 минут
В решении выше от Kodzaev производится сортировка чисел внутри каждой строки матрицы по возрастанию суммы цифр этих чисел.
В моем решении производится сортировка строк матрицы по возрастанию суммы цифр всех чисел, входящих в строку.

Какой из этих вариантов имелся в виду в задании знает только тот, кто ставил задачу.
0
08.03.2014, 23:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2014, 23:09
Помогаю со студенческими работами здесь

Дана матрица размером M*N. Упорядочить ее строки по возрастанию элементов k-го столбца.
Дана матрица размером M*N. Упорядочить ее строки по возрастанию элементов k-го столбца.

Дана матрица Nxm упорядочить ее строки по возрастанию суммы их элементов
Дана матрица Nxm упорядочить ее строки по возрастанию суммы их элементов Использовать 2 стринг...

Дана матрица размером NxM. Упорядочить её строки по возрастанию их первых элементов
Дана матрица размером NxM. Упорядочить её строки по возрастанию их первых элементов.

Дана матрица размером NxM. Упорядочить их строки по возрастанию их наибольших элементов
Дана матрица размером NxM. Упорядочить их строки по возрастанию их наибольших элементов Помогите...


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

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