Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 21
1

Матрица, подпрограммы. сформировать одномерный массив В, состоящий из элементов побочной диагонали матрицы А

18.12.2010, 11:14. Показов 3285. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Из заданной матрицы А(5х5), элементы которой формируются как массив случайных чисел, сформировать одномерный массив В, состоящий из элементов побочной диагонали матрицы А. Во вновь сформированном массиве В определить минимальный и максимальный элемент и поменять их местами. Разработать процедуру (функцию).

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
program L6;
uses crt;
var a:array [1..5,1..5] of integer;
    b:array [1..5] of integer;
   max,min,i,j:integer;
begin
clrscr;
 randomize;                   {vvod a}
   for i:=1 to 5 do
   for j:=1 to 5 do
   a[i,j]:=random(10);
 
   writeln('vivod a');
   for i:=1 to 5 do begin      {vivod a}
   for j:=1 to 5 do
   write(a[i,j]:3);
   writeln;
   end;
 
   writeln;
                   writeln('elementi glavnoy diagonali a');
   for i:=1 to 5 do begin
   for j:=1 to 5 do
   if 6-i=j then
   b[i]:=a[i,j];
   writeln('b[i]:=',b[i]);
   end;
 
   writeln;
                     writeln('vivod b');
   for i:=1 to 5 do
   write(b[i]:3);
   writeln;
 
   writeln;
                      writeln('max i min elementi b');
   max:=b[1];
   for i:=1 to 5 do
   if max<b[i] then
   max:=b[i];
   writeln('max:=',max);
   min:=b[1];
   for i:=1 to 5 do
   if min>b[i] then
   min:=b[i];
   writeln('min:=',min);
 
   writeln;
                    writeln('menyaem mestami max i min elementi');
   for i:=1 to 5 do
   for j:=i to 5 do
   if max>min then begin
   b[i]:=max;
   max:=min;
   min:=b[i];
 
   writeln;
   writeln('vivod b posle sortirovki');
 
   end;
   readln;
   end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2010, 11:14
Ответы с готовыми решениями:

Сформировать одномерный массив, состоящий из элементов, расположенных ниже главной диагонали матрицы
Дана квадратная матрица. Сформировать одномерный массив, состоящий из элементов, расположенных ниже...

Сформировать одномерный массив, состоящий из элементов, расположенных ниже главной диагонали матрицы
Дана квадратная матрица. Сформировать одномерный массив, состоящий из элементов, расположенных...

Сформировать одномерный массив, состоящий из элементов, расположенных ниже главной диагонали матрицы
Спасайте 1. Дана квадратная матрица. Сформировать одномерный массив, состоящий из элементов,...

Сформировать одномерный массив из элементов треугольника выше главной и побочной диагонали матрицы
сформировать одномерный массив из элементов квадратной матрицы ,расположенных в заштрихованной...

5
2 / 2 / 3
Регистрация: 19.11.2010
Сообщений: 12
18.12.2010, 14:23 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
uses crt;
var a:array[1..5,1..5] of integer;
    b:array[1..5] of integer;
min,j,i,max,n,m:integer;
begin
clrscr; randomize;
writeln('Matrica A');
for i:=1 to 5 do
 begin
 for j:=1 to 5 do
  begin
  a[i,j]:=random(100)-50;
  write(a[i,j]:4);
  if i=6-j then
  b[i]:=a[i,j];
  end;
 writeln;
 end;
writeln; writeln('Matrica B');
for i:=1 to 5 do
write(b[i]:4);
writeln;
max:=-maxint; min:=maxint;
for i:=1 to 5 do
 begin
 if b[i]>max then
  begin
  max:=b[i];
  n:=i;
  end;
 if b[i]<min then
  begin
  min:=b[i];
  m:=i;
  end;
 end;
