Небольшая программка на Паскале
Здравствуйте! Требуется помощь. Необходимо решить небольшую задачку на Паскале.
Если здесь присутствуют люди для которых данная задача как 2- пальца....То сделайте пож-та. Не сочтите за труд.
Условие задачи:
Дана целочисленная квадратная матрица. Определить:
Максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы (оформить в виде процедуры).
Заранее благодарен.
Если здесь присутствуют люди для которых данная задача как 2- пальца....То сделайте пож-та. Не сочтите за труд.
Условие задачи:
Дана целочисленная квадратная матрица. Определить:
Максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы (оформить в виде процедуры).
Заранее благодарен.
-
- Сообщения: 296
- Зарегистрирован: 13 фев 2008, 20:10
- Откуда: Беларусь. Орша
- Контактная информация:
Вам обязательно помогут и разъяснят непонятные участки, если вы предоставите хоть жалкие попытки решения данной задачи.
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
Нечто похожее уже писали и диагонали перебирали, так что если сами писать не хотите, предлогайте сумму.
const n=4;
i:=1;
a:=1;
for i:=1 to n do
begin
j:=j+1;
Sum:=Sum+mas[i,j];
If j=n then
mas2[a]:=sum;
a:=a+1;
Переход на другую строку
end;
А выбор максимальной суммы можно сделать и в процедуре
Мне нужно ток код нахождения суммы элементов диаганали, вдоль главной диаганали
i:=1;
a:=1;
for i:=1 to n do
begin
j:=j+1;
Sum:=Sum+mas[i,j];
If j=n then
mas2[a]:=sum;
a:=a+1;
Переход на другую строку
end;
А выбор максимальной суммы можно сделать и в процедуре
Мне нужно ток код нахождения суммы элементов диаганали, вдоль главной диаганали
То эту задачу можно поместить в более просматриваемый раздел Delphi и Pascal." писал(а):если вы предоставите хоть жалкие попытки решения данной задачи.
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
[OK]
[syntax='Delphi']
program lalala;
type arr=array[1..100,1..100] of integer;
procedure readdata;
begin
[readdata]
end;
procedure writedata;
begin
[writedata]
end;
function sumd(d:integer):integer;{Сумма элементов d- той по счёту диагонали. При нахождении максимального элемента идите по диаг. от 1 до 2*n -1 , не учитывая главной(n)}
var i,j,sum:integer;
begin
sum:=0;
If d<n then Begin
for i:=1 to d do
for j:=n-d+1 to n do
inc(sum,a[i,j])
Else
for i:=d-n to n do
for j:=1 to 2*n-d+1 do
inc(sum,a[i,j]);
sumd:=sum;
end;
begin
readdata;
[считаем]
writedata;
end.
[/syntax]
program lalala;
type arr=array[1..100,1..100] of integer;
procedure readdata;
begin
[readdata]
end;
procedure writedata;
begin
[writedata]
end;
function sumd(d:integer):integer;{Сумма элементов d- той по счёту диагонали. При нахождении максимального элемента идите по диаг. от 1 до 2*n -1 , не учитывая главной(n)}
var i,j,sum:integer;
begin
sum:=0;
If d<n then Begin
for i:=1 to d do
for j:=n-d+1 to n do
inc(sum,a[i,j])
Else
for i:=d-n to n do
for j:=1 to 2*n-d+1 do
inc(sum,a[i,j]);
sumd:=sum;
end;
begin
readdata;
[считаем]
writedata;
end.
[/syntax]
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
[OK]
Всем спасибо!Программа нужна была на Паскале.Посидел немного и сделал.Мучает другой вопрос.
Хотелось чтоб ввод осуществлялся данным образом:
1 2 3
2 3 4
.......
Код:
For i:=1 to n do
For j:=1 to n do
begin
Write(' ');
Read(mas[i,j]);
If j=n then
Writeln('');
end;
Чет тут не так. Ввод осуществляю через Enter он и делает:
1
2
3
2
3
4
.
.
.
Хотелось чтоб ввод осуществлялся данным образом:
1 2 3
2 3 4
.......
Код:
For i:=1 to n do
For j:=1 to n do
begin
Write(' ');
Read(mas[i,j]);
If j=n then
Writeln('');
end;
Чет тут не так. Ввод осуществляю через Enter он и делает:
1
2
3
2
3
4
.
.
.
По моему надо так:
[syntax='Delphi']
for i:=1 to N do
begin
for j:=1 to N do
read(a[i,j]);
readln;
end;
[/syntax]
[syntax='Delphi']
for i:=1 to N do
begin
for j:=1 to N do
read(a[i,j]);
readln;
end;
[/syntax]
Ни что так не ограничивает фантазию программиста, как компилятор...
Паскаль и ДЕлфи- практически одно и то же." писал(а):Программа нужна была на Паскале
Ваши руки совершили идиотскую ошибку и будут оторваны!
[OK]
[OK]
Чет не пашет...MOTOCoder писал(а):По моему надо так:
[syntax='Delphi']
for i:=1 to N do
begin
for j:=1 to N do
read(a[i,j]);
readln;
end;
[/syntax]
А что косается делфи и паскаля,тЫк ет да. Они одинаковые...Отличие состоит ток в том что у делфи интерфейс есть.