Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 772

/ вопрос открыт /

Здравствуйте, эксперты!
Я только учусь, но очень хочу разобраться.
Есть задача:
В целочисленной матрице (квадратной) определить-
1. сумму элементов в тех строках, которые не содержат нулей.
2. максимум среди произведений элементов диагоналей, параллельных главной диагонали матрицы.

Alex Detlikovich Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Alex Detlikovich (статус: Посетитель)
Вопрос отправлен: 29 ноября 2010, 17:32
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 5; последнее сообщение — 29 ноября 2010, 18:18; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 29 ноября 2010, 17:37 [#1]:

А проблема в чем? не знаем, что такое for, не знаем, как индексировать массив, как его ввести?
Или просто хочется, что бы кто то сделал лабку?
Галочка "подтверждения прочтения" - вселенское зло.
Alex Detlikovich

Alex Detlikovich (статус: Посетитель), 29 ноября 2010, 17:57 [#2]:

Добрый день Вадим.

ввожу код
type matrix = array [1..11,1..11] of integer;
var
A:matrix;
i,j,m,n,sum1,sum2:integer;

begin
{ TODO -oUser -cConsole Main : Insert code here }

write ('Test:',#10,#10, 'Matrix of A(N,N), where',#10,
'N <= 10. Calculate the summs of main ',#10,'secondary diagonals. Result output on screen',#10,#10);
write ('Input number of lines: '); readln(m);
write ('Input number of col: '); readln(n);
writeln;

// Проверка на квадратичность матрицы.

if m <> n then
writeln('Error! Matrix is not square!')
else

// Заполняем матрицу
begin
for i:=1 to n do
for j:=1 to m do begin
write('A[',i,',',j,'] = ');
readln (A[i,j]);
end;

writeln ('Исходная матрица: ');

// выводим массив
for i:=1 to n do
for j:=1 to n do begin
writeln ('A[',i,',',j,'] = ',A[i,j]);
end;
Alex Detlikovich

Alex Detlikovich (статус: Посетитель), 29 ноября 2010, 18:00 [#3]:

но тут нужна функция на подсчет строк - ее я понимаю как пришить, а вот с диагональю проблема
min@y™

min@y™ (статус: Доктор наук), 29 ноября 2010, 18:07 [#4]:

Могу написать такую лабу. Но только завтра, щас только с работы пришёл, устал.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Вадим К

Вадим К (статус: Академик), 29 ноября 2010, 18:18 [#5]:

интересно, зачем человека спрашивать кол-во строк и стобцов, если матрица - квадратная?
С другой стороны в программе ошибка, если матрица не квадратная, то она матрицу вводить не будет, но что то посчитает:)
Проверить, если ли в строке ноль - это просто
for i:=1 to n do
for j:=1 to n do begin
 if a[i,j] = 0 then begin
   Writeln('в строке ', i, ' найден ноль!');
   break;
  end;
подсказки:)
главная диагональ - индексы равны.
не главная диагональ - сумма индексов на единицу больше размерности (если индексация начинается с нуля).
Галочка "подтверждения прочтения" - вселенское зло.

29 ноября 2010, 18:46: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Алгоритмы, преобразования модератором Ерёмин А.А.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.03 сек.