Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2012, 19:35   #1
Sash0k13121995
 
Регистрация: 19.04.2012
Сообщений: 7
Вопрос Матрица

Здравствуйте! Помогите решить задачу. Заранее спасибо!

Ввести две матрицы nxm. Найти количество положительных элементов в каждой из матриц и выдать соответствующие сообщения. Задачу решать через процедуры.
Sash0k13121995 вне форума Ответить с цитированием
Старый 19.04.2012, 19:40   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

в чём у вас сложность?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.04.2012, 20:14   #3
Sash0k13121995
 
Регистрация: 19.04.2012
Сообщений: 7
По умолчанию

Никак не могу составить. С циклом с параметром составил, а с процедурой никак. Поможете?
Sash0k13121995 вне форума Ответить с цитированием
Старый 19.04.2012, 20:26   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
function GeCountPositive (const mas: TMatrix; const rows, cols: integer): integer;
var
  count: integer;
  i, j: integer;
begin
  count := 0;
  for i := 1 to rows do
    for j := 1 to cols do
      if mas[i,j] > 0 then
        Inc(count);
  GetCountPositive := count;
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.04.2012, 20:41   #5
Sash0k13121995
 
Регистрация: 19.04.2012
Сообщений: 7
По умолчанию

Спасибо вам большое!
Sash0k13121995 вне форума Ответить с цитированием
Старый 19.04.2012, 20:42   #6
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Тут пример работы с матрицей с помощью прцедуры.
Код:
type
l=array of array of integer;
var mas:l;
............
procedure vvodmatrix(m,n:integer; var a:l);
var i,j:integer;
begin
for i:=0 to m do
for j:=0 to n do
a[i,j]:=i*j;
end;
..........
setlength(mas,10,10);
vvodmatrix(9,9,mas);
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 19.04.2012, 21:58   #7
Sash0k13121995
 
Регистрация: 19.04.2012
Сообщений: 7
По умолчанию

А можно готовую процедуру для паскаля?
Sash0k13121995 вне форума Ответить с цитированием
Старый 19.04.2012, 21:59   #8
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

для чего процедуру?
Какие действия она должна выполнять?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.04.2012, 22:02   #9
Sash0k13121995
 
Регистрация: 19.04.2012
Сообщений: 7
По умолчанию

Эту программу надо написать через процедуры.

program variant_7;
uses crt;
const n=5;
const m=6;
var a,b:array[1..n,1..m] of integer;
i,j,k,p:integer;
begin
clrscr;
write('Матрица №1:');
randomize;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(10)-5;
for i:=1 to n do
for j:=1 to m do
begin
gotoxy(j*5+5,i+1);
write(a[i,j]);
end;
writeln('');
write('Матрица №2:');
randomize;
for i:=1 to n do
for j:=1 to m do
b[i,j]:=random(10)-2;
for i:=1 to n do
for j:=1 to m do
begin
gotoxy(j*5+5,i+7);
write(b[i,j]);
end;
for i:=1 to n do
for j:=1 to m do
begin
if a[i,j]>=0 then inc(k);
end;
for i:=1 to n do
for j:=1 to m do
if b[i,j]>=0 then inc(p);
writeln('');
writeln('В матрице №1 ',k,' положительных элементов.');
writeln('В матрице №2 ',p,' положительных элементов.');
readkey;
end.
Sash0k13121995 вне форума Ответить с цитированием
Старый 19.04.2012, 22:06   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

ну вы даёте
Цитата:
Код:
function GeCountPositive (const mas: TMatrix; const rows, cols: integer): integer;
var
  count: integer;
  i, j: integer;
begin
  count := 0;
  for i := 1 to rows do
    for j := 1 to cols do
      if mas[i,j] > 0 then
        Inc(count);
  GetCountPositive := count;
end;
вот одна
Цитата:
Код:
procedure vvodmatrix(m,n:integer; var a:l);
var i,j:integer;
begin
for i:=0 to m do
for j:=0 to n do
a[i,j]:=i*j;
end;
вот вторая
ток под себя подправте
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Матрица NxN -> текстовый файл -> Матрица NxN - найти max по диагоналям -> типизированный файл Лунатик13 Помощь студентам 1 20.02.2012 15:54
матрица!!! Alenka11 Помощь студентам 0 07.12.2011 19:07
Матрица artem2011 Помощь студентам 0 09.03.2011 00:11
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11