Показать сообщение отдельно
Старый 20.05.2009, 10:47   #31 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Kosmos Посмотреть сообщение
2. Размерности массивов следует задать именованными константами.
Задание:
Дана целочисленная прямоугольная матрица. Определить:
1. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрица¬тельный элемент.
2. Найти номер первого из столбцов, не содержащих ни одного положительного элемента.
CONST
N=8;
M=10;
VAR
A:ARRAY[1..N,1..M] of INTEGER;
ColNum,ColSum:ARRAY[1..M] of INTEGER;
i,j,Ncur,p,Number_Neg, Number_Pos:INTEGER;

BEGIN
Randomize;
FOR i:=1 TO N DO
FOR j:=1 TO M DO
A[i,j]:=Random(100)-50;

Number_Neg:=0;
FOR j:=1 TO M DO
BEGIN
p:=0;
i:=0;
REPEAT
INC(i);
IF A[i,j]<0 THEN p:=1;
UNTIL (p=1) OR (i=N);
IF p=1 THEN
BEGIN
INC(Number_Neg);
ColNum[Number_Neg]:=j;
ColSum[Number_Neg]:=0;
FOR i:=1 TO N DO
ColSum[Number_Neg]:=ColSum[Number_Neg]+A[i,j];
END;
END;

Number_Pos:=0;
j:=0;
REPEAT
INC(j);
p:=0;
FOR i:=1 TO N DO
IF A[i,j]>0 THEN p:=1;
IF p=0 THEN Number_Pos:=j;
UNTIL (p=0) OR (j=M);

FOR i:=1 TO N DO
BEGIN
FOR j:=1 TO M DO
Write(A[i,j]:4);
Writeln;
END;

Write('Column number ');
FOR i:=1 TO Number_Neg DO
Write(ColNum[i]:6);
Writeln;
Write(' Column Sums ');
FOR i:=1 TO Number_Neg DO
Write(ColSum[i]:6);
Writeln;

IF Number_Pos=0 THEN
WriteLn('The matrix contains no negative columns') ELSE
Writeln('First negative column number is ',Number_Pos:2);
ReadLn;
END.
Vladimir_S вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070