• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Задача на Pascal(delphi)

  • Автор темы NemoI3
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

NemoI3

Написать программу:

В матрице А(5х5) найти и напечатать элементы диагоналей, проведенных через максимальный элемент(сначала побочную, затем главную).


максимальный элемент понимаю как найти...не могу вывести в правильном порядке.
Если сможете, помогите кто-нибудь...мне это к завтрашнему числу к 12-00 ((
буду очень благодарен, если кто поможет!
если требуется оплата за работу, готов оплатить!если до завтра успеете!!!
заранее благодарен!
 
D

Dock1100

Возможно так?:
Код:
max_roz:=max_i-max_j;{max_i-рядок в которм находится макс, а max_j - столбик}
for i:=1 to 5 do
for j:=1 to 5 do
if i-j=max_roz then writeln(a[i,j]);
 
N

NemoI3

спасибо большое!!!
но это по главной диагонали получается...
а как побочную вычислить?(((
 
D

Dock1100

проверил, всё работает:
Код:
var a: array [1..5,1..5] of integer;
i,j,max,max_i,max_j,max_roz,max_sum:integer;
begin
randomize;
for i:=1 to 5 do {рандомно забиваем масив}
for j:=1 to 5 do
begin
a[i,j]:=random(100);
a[i,j]:=a[i,j]-50;{делаем так что б были и числа меньше нуля, хотя эту строку можно убрать}
end;

for i:=1 to 5 do{красиво выводим масив}
begin
write('|');
for j:=1 to 5 do
write(' ',a[i,j]:3,' |');
writeln;
end;

max:=a[1,1];{ищем макс}
max_i:=1;
max_j:=1;
for i:=1 to 5 do
for j:=1 to 5 do
if a[i,j]>max then 
begin 
max:=a[i,j]; 
max_i:=i; 
max_j:=j; 
end;

writeln;
max_roz:=max_i-max_j;{выводим глав. диагональ}
for i:=1 to 5 do
for j:=1 to 5 do
if i-j=max_roz then write(a[i,j],' ');
writeln;
writeln;

max_sum:=max_i+max_j;{выводим побочную диагональ}
for i:=1 to 5 do
for j:=1 to 5 do
if i+j=max_sum then write(a[i,j],' ');

readln;
end.
 
N

NemoI3

Dock1100

спасибо тебе огромное!!!
очень благодарен!!!
всегда буду рад помочь!)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!