Помощь - Поиск - Пользователи - Календарь
Полная версия: Массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Desktop
Суть задачи надо найти суму и количество элементов таблицы c[1..5,1..5] котрые находятся под главной диагональю. Пару вопросов:
Найти количесвто отрицательных элементов
Код

var
i,j,s,n:integer;
begin
n:=0;
for i:=1 to 5 do
for j:=1 to i do
begin
if c[i,j]<0 then
n:=n+1;
end;

но что то не считает...
Найти сумму всех элемнтов ниже главной диагонали я знаю
Код

begin
s:=0;
for i:=1 to 5 do
for j:=1 to i do
s:=s+c[i,j];
writeln('Summa=',s);
readln;
end;

а вот как найти отрицательные ?
Романтик
как бы глупо не казалось. но я бы добавил чтение во все коды. именно из-за этого не читает.
volvo
Цитата
но что то не считает...
А ты матрицу заполнил? Есть в ней отрицательные элементы?
Если есть - все должно работать...

Насчет суммы: то же самое:
for i:=1 to 5 do
for j:=1 to i do
if c[i, j] < 0 then s:=s+c[i,j];
Desktop
Цитата(volvo @ 17.03.2006 21:41) *

А ты матрицу заполнил? Есть в ней отрицательные элементы?
Если есть - все должно работать...

Насчет суммы: то же самое:
for i:=1 to 5 do
for j:=1 to i do
if c[i, j] < 0 then s:=s+c[i,j];



Возможно ошибка во вводе элементов ?
Код

const
c:array[1..5,1..5] of integer=((1,-3,5,7,-4),(-2,7,6,4,1),(4,8,3,-1,1),
(2,8,4,3,7),(-2,-8,6,1,4));
Романтик
а в консольном тестировать не пробовали?
volvo
А с такими данными, кстати, все нормально работает:
const
c:array[1..5,1..5] of integer = (
( 1,-3,5, 7,-4),
(-2, 7,6, 4, 1),
( 4, 8,3,-1, 1),
( 2, 8,4, 3, 7),
(-2,-8,6, 1, 4)
);

var
i,j,s,n:integer;
begin
n:=0; s:=0;
for i:=1 to 5 do
for j:=1 to i do

if c[i,j]<0 then begin
n:=n+1; s:=s+c[i,j];
end;

writeln('n = ', n);
writeln('s = ', s);
end.


James_Bond, ты прекратишь бред писАть, или нет??? mad.gif ГДЕ ты видел в ПАСКАЛЕ неконсольный режим???
Desktop
Цитата(volvo @ 17.03.2006 22:00) *

А с такими данными, кстати, все нормально работает:
const
c:array[1..5,1..5] of integer = (
( 1,-3,5, 7,-4),
(-2, 7,6, 4, 1),
( 4, 8,3,-1, 1),
( 2, 8,4, 3, 7),
(-2,-8,6, 1, 4)
);

var
i,j,s,n:integer;
begin
n:=0; s:=0;
for i:=1 to 5 do
for j:=1 to i do

if c[i,j]<0 then begin
n:=n+1; s:=s+c[i,j];
end;

writeln('n = ', n);
writeln('s = ', s);
end.


James_Bond, ты прекратишь бред писАть, или нет??? mad.gif ГДЕ ты видел в ПАСКАЛЕ неконсольный режим???


Да работает спасибо volvo!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.