Показать сообщение отдельно
  (#2 (permalink)) Старый
Vladimir_S Vladimir_S вне форума
Member
 
Сообщений: 423
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
По умолчанию 14.12.2008, 10:38

Совсем просто. Например, так:

Program Championship;

CONST
N= ; {ввести количество команд}

VAR
i, j, k, Product:INTEGER;
Table: ARRAY[1..N, 1..N] of Integer;
Winners:ARRAY[1..N] of Integer;

BEGIN

{Ввод матрицы с консоли}
FOR i:=1 TO N DO
FOR j:=1 TO N DO
BEGIN
Write('Table[',i:2,j:3,']= '); ReadLn(Table[i,j]);
END;

{Замена диагональных элементов единицами - так удобнее}
FOR i:=1 TO N DO Table[i, i]:=1;

{Собственно проверка}
k:=0;
FOR i:=1 TO N DO
BEGIN
Product:=1;
FOR j:=1 TO N DO Product:=Product*Table[i, j];
IF Product>0 THEN
BEGIN
Inc(k); {или, что тоже самое, k:=k+1}
Winners[k]:=i;
END;
END;

{Выдача итога}
IF k=0 THEN Write('Поражения были у всех команд')
ELSE
BEGIN
Write('Нет поражений у команд NN ');
FOR i:=1 TO k DO
Write(Winners[i]:3);
END;
END.
Ответить с цитированием
Ads