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

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

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

> Матрица. Суммы диоганалей паралельных главной и побочной, Как сократить программу?
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 36
Пол: Мужской
Реальное имя: Евгений

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


С заданием в принципе справился, но терзают меня смутные сомненья, что ее можно сделать и покороче заменив два цикла подсчета сумм паралельнных Главной(Побочной), на один , например через 2*М-1, но не как не могу справиться с агоритмом изменения индексов матрицы. Может есть у кого какие мысли на этот счет?

Program Massiv;
uses crt;
const M=3;
var
a: Array [1..M,1..M] of Integer;
sum: Integer;
j,I: Byte;
begin
textbackground(white);
clrscr;
textcolor(black);
Writeln('Введите ');
For I := 1 to M do
For j := 1 to M do
begin
Write(i,'-',j,' ');
Readln(a[i,j]);
end;
for i:= 1 to M do
begin
sum:=0;
for j:= 1 to i do
sum:= sum + a[j,M-i+j];
writeln(sum);
end;
for i:= 1 to M-1 do
begin
sum:=0;
for j:= 1 to M-i do
sum:= sum + a[i+j,j];
writeln(sum);
end;
for i:= 1 to M do
begin
sum:=0;
for j:= 1 to i do
sum:= sum + a[I+1-j,j];
writeln(sum);
end;
for i:= 1 to M-1 do
begin
sum:=0;
for j:= 1 to M-i do
sum:= sum + a[j+i,M+1-j];
writeln(sum);
end;
readln;
end.



Сообщение отредактировано: Lapp -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






CRT усложняет жизнь пользователю. Видеть не могу, когда начинающие программисты
1) раскрашивают свои программы, как елки, всеми цветами радуги
2) убирают с экрана то, что было на нем ДО запуска их супер-пупер-нужной (как им кажется) программы. МНЕ, пользователю, решать, какая программа нужная, а какая - нет. Та, которая считает себя важнее других (и убирает с экрана то, что было до ее запуска) сразу летит в мусорку. Умные дяденьки написали достаточно модулей, чтобы при старте программы сохранить содержимое экрана, а при финише - восстановить его, если уж на то пошло. А еще лучше - не трогать чужое. Вывел свои результаты и угомонись. Не надо убирать ЧУЖИЕ.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





- Текстовая версия 27.04.2024 22:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name