Другие языки программирования и технологии

Помогите написать программу для турбо паскаля

"Определить, сколько элементов побочной диагонали являются простыми числами, а также определить, что для элементов побочной диагонали больше - сумма простых чисел или сумма остальных чисел .Найти суммы чётных чисел над главной диагональю матрицы и под неё. Определить, какая сумма больше. "
Доброго времени суток.

Я бы вам посоветовал начать с функции, проверяющей простое число или нет передано ей в качестве аргумента. Делается это достаточно элементарно, если вспомнить определение простых чисел.

function IsPerfect(p: Integer): Boolean;
var
i, k : Integer;
begin
IsPerfect := True; {предположим, что простое}
if (p = 0) or (p = 1) then Simple := False; {ноль и единица не простые}
k := Trunc(Sqrt(p)); {верхняя граница диапазона поиска делителей}
for i:=2 to k do {от двух до верхней границы ищем делитель числа p}
if p mod i = 0 then begin
IsPerfect := False; {если нашелся, значит не простое}
Break;
end;
end;

Дальше можно начинать разбираться с побочной диагональю. Для этого нужно помнить, что элементы, чьи индексы удовлетворяют условию

i + j = n + 1

лежат на побочной диагонали. Следовательно, индексом столбца будет

j = n + 1 - i

В цикле for i:=1 to n берете элементы A[i, n+1-i] который и будет принадлежать побочной диагонали.

С главной диагональю тоже все просто. Для элементов, лежащих на ней справедливо i = j, т. е. , если при сканировании матрицы j < i, то это будет элемент под главной диагональю. Если же i > j, то над ней.

Просканировать матрицу и найти требуемые суммы попроуйте самостоятельно, иначе это будет уже не помощь.

Удачи!
Michael Kiselev
Michael Kiselev
59 612
Лучший ответ
xakepy.mybb.ru/viewforum.php?id=30