Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Jleprekon
0 / 0 / 0
Регистрация: 04.11.2015
Сообщений: 12
1

Вывести на экран минимальное значение в каждом столбце матрицы

04.11.2015, 13:30. Просмотров 858. Ответов 3
Метки нет (Все метки)

Дана квадратная вещественная матрица размерности n. Вывести на экран минимальное значение в каждом столбце.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2015, 13:30
Ответы с готовыми решениями:

Найти в каждом столбце матрицы max и min элементы матрицы и вывести новую матрицу на экран
S (3,3) найти в каждом столбце матрицы max и min элементы матрицы и вывести...

Определить и вывести на экран сумму положительных элементов в каждом столбце матрицы
:help:Хотя бы одну на двумерный массив: 1)Даны действительные квадратные...

Определить и вывести на экран количество отрицательных элементов в каждом столбце матрицы
Определить и вывести на экран количество отрицательных элементов в каждом...

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

Найти минимальное/максимальное значение в каждой строке/столбце матрицы
Помогите пожалуйста составить программу Т_Т: Дана матрица размера 5 x 10. Найти...

3
vint-81
охотник
1009 / 533 / 650
Регистрация: 29.09.2014
Сообщений: 1,083
04.11.2015, 14:56 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses math;
type mas=array of real;
     matr=array of mas;
var a:matr;
    n,i,j:integer;
begin
 randomize;
 write('n = ');readln(n);
 setlength(a,n,n);
 for j:=0 to n-1 do
  begin
   for i:=0 to n-1 do
    begin
     a[i,j]:=random*(random(20)-random(20));
     write(a[i,j]:6:1);
    end;
   writeln
  end;
 writeln('min');
 for j:=0 to n-1 do write(minvalue(a[j]):6:1);
 readln
end.
1
Jleprekon
0 / 0 / 0
Регистрация: 04.11.2015
Сообщений: 12
03.12.2015, 20:18  [ТС] 3
vint-81, Не могли бы помочь еще раз?
Задание оформить с использованием функций и процедур. Нахождение основных значений оформить через функцию, а вывод на печать – через процедуру.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
4041 / 2659 / 2135
Регистрация: 22.11.2013
Сообщений: 7,467
04.12.2015, 14:56 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
const n=5; W=8; D=2;
type
  TVector = array [1..n] of Real;
  TMatrix = array [1..n] of TVector;
procedure vRand(var v: array of Real; a, b: Real);
var i: Integer;
begin
  for i:=Low(v) to High(v) do v[i]:=a+b*Random;
end;
function vMin(const v: array of Real): Real;
var i: Integer; m: Real;
begin
  m:=v[Low(v)]; for i:=Low(v)+1 to High(v) do if m>v[i] then m:=v[i];
  vMin:=m;
end;
procedure vWrite(const v: array of Real);
var i: Integer;
begin
  for i:=Low(v) to High(v) do Write(v[i]:W:D); WriteLn;
end;
procedure mWrite(const m: TMatrix);
var i, j: Integer;
begin
  for j:=Low(m[Low(m)]) to High(m[Low(m)]) do begin
    for i:=Low(m) to High(m) do Write(m[i,j]:W:D); WriteLn;
  end;
end;
var
  a: TMatrix;
  b: TVector;
  i: Integer;
begin
  Randomize;
  for i:=1 to n do vRand(a[i],-20,40);
  for i:=1 to n do b[i]:=vMin(a[i]);
  WriteLn('A='); mWrite(a);
  WriteLn('B='); vWrite(b);
end.
Добавлено через 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
const n=5; W=8; D=2;
type
  TVector = array [1..n] of Real;
  TMatrix = array [1..n] of TVector;
procedure vRand(var v: array of Real; a, b: Real);
var i: Integer;
begin
  for i:=Low(v) to High(v) do v[i]:=a+b*Random;
end;
procedure vWrite(const v: array of Real);
var i: Integer;
begin
  for i:=Low(v) to High(v) do Write(v[i]:W:D); WriteLn;
