Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 6
1

Нахождение min и max элементов матрицы, создание матрицы определенного вида

07.01.2015, 21:34. Показов 963. Ответов 2
Метки нет (Все метки)

1. дана матрица, где выше побочной диагонали (включая её саму) нули. сгенерировать матрицу подобного рода
2. сгенерировать матрицу и найти сумму максимального и минимального элемента
3. обе матрицы даны в формате N*N, привести примеры для N=4 и N=10
Помогите пожалуйста...

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
{$DEFINE DEBUG} // режим отладки
const NMAX=50; //максимальное количество элементов в массиве
type mas=array [1..NMAX,1..NMAX]of integer; //скрытие массива для сохранности индексов
 
//------------------------------------------------------------------------------------
 
procedure FillArray (var m:mas;N:integer);
var i,j:integer; //используются как индексы элементов массива
begin
randomize();
for i:=1 to N do //перебор строк
for j:=1 to N do //перебор столбцов
if (i*j<=6)  then //ЕСЛИ произведение индексов <=6 (!!!не работает для N=10!!!) (N задаётся ниже)
begin
m[i,j]:=0 //ТО элемент массива = 0
end
else 
begin
if (i>j) then //определение местонахождения элемента..
m[i,j]:=N-i+1 //..относительно главной диагонали
else
m[i,j]:=N-i+1;
end;
end;
 
//------------------------------------------------------------------------------------
 
procedure FillArrayRandom (var m:mas;min,max,N:integer);
var i,j:integer; //используются как индексы элементов массива
begin
randomize();
for i:=1 to N do //перебор строк
for j:=1 to N do //перебор столбцов
m[i,j]:=min+random(max-min+1); //случайные числа генерируются в данном диапазоне
end;
 
//------------------------------------------------------------------------------------
 
procedure PrintArray (var m:mas;N:integer);
var i,j:integer; //используются как индексы элементов массива
begin
for i:=1 to N do //перебор строк массива
begin
for j:=1 to N do //перебор столбцов массива
write(m[i,j]:3); //вывод элементов одной строки
writeln; //отделяем строки
end;
end;
var a:mas; //массив обьявлен
mi:integer; //минимальный элемент
ma:integer; //максимальный элемент
sym:integer; //сумма этих элементов
n:integer; //количество элементов в массиве
i:integer; //для обхода массива
m:integer;
begin
{$IFDEF DEBUG} //используем основные директивы компилятора
n:=4;
{$ELSE} //esli ne otladka
write('vvedite kol-vo elementov v massive: ');
readln(n); //с каким количеством будет работать программа
 
{$ENDIF}
if ((n>NMAX)or(n<=0)) then
begin
writeln('elementov ne mozhet bit menee 1 u bolee',NMAX);
exit;
end;
FillArray(a,n); //заполнение массива случайными числами
PrintArray(a,n);
writeln('*~~~~~~~~~~~~*');
FillArrayRandom(a,-5,5,n); //случайные числа от -5 до 5
PrintArray(a,n);
mi:=1;
ma:=1;
for i:=1 to N do
begin
end;
 
//!!!!здесь нахождение мин и макс!!!!
 
end.
//writeln('MIN = ', mi);
//writeln('MAX = ', ma);
//sym:=mi+ma;
//writeln('MIN + MAX = ',sym)
//end.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2015, 21:34
Ответы с готовыми решениями:

Среднее арифметическое min и max элементов матрицы
В целочисленном массиве A для каждого столбца найти среднее арифметическое max и min элементов.

Определить, сколько элементов матрицы равны (MAX+MIN) /2
Доброго времени суток! Дана действительная квадратная матрица А порядка N, где N-заданное...

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

Суммы элементов каждого столбца матрицы X(m,n), имеющих значения в интервале Min…Max
Суммы элементов каждого столбца матрицы X(m,n), имеющих значения в интервале Min…Max. Для столбца....

