|
Вопрос # 4 772/ вопрос открыт / |
|
Здравствуйте, эксперты!
Я только учусь, но очень хочу разобраться.
Есть задача:
В целочисленной матрице (квадратной) определить-
1. сумму элементов в тех строках, которые не содержат нулей.
2. максимум среди произведений элементов диагоналей, параллельных главной диагонали матрицы.
 |
Вопрос задал: Alex Detlikovich (статус: Посетитель)
Вопрос отправлен: 29 ноября 2010, 17:32
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 29 ноября 2010, 18:18; участников в обсуждении: 3.
|
Вадим К (статус: Академик), 29 ноября 2010, 17:37 [#1]:
А проблема в чем? не знаем, что такое for, не знаем, как индексировать массив, как его ввести?
Или просто хочется, что бы кто то сделал лабку?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
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 (статус: Посетитель), 29 ноября 2010, 18:00 [#3]:
но тут нужна функция на подсчет строк - ее я понимаю как пришить, а вот с диагональю проблема
|
|
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 » Алгоритмы, преобразования модератором Ерёмин А.А.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|