IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Матрица,написать программу через процедуру
winson
сообщение 15.01.2012 16:11
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской
Реальное имя: Игорь

Репутация: -  0  +


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


Начал решать,но никак не могу её до конца доделать, нужна помощь...
Вот как начинал:
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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:19
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"