2
Эксперт Pascal/Delphi
6750 / 4529 / 4797
Регистрация: 05.06.2014
Сообщений: 22,351
08.01.2015, 09:21 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
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
84
85
86
87
88
89
90
91
92
{$DEFINE DEBUG} // режим отладки
const NMAX=50; //максимальное количество элементов в массиве
type mas=array [1..NMAX,1..NMAX]of integer; //скрытие массива для сохранности индексов
 
//------------------------------------------------------------------------------------
 
procedure FillArray (var m:mas;N:integer);
var i,j:integer; //используются как индексы элементов массива
begin
randomize();
for i:=1 to N do //перебор строк
for j:=1 to N do //перебор столбцов
if (i*j<=6)  then //ЕСЛИ произведение индексов <=6 (!!!не работает для N=10!!!) (N задаётся ниже)
begin
m[i,j]:=0 //ТО элемент массива = 0
end
else 
begin
if (i>j) then //определение местонахождения элемента..
m[i,j]:=N-i+1 //..относительно главной диагонали
else
m[i,j]:=N-i+1;
end;
end;
 
//------------------------------------------------------------------------------------
 
procedure FillArrayRandom (var m:mas;min,max,N:integer);
var i,j:integer; //используются как индексы элементов массива
begin
randomize();
for i:=1 to N do //перебор строк
for j:=1 to N do //перебор столбцов
m[i,j]:=min+random(max-min+1); //случайные числа генерируются в данном диапазоне
end;
 
//------------------------------------------------------------------------------------
 
procedure PrintArray (var m:mas;N:integer);
var i,j:integer; //используются как индексы элементов массива
begin
for i:=1 to N do //перебор строк массива
begin
for j:=1 to N do //перебор столбцов массива
write(m[i,j]:3); //вывод элементов одной строки
writeln; //отделяем строки
end;
end;
var a:mas; //массив обьявлен
mi:integer; //минимальный элемент
ma:integer; //максимальный элемент
sym:integer; //сумма этих элементов
n:integer; //количество элементов в массиве
j,i:integer; //для обхода массива
m:integer;
begin
{$IFDEF DEBUG} //используем основные директивы компилятора
n:=4;
{$ELSE} //esli ne otladka
write('vvedite kol-vo elementov v massive: ');
readln(n); //с каким количеством будет работать программа
 
{$ENDIF}
if ((n>NMAX)or(n<=0)) then
begin
writeln('elementov ne mozhet bit menee 1 u bolee',NMAX);
exit;
end;
FillArray(a,n); //заполнение массива случайными числами
PrintArray(a,n);
writeln('*~~~~~~~~~~~~*');
FillArrayRandom(a,-5,5,n); //случайные числа от -5 до 5
PrintArray(a,n);
 
//!!!!здесь нахождение мин и макс!!!!
mi:=a[1,1];
ma:=a[1,1];
for i:=1 to N do
  for j:=1 to n do
    begin
      if a[i,j]>ma then
        ma:=a[i,j];
      if a[i,j]<mi then
        mi:=a[i,j];
    end;
 
 
  writeln('MIN = ', mi);
  writeln('MAX = ', ma);
  sym:=mi+ma;
  writeln('MIN + MAX = ',sym)
end.
1
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 6
09.01.2015, 10:28  [ТС] 3
ZX Spectrum-128, Благодарю Вопрос исчерпан
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2015, 10:28

Упорядочить массив по убыванию элементов второй строки и напечатать max и min элементы матрицы
1. Введите массив N и определите, есть ли в нем элементы с одинако-выми значениями 2. Дан...

Найти в каждой строке матрицы среднее арифметическое max отрицательного и min положительного элементов
Составить программу , которая находит в каждой строке матрицы Q(k,l) среднее арифметическое...

Создать массив, элементами которого являются разности max и min элементов соответствующих строк матрицы
Двумерный массив A (m,n) заполнен случайным образом. Создать одномерный массив B(m), элементами...

Поменять местами max и min значения среди элементов, расположенных выше главной диагонали матрицы
Определить и поменять местами максимальное и минимальное значения среди элементов , расположенных...


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

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

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