Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Turbo Paskal, Двумерный массив 
:(
    Опции темы
YuliyaKramar
Дата 23.2.2013, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 23.2.2013

Репутация: нет
Всего: нет



Задача такова: Даны две матрицы А(3,9) и В(6,6). Вычислить  z=c(в квадрате)*(d+e)/(f+1), где с и f – количество положительных элементов матриц А и В, d и е – количество отрицательных элементов в матрицах А и В соответственно. Вычисление количества положительных и отрицательных элементов оформить в виде процедур-функций.
Начало программы я написала(вывод двух массивов и вывод кол-ва отриц. и полож. элементов этих массивов).Осталось только вычислить по формуле.Помогите,пожалуйста,кому не трудно!
Вот начало:
Код
uses crt;
const m=6; n=9;
type ma2=array[1..m,1..n]of real;
var a:ma2; b:ma2;
{--------------------------------------------------}
procedure gen(var a:ma2; m,n:integer);
var i,j:integer;
begin
 for i:=1 to m do
  for j :=1 to n do a[i,j]:= -25+random(50);
end;
{-------------------------------------------------}
procedure print(name:string; a:ma2; m,n:integer);
var i,j: integer;
begin writeln('Massiv '+name);
 for i:=1 to m do
begin
 for j:=1 to n do  write (a[i,j]:7:2);
writeln;
end;
end;
{--------------------------------------------------------}
Procedure kol(A:ma2);
 Var i,j,kp,ko:byte;
  Begin
   kp:=0; ko:=0;
   For i:=1 to 6 do
    For j:=1 to 9 do
     If A[i,j]<0 then inc(ko) Else If A[i,j]>0 then inc(kp);
     Writeln('kol-vo pol:',kp);
     Writeln('kol-vo otr:',ko);
 End;
begin
clrscr;
gen(a,3,9); print('A',a,3,9); kol(A);
gen(b,6,6); print('B',b,6,6); kol(B);
Readln;
end.


Это сообщение отредактировал(а) volvo877 - 24.2.2013, 20:36
PM MAIL   Вверх
Licentia
Дата 23.2.2013, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 18.2.2013

Репутация: нет
Всего: нет



Так вам вашу Procedure kol(A:ma2); надо в функцию переделать, чтобы она вам возвращала посчитанные количества.
То есть пишите:
Код
function kol(A:ma2): integer;
Var i,j,kp,ko:byte;
  Begin
   kp:=0; ko:=0;
   For i:=1 to 6 do
    For j:=1 to 9 do
     If A[i,j]>0 then inc(kp);
     result:=kp;
 End;


затем вызываете ее (вместо kol(A), kol(B)):
Код
c:=kol(A);
f:=kol(B);


аналогично находите d и e.
Как найдете, так вычисляйте формулу.

P.s. Странно вы только как-то массив вводите...

Это сообщение отредактировал(а) volvo877 - 24.2.2013, 20:36
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0908 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.