Помогите с задачкой по турбопаскаль

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
ElRonin
Сообщения: 5
Зарегистрирован: 30 сен 2007, 09:41

Задачка на обработку двумерных массивов

Матрицу A(9,7) заполнить целыми случайными числами в диапазоне (-100 100). Определить количества N(7) положительных элементов в каждом столбце. Найти номер M столбца, в котором количество положительных элементов максимально. Вывести A,M,N.

Очень надеюсь на вашу помощь
tm2007
Сообщения: 9
Зарегистрирован: 05 окт 2007, 01:43

Вот решение задачи.

Код: Выделить всё

program dev1;
type
 Matritsa=array[1..9, 1..7] of Integer;
var
 I, J: Integer;
 N, M, Max: Integer;
 A: Matritsa;
begin
 Randomize;
 {заполняем массив случайными числами из диапазона (-100..100)}
 for I:=1 to 9 do
  for J:=1 to 7 do
   A[I, J]:=Random(200)-100;
 writeln('*Vyvod massiva*');
 {вывод массива А}
 for I:=1 to 9 do
  begin
   for J:=1 to 7 do
    write(A[I, J]:5);
   writeln;
  end;
 Max:=0; {нач. значение макс. кол-ва полож. чисел в одном столбце}
 for J:=1 to 7 do
  begin
   N:=0;
   for I:=1 to 9 do
   {если элемент массива больше 0, то увеличиваем сч-к кол-ва полож. элементов
    в J-ом столбце}
    if A[I, J]>0 then
     N:=N+1;
   writeln('Stolbets ', J, ': polojitelnih elementov ', N);
   {если J-й столбец содержит макс. кол-во полож. элементов, то
    изменяем значение M и Max}
   if N>Max then
    begin
     M:=J;
     Max:=N;
    end;
  end;
 {вывод М}
 if Max=0 then
  writeln('V massive net polojitelnih chisel')
 else
  writeln('M=', M);
 readln;
end.
Ответить