Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 976 ответов!

Подпрограммы, Pascal ABC

10-11 класс

Дано массивы А1(N1,M1), A2(N2,M2), A3(N3,M3). Сформировать одномерные массивы В1, В2, В3, каждый из которых состоит из 2-ух элементов. В первом из них количество положительных элементов массивов А1,А2,А3 соответственно, во втором количество отрицательных элементов массивов А1,А2,А3 соответственно. Определение количества отрицательных и положительных элементов в исходном массиве и формирование одномерного массива осуществить в подпрограмме.

2601oksa1968 26 мая 2013 г., 17:30:06 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Покипси
26 мая 2013 г., 20:16:20 (10 лет назад)

type
  M = array[,] of integer; // двумерный динамический
  V = array[1..2] of integer; // одномерный статический

function nPos(pm: M): integer;
var
  i, j, p: integer;
begin
  p := 0;
  for i := 0 to Length(pm, 0) - 1 do
    for j := 0 to Length(pm, 1) - 1 do
      if pm[i, j] > 0 then p := p + 1;
  nPos := p
end;

function nNeg(pm: M): integer;
var
  i, j, p: integer;
begin
  p := 0;
  for i := 0 to Length(pm, 0) - 1 do
    for j := 0 to Length(pm, 1) - 1 do
      if pm[i, j] < 0 then p := p + 1;
  nNeg := p
end;

procedure GetV(A: M; var C: V);
begin
  C[1] := nPos(A);
  C[2] := nNeg(A)
end;

procedure InitM(var A: M);
var
  i, j: integer;
begin
  for i := 0 to Length(A, 0) - 1 do
    for j := 0 to Length(A, 1) - 1 do
      A[i, j] := random(100) - 50
end;

procedure PrintM(A: M);
var
  i, j: integer;
begin
  for i := 0 to Length(A, 0) - 1 do
  begin
    for j := 0 to Length(A, 1) - 1 do
      write(A[i, j]:4);
    writeln
  end
end;

var
  A1, A2, A3: M;
  B1, B2, B3: V;
  n1, m1, n2, m2, n3, m3: integer;

begin
  Randomize;
  writeln('Введите число строк и столбцов массива');
  readln(n1, m1);
  SetLength(A1, n1, m1);
  InitM(A1);
  Writeln('массив А1');
  PrintM(A1);
  GetV(A1, B1);
  writeln('Количество положительных ', B1[1], ', количество отрицательных ', B1[2]);
  writeln('Введите число строк и столбцов массива');
  readln(n2, m2);
  SetLength(A2, n2, m2);
  InitM(A2);
  Writeln('массив А2');
  PrintM(A2);
  GetV(A2, B2);
  writeln('Количество положительных ', B2[1], ', количество отрицательных ', B2[2]);
  writeln('Введите число строк и столбцов массива');
  readln(n3, m3);
  SetLength(A3, n3, m3);
  InitM(A3);
  Writeln('массив А3');
  PrintM(A3);
  GetV(A3, B3);
  writeln('Количество положительных ', B3[1], ', количество отрицательных ', B3[2]);
end.

Тестовый прогон:

Введите число строк и столбцов массива
3 3
массив А1
   6  11 -46
  24 -41  36
  44   9  18
Количество положительных 7, количество отрицательных 2
Введите число строк и столбцов массива
2 4
массив А2
  37  -4  -2  43
 -18  36   0  44
Количество положительных 4, количество отрицательных 3
Введите число строк и столбцов массива
5 2
массив А3
   5 -15
  49  -1
 -40  35
 -33  -9
 -22 -31
Количество положительных 3, количество отрицательных 7


Ответить

Другие вопросы из категории

Иванов Иван хотел закачать себе на компьютер файл размером 2,2 Гбайта. Скорость закачки файла у него в сети была 310 Кбит/секунду. После того, как он

закачал ровно половину файла, скорость увеличилась в три раза. Какое время ему понадобится, чтобы скачать весь файл. Ответ записать в часах, округлив по математическим правилам до целых чисел

2.

Волк и волчонок, медведь и медвежонок, лис и лисёнок решили переправиться с
левого берега реки на правый берег. У них была лодка, в которую помещались
любые двое из них. Как им переправиться на другой берег, если нельзя оставлять
детёнышей с чужими родителями.





Ребят,на компе нажал открыть через архив теперь все в архивах и ничего открыть не могу!

Как вернуть всё обратно?помогите пожалуйста

Читайте также

ЗАДАЧА ДЛЯ PASCAL ABC: В группе 30 учеников. За выполненный тест они могут

получить от 5 до 15 баллов (Сгенерить случайные числа

Привет, решите пожалуйста задачу в pascal abc

Смотрим фотку!
Спасибо заранее!

34 балла.Решите задачу в pascal abc.


Вы находитесь на странице вопроса "Подпрограммы, Pascal ABC", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.