Writeln('max=',b[n]:4,' min=',b[m]:4);
j:=b[n]; b[n]:=b[m]; b[m]:=j;
Writeln('New matrica B');
for i:=1 to 5 do
write(b[i]:4);
readkey;
end.
и не понятно: функцию\процедуру чего сделать то?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.01.2011, 11:48 3
Цитата Сообщение от Юлия*** Посмотреть сообщение
Разработать процедуру (функцию).
Какую? Или много?
0
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 21
25.01.2011, 12:22  [ТС] 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
uses crt;
var a:array [1..5,1..5] of integer;
    b:array [1..5] of integer;
   max,min,i,j:integer;
begin
clrscr;
 randomize;                   
   for i:=1 to 5 do
   for j:=1 to 5 do
   a[i,j]:=random(10);
   writeln('vivod a');
   for i:=1 to 5 do begin      
   for j:=1 to 5 do
   write(a[i,j]:3);
   writeln;
   end;
   writeln;
   writeln;
   for i:=1 to 5 do begin
   for j:=1 to 5 do
   if 6-i=j then
   b[i]:=a[i,j];
   writeln('b[i]:=',b[i]);
   end;
   writeln;
    writeln('vivod b');
   for i:=1 to 5 do
   write(b[i]:3);
   writeln;
   writeln;
    writeln('max i min elementi b');
   max:=b[1];
   for i:=1 to 5 do
   if max<b[i] then
   max:=b[i];
   writeln('max:=',max);
   min:=b[1];
   for i:=1 to 5 do
   if min>b[i] then
   min:=b[i];
   writeln('min:=',min);
   writeln;
    writeln;
   for i:=1 to 5 do
   for j:=i to 5 do
   if max>min then begin
   b[i]:=max;
   max:=min;
   min:=b[i];
   writeln;
  for i:=1 to 5 do
   write(b[i]:3)
   writeln;
   end;
   readln;
   end.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.01.2011, 12:40 5
Можно так, можно и по другому...
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
uses crt;
const n=5;
type matr=array [1..n,1..n] of integer;
     mas=array [1..n] of integer;
procedure Matrix(var a:matr);
var i,j:byte;
begin
writeln('Матрица А:');
 for i:=1 to n do
  begin
   for j:=1 to 5 do
    begin
     a[i,j]:=random(10);
     write(a[i,j]:3);
    end;
   writeln;
  end;
writeln;
end;
procedure Massiv(a:matr;var b:mas);
var i:byte;
begin
for i:=1 to n do
b[i]:=a[i,n-i+1];
writeln('Исходный массив В:');
for i:=1 to n do
write(b[i]:3);
writeln;
writeln;
end;
procedure Obmen(var b:mas);
var i,imx,imn:byte;
    x:integer;
begin
imx:=1;imn:=1;
for i:=1 to n do
if b[i]>b[imx] then imx:=i
else if b[i]<b[imn] then imn:=i;
writeln('Максимальный элемент b[',imx,']=',b[imx]);
writeln('Минимальный элемент  b[',imn,']=',b[imn]);
x:=b[imx]; b[imx]:=b[imn]; b[imn]:=x;
writeln('Обмен минимального и максимального элементов:');
for i:=1 to n do
write(b[i]:3);
end;
var a:matr;
    b:mas;
begin
clrscr;
randomize;
Matrix(a);
Massiv(a,b);
Obmen(b);
readln;
end.
0
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 21
25.01.2011, 13:56  [ТС] 6
Мммм...)))) спасибо)
0
25.01.2011, 13:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2011, 13:56
Помогаю со студенческими работами здесь

Сформировать одномерный массив как столбец матрицы,содержащий минимальный элемент на побочной диагонали
2. Сформировать одномерный массив как столбец матрицы, содержащий минимальный элемент на побочной...

Сформировать одномерный массив, состоящий из положительных элементов матрицы
сформировать одномерный массив, состоящий из положительных элементов, располагающихся на главной...

Из матрицы размерностью 3х3 сформировать одномерный массив состоящий из всех элементов матрицы
ребята помогите пожалуйста, запутался, как из матрицы размерностью 3х3 сформировать одномерный...

Сформировать одномерный массив, состоящий из положительных произведений ненулевых элементов матрицы
Добрый день. Нужно было написать код к заданию со следующими условиями: &quot;Сформировать одномерный...


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

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