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

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

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

> Матрица, и ее диагонали
Guest
сообщение 7.12.2005 23:25
Сообщение #1


Гость






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

P.S. Чуть не забыл - обьясните мне, пожалуйста, что такое главная и побочн. диагонали, а то я у информатика спросил, а он сам не знает. no1.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
FreeMan
сообщение 8.12.2005 0:01
Сообщение #2


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

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


вроде этого
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.


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 8.12.2005 0:18
Сообщение #3


Автооответчик
*****

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

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


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

выше вообще, или строка с номером 4 ?


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 8.12.2005 0:25
Сообщение #4


Гость






Вообще.
 К началу страницы 
+ Ответить 
GoodWind
сообщение 8.12.2005 0:27
Сообщение #5


Автооответчик
*****

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

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


тогда, как я понимаю, код Фримена верен.... проверить точно не могу - негде


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 8.12.2005 0:34
Сообщение #6


Гость






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
сообщение 8.12.2005 0:40
Сообщение #7


Гость






Хотя ладно, подсуну ему это решение. Придерется - что ж, буду опять мучиться. Thanks GoodWind, FreeMan еще раз!
 К началу страницы 
+ Ответить 

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

 

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