Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
winson22
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 19
1

Матрица, офрмить ввиде процедуры.

15.01.2012, 19:12. Просмотров 330. Ответов 1
Метки нет (Все метки)

1.Даны целочисленные матрица A[1:N,1:M] и массив B[1:K]. Написать программу, которая удаляет элементы тех строк A, номера которых отсутствуют в массиве B, и вычисляет произведение элементов оставшихся строк. Вычисления оформить в виде процедуры.


Начал решать,но никак не могу её до конца доделать, нужна помощь...
Вот как начинал:
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
program n_1;
const lmax=10;
type matr=array [1..lmax,1..lmax] of integer;
type mass=array [1..lmax] of integer;
A:matr;
B:mass;
var i,j,m,n,k;
begin
writeln('Введите размер матрицы')
repeat
read(n,m)
until (n>0) and (m>0) and (n<=lmax) and (m<=lmax);
writeln('Введите матрицу');
for i:=1 to n do
 for j:=1 to m do
read (A[i,j]);
repeat
read (k);
until (k>0) and (k<=lmax);
writeln ('Введите массив')
for i:=1 to k do
read (b[i]);
Procedure vvod (var A:matr; var B:mass);
var i,j,m,c,p,d,l,g:integer;
flag:boolean;
begin 
d:=1;
g:=0;
for i:=1 to n do
begin flag:=false;
for l:=1 to k do
 if i=b[k] then flag:=true;
 if flag=true then 
 for p:=1 to m do begin
 A[d,p]:=A[i,p];
d:=d+1;
end;
else g:=g+1;
end;
d:=1;
for i:=1 to g-1 do
 for j:=1 to m do
  c:=c-A[i,j];
writeln(d);
end;
procedure proizvedenie (var A(i:matr,l,c:integer,var p:integer);
vari,j:integer;
begin
p:=1;
for i:=1 to c
  for j:=1 to l
   p:=p*A[i,j];
 end;
begin
vvod_matr(A,n,m);
vvod_mass(B,k);
{тут я как понимаю нужно вызывать процедуру вывода?}
end.
Добавлено через 3 часа 34 минуты
+++++

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2012, 19:12
Ответы с готовыми решениями:

Матрица, процедуры, ф-ии
Если количество ненулевых элементов в матрице В, размерностью m x n меньше ,...

Матрица,процедуры
Сформировать из столбцов матрицы В матрицу С , в которой столбцы расположены в...

Матрица, процедуры, функции.
помогите, составить программу на Паскале, 2 способами с помощью подпрограмм...

Матрица, процедуры, строки :<
Разработать программу для выполнения над матрицей размером 5х5. Вычитание из...

Почему матрица не возвращается из процедуры?
Двумерный массив &quot;mat&quot; не изменяется, есть кто более компетентный? текст...

1
sheldon-yura
30 / 30 / 15
Регистрация: 02.11.2011
Сообщений: 216
16.01.2012, 14:51 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
program n_1;
uses crt;
const lmax=10;
type matr=array [1..lmax,1..lmax] of integer;
type mass=array [1..lmax] of integer;
var    i,j,m,n,k,c,p,d,l,g:integer;A:matr; B:mass;
procedure vvod(var i,j,m,n,k:integer;A:matr; B:mass );
begin
writeln('Ââåäèòå Г°Г*çìåð Г¬Г*òðèöû') ;
readln(n);
writeln('Ââåäèòå Г°Г*çìåð Г¬Г*òðèöû')  ;
readln(m);
writeln('Ââåäèòå Г¬Г*òðèöó');
for i:=1 to n do
 for j:=1 to m do
read (A[i,j]);
writeln ('Ââåäèòå Г¬Г*Г±Г±ГЁГў') ;
read (k);
for i:=1 to k do
read (b[i]);
end;
Procedure vvod_1 (var A:matr; var B:mass);
var i,j,m,n,c,p,d,l,g,k:integer;
flag:boolean;
begin
d:=1;
g:=0;
for i:=1 to n do
begin flag:=false;
for l:=1 to k do
 if i=b[k] then flag:=true;
 if flag=true then
 for p:=1 to m do begin
 A[d,p]:=A[i,p];
d:=d+1;
end
else g:=g+1;
end;
d:=1;
for i:=1 to g-1 do
 for j:=1 to m do
  c:=c-A[i,j];
writeln(d);
end;
procedure proizvedenie (var A:matr; l,c:integer; var p:integer);
var i,j:integer;
begin
p:=1;
for i:=1 to c do
  for j:=1 to l do
   p:=p*A[i,j];
 end;
begin
vvod(i,j,m,n,k,a,b);
vvod_1(a,b);
proizvedenie(a,l,c,p);
{ГІГіГІ Гї ГЄГ*ГЄ ГЇГ®Г*ГЁГ¬Г*Гѕ Г*ГіГ¦Г*Г® âûçûâГ*ГІГј ïðîöåäóðó âûâîäГ*?}
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2012, 14:51

Процедуры. Матрица. В строках с отрицательным элементом на главной диагонали найти сумму всех элементов
Значит задание такое: .Дана действительная квадратная матрица порядка n. В...

Процедуры и функции: получить вектор А * b (A - матрица, b - вектор)
Есть квадратная матрица A порядка n и вектор b с n элементами. Получить вектор...

Составить ведомость об. использование горючие работников на предприятие ввиде таблице
Пожалуйста помоги решить ещё одну задачку. Буду очень сильно блогодарен ...


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

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

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