end;
procedure mWrite(const m: TMatrix);
var i: Integer;
begin
  for i:=Low(m) to High(m) do vWrite(m[i]);
end;
function mMinCol(const a: TMatrix; j: Integer): Real;
var i: Integer; m: Real;
begin
  m:=a[Low(a),j]; for i:=Low(a)+1 to High(a) do if m>a[i,j] then m:=a[i,j];
  mMinCol:=m;
end;
var
  a: TMatrix;
  b: TVector;
  i: Integer;
begin
  Randomize;
  for i:=1 to n do vRand(a[i],-20,40);
  for i:=1 to n do b[i]:=mMinCol(a,i);
  WriteLn('A='); mWrite(a);
  WriteLn('B='); vWrite(b);
end.
Добавлено через 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
const W=8; D=2;
type
  TVector = array of Real;
  TMatrix = array of TVector;
procedure vRand(var v: array of Real; a, b: Real);
var i: Integer;
begin
  for i:=Low(v) to High(v) do v[i]:=a+b*Random;
end;
procedure vWrite(const v: array of Real);
var r: Real;
begin
  for r in v do Write(r:W:D); WriteLn;
end;
procedure mWrite(const m: TMatrix);
var i: Integer;
begin
  for i:=Low(m) to High(m) do vWrite(m[i]);
end;
function mMinCol(const a: TMatrix; j: Integer): Real;
var i: Integer; m: Real;
begin
  m:=a[Low(a),j]; for i:=Low(a)+1 to High(a) do if m>a[i,j] then m:=a[i,j];
  mMinCol:=m;
end;
var
  a: TMatrix;
  b: TVector;
  n, i: Integer;
begin
  Randomize;
  Write('N: '); ReadLn(n);
  SetLength(a,n,n); SetLength(b,n);
  for i:=0 to Pred(n) do vRand(a[i],-20,40);
  for i:=0 to Pred(n) do b[i]:=mMinCol(a,i);
  WriteLn('A='); mWrite(a);
  WriteLn('B='); vWrite(b);
end.
Добавлено через 13 минут
Поколоночное хранение, динамические массивы:
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
const W=8; D=2;
type
  TVector = array of Real;
  TMatrix = array of TVector;
procedure vRand(var v: array of Real; a, b: Real);
var i: Integer;
begin
  for i:=Low(v) to High(v) do v[i]:=a+b*Random;
end;
function vMin(const v: array of Real): Real;
var r, m: Real;
begin
  m:=v[Low(v)]; for r in v do if m>r then m:=r;
  vMin:=m;
end;
procedure vWrite(const v: array of Real);
var r: Real;
begin
  for r in v do Write(r:W:D); WriteLn;
end;
procedure mWrite(const m: TMatrix);
var i, j: Integer;
begin
  for j:=Low(m[Low(m)]) to High(m[Low(m)]) do begin
    for i:=Low(m) to High(m) do Write(m[i,j]:W:D); WriteLn;
  end;
end;
var
  a: TMatrix;
  b: TVector;
  n, i: Integer;
begin
  Randomize;
  Write('N: '); ReadLn(n);
  SetLength(a,n,n); SetLength(b,n);
  for i:=0 to Pred(n) do vRand(a[i],-20,40);
  for i:=0 to Pred(n) do b[i]:=vMin(a[i]);
  WriteLn('A='); mWrite(a);
  WriteLn('B='); vWrite(b);
end.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2015, 14:56

максимальное значение чисел в каждом столбце матрицы и его номер.
Введите матрицу вещественных чисел, размером N*M(N<=5, M<=8). Найдите...

В каждом столбце матрицы найти наибольшее значение и сформировать одномерный массив из найденных значений
Дана вещественная матрица X размера 6×8. В каждом столбце найти наибольшее...

Как вывести минимальное и максимальное значение на экран?
program 1; uses crt; var a: array of real; i,j: integer; b:...


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

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

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