Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрица
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Guest
Здрасьте.
Плиз, хелп ми. Я смотрю, вы все тут профи по Паскалю, а я в нем - ноль. А нам тут по информатике задали как раз по нему. Если не сделаю, меня информатик задушит. wacko.gif blum.gif
Вообщем, дана матрица 9х9. Есть главная и побочная диагонали. Они пересекаются в центре. Надо найти максимальный элемент на строке k, которая находится выше точки пересечения диагоналей. Потом минимальный элемент на столбце n, который обитает правее точки пересечения. Ну а после всего этого ужаса надо еще и поменять местами элементы строки k с элементами столбца n. blink.gif
Вот такие дела. Если уж честно, то мне Бейсик нравится, там я че-то могу сделать, но это... И в матрицах я не рублю. nea.gif
Завтра экзамен по инфе... Ну да ладно.
Буду ждать помощи!!!!!!!!!! Спасибо!!!!!!!!!!!!!

P.S. Чуть не забыл - обьясните мне, пожалуйста, что такое главная и побочн. диагонали, а то я у информатика спросил, а он сам не знает. no1.gif
FreeMan
вроде этого
uses crt;
const n=9;
var
a:array[1..n,1..n] of word;
i:word;
j:word;
maxk,xxx,minn:word;
begin
clrscr;
randomize;
for i:=1 to n do
for j:=1 to n do a[i,j]:=random(100);
for i:=1 to n do begin for j:=1 to n do
write(a[i,j]:5);
writeln end;
maxk:=1;
minn:=1;
xxx:=1;
for i:=1 to 5 do
for j:=1 to n do if a[i,j]>a[maxk,xxx] then begin maxk:=i; xxx:=j end;
xxx:=1;
for i:=1 to n do
for j:=5 to n do if a[i,j]<a[xxx,minn] then begin minn:=j; xxx:=i end;

for i:=1 to n do begin
xxx:=a[maxk,i];
a[maxk,i]:=a[i,minn];
a[i,minn]:=xxx;
end;
writeln;
for i:=1 to n do begin for j:=1 to n do
write(a[i,j]:5);
writeln end;

readkey;
end.
GoodWind
Цитата
Надо найти максимальный элемент на строке k, которая находится выше точки пересечения диагоналей.

выше вообще, или строка с номером 4 ?
Guest
Вообще.
GoodWind
тогда, как я понимаю, код Фримена верен.... проверить точно не могу - негде
Guest
FreeMan, спасибо. Но Randomize мы еще не учили, придерется. Наверно заменить чем-нибудь типа
Код
var a:array[1..9,1..9] of real;
i,j:integer;
begin
for i:=1 to 9 do
for j:=1 to 9 do readln(a[i,j]);

... А дальше не знаю. Эх...

М
пользуемся тэгами!
GoodWind

Guest
Хотя ладно, подсуну ему это решение. Придерется - что ж, буду опять мучиться. Thanks GoodWind, FreeMan еще раз!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.