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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2017, 21:34   #1
jackass92
Новичок
Джуниор
 
Регистрация: 10.01.2017
Сообщений: 1
По умолчанию Двумерный массив в Делфи(СРОЧНО)

Ребята, помогите, пожалуйста. Пропустил лекцию по двумерным массивам и теперь вообще не пойму, как это делается. Алгоритмы писать умею, а вот с программами - беда. Иду на автомат, а две проги всё портят. Вот два задания, буду очень признателен.
а) Для массива L(N,M) найти кол-во положительных, отрицательных и нулевых элементов;
б) Из массива M(4,5) сформировать массив B(5), каждый элемент которого равен произведению ненулевых элементов соответствующего столбца массива M.
jackass92 вне форума Ответить с цитированием
Старый 10.01.2017, 23:06   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Определи константы row = N и col = M // строка и колонка
Определи тип массива, например
Type TMas = array[1..row,1..col] of integer;
Опиши процедуру, инициализации массива
Код:
procedure Init(var mas: TMas);
var i, j : integer;
begin
   randomize;
   for i:= 1 to row do
      for j:= 1 to col do
         mas[i,j] := random(100)-50;
end;
Опиши процедуру анализа элементов массива
Код:
procedure Analiz(mas: var TMas; Pos,Zer,Neg: integer);
var i, j : integer;
begin
   for i:= 1 to row do
      for j:= 1 to col do
         if mas[i,j] > 0 then
            pos := pos + 1
         else
            if mas[i,j] = 0 then
               zer := zer + 1
            else
               neg := neg + 1;
end;
Далее используй это в программе.
PS: Это Паскаль, но думаю, что для переноса в Делфи ума хватит ...
Вторая задача почти аналогична. Для поиска произведения инициализируй переменную единицей, а затем ищи произведение ненулевых элементов:
Код:
...
   Mul := 1;
{Цикл по столбцам}
  {Цикл по строкам}
   if mas[i,j] <> 0 then
      Mul := Mul*mas[i,j];
  {конец цикла по строкам}
   B[j] := Mul;
{конец цикла по столбцам}
...
Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив в Делфи Металлистка Помощь студентам 14 09.12.2012 12:17
двумерный массив делфи VinDiz Помощь студентам 6 19.01.2012 20:49
на зачет решить в делфи двумерный массив. bajge Помощь студентам 9 15.06.2011 10:47
Двумерный массив Делфи приехали MrMorozko Помощь студентам 19 18.12.2010 14:21
Срочно! Горю! Сформировать двумерный массив! malova Паскаль, Turbo Pascal, PascalABC.NET 2 15.04.2009 22:51