Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Creative1
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 7
1

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

09.05.2017, 12:02. Просмотров 244. Ответов 9
Метки нет (Все метки)

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
Program z1; 
const m=6;n=6; 
type 
massiv1=array[1..n,1..m] of real;  
massiv2=array[1..n] of integer;
var 
a,b:massiv1;
c:massiv2; 
i,j,iMax,x:integer;
begin 
{1} writeln('1)');
for i:=1 to n do 
for j:=1 to m do 
a[i,j]:=(2*i+3*j)*(2*i+3*j)/(exp(ln(i+j+5)*(1/3)));
for i:=1 to n do begin 
for j:=1 to m do 
write(a[i,j]:8:2); 
writeln; 
end;
   for i:=1 to n do 
   for j:=1 to m do 
   b[i,j]:=sqrt((2*i+3*j)*(2*i+3*j)/(exp(ln(i+j+5)*(1/3))));
   for i:=1 to n do begin 
   for j:=1 to m do 
   end;
   
{2}   writeln('2)');
      for j:=1 to n do
      begin
      iMax:=1;
      for i:=2 to n do
      if b[i,j]>b[iMax,j] then iMax:=i;
      writeln('   ',b[iMax,j]:5:2);
      end;
{3}      writeln('3)');
         begin
         for j:=1 to n do
         begin
         iMax:=1;
         for i:=2 to n do
         if b[i,j]>b[iMax,j] then iMax:=i;
         writeln('   ',b[iMax,j]:5:2);
         end;
         x:=0;
         for i:=1 to n do
         for j:=1 to m do
         begin
         x:=x+1;
         b[x]:=a[i,j];
         write(b[x]:4);
         end;
         end;
end.
Добавлено через 14 минут
Условия задачи:
1)Матрица шесть на шесть с формулой, которая дана в программе.
2)Вывести максимальное значение каждого столбца матрицы в корне,вывести как массив
3)Упорядочить элементы по возрастанию.
4)найти y=x1*x3+x3*x5;
Первое задание получилось, второе вышли значения столбиком, а не строчкой. Остальное не получилось
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2017, 12:02
Ответы с готовыми решениями:

Найти седловой элемент матрицы и упорядочить элементы строк матрицы по возрастанию
Дана целочисленная матрица размера M x N. 1) Найти элемент, являющийся...

Упорядочить элементы каждой строки матрицы по возрастанию
Если количество положительных элементов матрицы больше количества отрицательных...

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

Упорядочить элементы каждого столбца матрицы по возрастанию
Требуется написать модуль и программу,использующую его. Сформировать матрицу М...

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

9
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
4229 / 3070 / 3796
Регистрация: 05.06.2014
Сообщений: 15,438
09.05.2017, 12:25 2
Creative1, а почему в программе две матрицы? С которой нужно работать?
0
Creative1
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 7
09.05.2017, 12:32  [ТС] 3
ZX Spectrum-128, Вторую я думал сделать для перевода двумерного в одномерный. С первой нужно работать
0
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
4229 / 3070 / 3796
Регистрация: 05.06.2014
Сообщений: 15,438
09.05.2017, 12:39 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
program z1;
 
const
  m = 6;
  n = 6;
 
type
  matrix = array[1..n, 1..m] of real;
  vector = array[1..n] of real;
 
var
  b: matrix;
  c: vector; 
  i, j, iMax, k: integer;
  x: real;
  v: array[1..n * m]of real;
 
 
begin
  writeln('Исходная матрица:');
  for i := 1 to n do 
  begin
    for j := 1 to m do
    begin
      b[i, j] := sqrt((2 * i + 3 * j) * (2 * i + 3 * j) / (exp(ln(i + j + 5) * (1 / 3))));
      write(b[i, j]:8:2);
    end;  
    writeln;
  end;
  writeln('Максимумы: ');
  k := 0;
  for i := 1 to n do
  begin
    iMax := 1;
    for j := 1 to n do
      if b[i, j] > b[iMax, j] then 
        iMax := i;
    write(b[iMax, j]:8:2);
    inc(k);
    c[k] := b[iMax, j];
  end;
  writeln;
  for i := 1 to n do 
    for j := 1 to m do 
      v[(i - 1) * m + j] := b[i, j];
  for i := 1 to n * m do 
    for j := 1 to n * m - 1 do 
      if v[j] > v[j + 1] then 
        swap(v[j], v[j + 1]);
  for i := 1 to n do 
    for j := 1 to m do 
      b[i, j] := v[(i - 1) * m + j];
  writeln('Отсортированный массив');
  for i := 1 to n do
  begin
    for j := 1 to m do
      write(b[i, j]:8:2);
    writeln;
  end;
end.
Добавлено через 34 секунды
Цитата Сообщение от Creative1 Посмотреть сообщение
найти y=x1*x3+x3*x5;
Вот это не понял. Откуда взялось?
1
Creative1
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 7
09.05.2017, 12:49  [ТС] 5
ZX Spectrum-128, Жаль не могу загрузить фото.
результат должен быть таким:
1)
13.07 32.00 58.17 90.98 129.95 174.72
24.50 48.07 78.44 115.11 157.68 205.84
38.94 66.84 101.17 141.52 187.55 238.99
56.16 88.13 126.23 170.12 219.49 274.10
75.99 111.82 153.53 200.82 253.43 311.13
98.28 137.79 182.98 233.56 289.30 350.02

