Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ задача по матрице

Автор: Chopper 14.12.2004 22:57

:low: Дана матрица А размером MxN, состоящая из натуральных чисел, больших 1. Выполнить следующие действия:
1) строки матрицы А упорядочить по невозрастанию произведения элементов строк.
2) составить одномерный массив В, в котором элемент Вj, равен номеру столбца, содержа-щего только числа, кратные 5, в противном случае Вj = 0.

Автор: mithquessir 15.12.2004 1:47

Цитата
строки матрицы А упорядочить по невозрастанию произведения элементов строк

Это как?

Автор: volvo 15.12.2004 1:56

mithquessir
Скорее всего, так:

Цитата
2 3
3 9
2 8

Произведения элементов строк: 6, 27, 16... Значит, в результирующей матрице первой будет вторая строка исходной матрицы, потом - третья, а потом - первая.
Chopper
Я прав?

Автор: mithquessir 15.12.2004 2:16

Вот вторая:

Код

const
 n = 3;
 m = 5;
 flg:boolean = false;
 a:array[1..n,1..m] of integer = ((0,5,5,5,1),(10,5,1,5,5),(10,5,5,5,8));
var
 b:array[1..n] of integer;
 i,j,num:integer;
begin
 for i := 1 to m do
   begin
     for j := 1 to n do
       if (a[j,i] mod 5 = 0) and (a[j,i] > 1) then
         flg := true
       else
         begin
           flg := false;
           break;
         end;
     if flg then
     begin
       inc(num);
       b[num] := i;
     end;
   end;
 for i := 1 to num do
 Write(b[i]:2);
end.

volvo
Проверь, что-то она глючно работает. <_<

Автор: volvo 15.12.2004 2:43

mithquessir
Как написал, так и работает... Внимательно прочитай условие...

Код

const
 n = 3; m = 5;
 a:array[1..n, 1..m] of integer =
   ((0,5,5,5,1), (10,5,1,5,5), (10,5,5,5,8));
var
 flag: boolean;
 b: array[1..m] of integer;
 i,j: integer;
begin
 for i := 1 to m do
   begin
     flag := true;
     for j := 1 to n do
       flag := flag and ((a[j,i] mod 5 = 0) and (a[j,i] > 1));
     b[i] := Byte(flag) * i
   end;

 writeln('array B:');
 for i := 1 to m do
   Write(b[i]:2);
 writeln
end.

Автор: Chopper 15.12.2004 2:53

Спасибо ребят, тока че то она не хочет работать как положено, попробую уламать.

Автор: volvo 15.12.2004 3:09

Chopper
Моя программа работает... Проблема в том, что она реализует только вторую часть задания...