IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Сумма диагоналей матрицы
!!!ACHTUNG!!
сообщение 25.12.2005 10:44
Сообщение #1


Гость






Помогите решить задачу на нахождение сумм главной и побочной
диагоналей массива порядка М.
вот накидал но решает неверно

Program Matrix13;    {Программа нахождения сумм главной и побочной
диагоналей матрицы порядка М}
Uses
Crt,dos;
const {Ограничим размер матрицы не более 10x10}
Nmax=10;
Mmax=10;
type
Mas=Array[1..Nmax,1..Mmax] of integer;
Var
A:Mas; {Тип массива}
N,M:integer;
I,J:integer;
Sum1,Sum2:Integer; {Суммы по
бочной и главной диагоналей массива}
begin
ClrScr;
WriteLn('Программа нахождения сумм главной и побочной диагоналей ');
WriteLn('матрицы порядка М');
WriteLn;
Write('Введите порядок матрицы M = ');
Read(M);
{Построение массива}
for J:=1 to M do
for I:=1 to M do
begin
Write('A[',J,',',I, ']= ');
read(A[J,I]);
end;
{Нахождение суммы главной диагонали матрицы}
begin
Sum1:=0;
For J:=1 to M do
For I:=1 to M do
J:=I;
if A[J,I]>0 then
Sum1:=Sum1+A[J,I];
WriteLn('Сумма главной диагонали = ',Sum1); {Вывод значения суммы главной диагонали массива}
end;
{Нахождение суммы побочной диагонали матрцы}
begin
Sum2:=0;
For I:=1 to M do
For J:=M downto 1 do
if A[J,I]>0 then
Sum2:=Sum2+A[J,I];
WriteLn('Сумма побочной диагонали = ',Sum2); {Вывод значения суммы побочной диагонали массива}
end;
WriteLn('');
WriteLn('Для завершения нажмите Enter');
ReadLn;
end.


Очень надо!!!

Сообщение отредактировано: volvo - 25.12.2005 10:59
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
volvo
сообщение 25.12.2005 10:59
Сообщение #2


Гость






Ты одним своим постом нарушил практически все пункты правил:
1) пользуемся тегами [ CODE ]
2) не постим новые вопросы в чужие темы, а создаем свою
3) перед тем, как задать вопрос - FAQ + Поиск

Массивы. Матрицы. Типичные задачи. (Cумма элементов на главной диагонали, Cумма элементов на побочной диагонали)
 К началу страницы 
+ Ответить 
!!!ACHTUNG!!
сообщение 25.12.2005 15:49
Сообщение #3


Гость






За всё извините.
Но сделано по формулам, а считает неправильно и
обрывает после ввода значений массива.
 К началу страницы 
+ Ответить 
klem4
сообщение 25.12.2005 19:10
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


проверь ...

                                 Program Matrix13;    {Ïðîãðàììà íàõîæäåíèÿ ñóìì ãëàâíîé è ïîáî÷íîé
{äèàãîíàëåé ìàòðèöû ïîðÿäêà Ì}
Uses
Crt;
const {Îãðàíè÷èì ðàçìåð ìàòðèöû íå áîëåå 10x10}
Nmax=10;
Mmax=10;
type
Mas=Array[1..Nmax,1..Mmax] of integer;
Var
A:Mas; {Òèï ìàññèâà}
N,M:integer;
I,J:integer;
Sum1,Sum2:Integer; {Ñóììû ïî
áî÷íîé è ãëàâíîé äèàãîíàëåé ìàññèâà}
begin
ClrScr;
WriteLn('Ïðîãðàììà íàõîæäåíèÿ ñóìì ãëàâíîé è ïîáî÷íîé äèàãîíàëåé ');
WriteLn('ìàòðèöû ïîðÿäêà Ì');
WriteLn;
Write('Ââåäèòå ïîðÿäîê ìàòðèöû M = ');
Read(M);
{Ïîñòðîåíèå ìàññèâà}
for J:=1 to M do
for I:=1 to M do begin
Write('A[',J,',',I, ']= ');
read(A[J,I]);
end;
{Íàõîæäåíèå ñóììû ãëàâíîé äèàãîíàëè ìàòðèöû}
Sum1:=0;
for i := 1 to m do
Sum1 := Sum1 + A[i,i];
WriteLn('Ñóììà ãëàâíîé äèàãîíàëè = ',Sum1); {Âûâîä çíà÷åíèÿ ñóììû ãëàâíîé äèàãîíàëè ìàññèâà
{Íàõîæäåíèå ñóììû ïîáî÷íîé äèàãîíàëè ìàòðöû}
Sum2:=0;
For I:=1 to M do
Sum2 := Sum2 + A[i,m-i+1];
WriteLn('Ñóììà ïîáî÷íîé äèàãîíàëè = ',Sum2); {Âûâîä çíà÷åíèÿ ñóììû ïîáî÷íîé äèàãîíàëè ìàññèâà}
WriteLn('');
WriteLn('Äëÿ çàâåðøåíèÿ íàæìèòå Enter');
readln;
ReadLn;
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
!!!ACHTUNG!!
сообщение 25.12.2005 20:53
Сообщение #5


Гость






Grand mercy!!!
Всё правильно, ещё раз спасибо!
Но одна проблемка кодировка текста на форуме.
Нельзя ли выложить файл .pas
 К началу страницы 
+ Ответить 
klem4
сообщение 25.12.2005 20:56
Сообщение #6


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


русские буквы все те-же что и у тебя были... там я ничего не менял так что скопируй надписи и все ..


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.06.2025 16:58
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"