( из формулы (2*i+3*j)*(2*i+3*j)/(exp(ln(i+j+5)*(1/3))) составляем матрицу 6 на 6)

2) 9.91 11.74 13.53 15.28 17.01 18.71 (из каждого столбца берем максимальное значение и возводим в корень)

3) 9.91 11.74 13.53 15.28 17.01 18.71 (упорядоченная по возрастанию)

4) y=364.23 (9.91*13.53+13.53*17.01)
0
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
4229 / 3070 / 3796
Регистрация: 05.06.2014
Сообщений: 15,438
09.05.2017, 13:16 6
Creative1, так бы сразу и сказали, что сортировка матрицы по строкам.
Цитата Сообщение от Creative1 Посмотреть сообщение
из каждого столбца берем максимальное значение и возводим в корень
Уже столбца? Что такое возведение в корень?
Все страньше и страньше. (С) Алиса
Вы не смогли бы предоставить задание именно в таком виде, как его дал преподаватель?
Честное слово, не хочется писать код не понимая сути задания.
0
Creative1
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 7
09.05.2017, 13:29  [ТС] 7
ZX Spectrum-128, Извините пожалуйста.
Задание общее: Разработать программу решения четырех взаимосвязанных задач частой работы:
1)расчета элементов квадратной матрицы А=(а i,j) i,j=6 по заданной формуле
2)вычисления элементов вектора Х=(х i), i=6 по заданному правилу
3)требуемого упорядочения элементов матрицы А или вектора Х
4)Вычисления значения у по заданной формуле.
Мой вариант:
1) а i,j = (2*i+3*j)*(2*i+3*j)/(exp(ln(i+j+5)*(1/3)))
2) x i =max (sqrt(a ij));
j=1,...,6;
3)Упорядочить элементы вектора Х по возрастанию абсолютных значений
4)y=x1*x3+x3*x5
0
Creative1
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 7
09.05.2017, 19:11  [ТС] 8
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
Program z1; 
const m=6;n=6; 
type 
massiv1=array[1..n,1..m] of real;  
var 
a,b:massiv1;
c:massiv2; 
i,j,iMax,x:integer;
begin 
{1} writeln('1)');
for i:=1 to n do 
for j:=1 to m do 
a[i,j]:=(2*i+3*j)*(2*i+3*j)/(exp(ln(i+j+5)*(1/3)));
for i:=1 to n do begin 
for j:=1 to m do 
write(a[i,j]:8:2); 
writeln; 
end;
   for i:=1 to n do 
   for j:=1 to m do 
   b[i,j]:=sqrt((2*i+3*j)*(2*i+3*j)/(exp(ln(i+j+5)*(1/3))));
   for i:=1 to n do begin 
   for j:=1 to m do 
   end;
   
{2}   writeln('2)');
      for j:=1 to n do
      begin
      iMax:=1;
      for i:=2 to n do
      if b[i,j]>b[iMax,j] then iMax:=i;
      writeln('   ',b[iMax,j]:5:2);
      end;
{3}      writeln('3)');
         begin
         for j:=1 to n do
         begin
         iMax:=1;
         for i:=2 to n do
         if b[i,j]>b[iMax,j] then iMax:=i;
         writeln('   ',b[iMax,j]:5:2);
         end;
         x:=0;
         for i:=1 to n do
         for j:=1 to m do
         begin
         x:=x+1;
         b[x]:=a[i,j];
         write(b[x]:4);
         end;
         end;
end.
0
Миниатюры
Упорядочить элементы матрицы по возрастанию   Упорядочить элементы матрицы по возрастанию  
Creative1
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 7
09.05.2017, 19:11  [ТС] 9
результат должен быть таким:
1)
13.07 32.00 58.17 90.98 129.95 174.72
24.50 48.07 78.44 115.11 157.68 205.84
38.94 66.84 101.17 141.52 187.55 238.99
56.16 88.13 126.23 170.12 219.49 274.10
75.99 111.82 153.53 200.82 253.43 311.13
98.28 137.79 182.98 233.56 289.30 350.02

( из формулы (2*i+3*j)*(2*i+3*j)/(exp(ln(i+j+5)*(1/3))) составляем матрицу 6 на 6)

2) 9.91 11.74 13.53 15.28 17.01 18.71 (из каждого столбца берем максимальное значение и возводим в корень)

3) 9.91 11.74 13.53 15.28 17.01 18.71 (упорядоченная по возрастанию)

4) y=364.23 (9.91*13.53+13.53*17.01)
0
Creative1
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 7
12.05.2017, 20:13  [ТС] 10
ZX Spectrum-128, не можете помочь?
0
12.05.2017, 20:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2017, 20:13

Упорядочить по возрастанию элементы каждого столбца матрицы.
Задание: Составить программу решения задачи на Pascal. Вывод матрицы на...

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

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


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

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

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