Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2010, 08:35   #1
kostazs
 
Регистрация: 02.10.2010
Сообщений: 5
По умолчанию Матрица N на N Pascal

Дали в инсте такую задачу, требуется решение:

Дана матрица размерности N x N. Создать убывающую последовательности чисел, составленную из максимальных элементов матрицы по столбцам. Вывести исходную матрицу, максимальные элементы с индексами и полученную последовательность. Поиск максимального элемента в столбце оформить подпрограммой

Заранее благодарен за помощь.
kostazs вне форума Ответить с цитированием
Старый 02.10.2010, 10:41   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Обращайся, сделаю быстро...
Контакты:
e-mail: delmas-61@mail.ru
icq: 585281783
Skype: delmas61
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 02.10.2010, 18:30   #3
kostazs
 
Регистрация: 02.10.2010
Сообщений: 5
По умолчанию

платная помощь мне не подходит
kostazs вне форума Ответить с цитированием
Старый 02.10.2010, 18:42   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Тогда свои наработки в студию... Что-то не получается - возможно помогут...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 02.10.2010, 18:43   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
платная помощь мне не подходит
а для бесплатной : где ваши попытки сделать задачу
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 03.10.2010, 11:43   #6
kostazs
 
Регистрация: 02.10.2010
Сообщений: 5
По умолчанию

Вчера от друга получил код программы.
Не пойму некоторые моменты: Что делает procedure Max(mt:matr;n:byte;var v:mas), чля чего служит переменная imx, Так же непонятно часть с переменными a b, часть где присутствует это until n in [1..nmax]; тоже не ясна, и к чему это write(a[i,j]:4); кароче... куча вопросов по коду.. Когда учился в школе как-то по проще все было =)
Код:
uses crt;
const nmax=20;
type matr=array[1..nmax,1..nmax] of integer;
     mas=array[1..nmax] of integer;
procedure Max(mt:matr;n:byte;var v:mas);
var i,j,imx:byte;
    mx:integer;
begin
writeln('Максимальные элементы столбцов:');
for j:=1 to n do
 begin
  v[j]:=mt[1,j];imx:=1;
  for i:=1 to n do
  if mt[i,j]>v[j] then
   begin
    v[j]:=mt[i,j];
    imx:=i;
   end;
  write('[',imx,',',j,']=',v[j],'  ');
 end;
writeln;
end;
var a:matr;
    b:mas;
    n,i,j:byte;
    x:integer;
begin
clrscr;
randomize;
repeat
write('Размер матрицы=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(20);
    write(a[i,j]:4);
   end;
  writeln;
 end;
writeln;
Max(a,n,b);
{сортировка по убыванию}
for i:=1 to n-1 do
for j:=i+1 to n do
if b[i]<b[j] then
 begin
  x:=b[i];
  b[i]:=b[j];
  b[j]:=x;
 end;
writeln('Максимальные элементы столбцов по убыванию:');
for i:=1 to n do
write(b[i],' ');
readln
end.
kostazs вне форума Ответить с цитированием
Старый 03.10.2010, 13:33   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

kostazs, поздравляю. Похоже, что программа написана верно.
Цитата:
procedure Max(mt:matr;n:byte;var v:mas)
она получает на вход матрицу mt размерностью n на n
и формирует (и возвращает) вектор (одномерную матрицу) v, содержащую максимальные элементы.
Цитата:
чля чего служит переменная imx
вспомогательная переменная.
Используется для того, чтобы запомнить индекс максимального элемента и потом выдать его (индекс) на экран. (при работе процедуры Max она пишет индексы каждого найденного максимального элемента).

Цитата:
непонятно часть с переменными a b
В смысле = "непонятно" ?! Переменная a - это Ваша исходная матрица, а переменная b - это полученный вектор (одномерный массив) с результатами.

Цитата:
Код:
repeat
  write('Размер матрицы=');
  readln(n);
until n in [1..nmax];
повторять запрос размера матрицы до тех пор, пока не будет введенно корректное значение n. Корректное, это когда n лежит в промежутке от 1 до максимально возможного nmax (это задаётся константой вначале программы).

Цитата:
кароче... куча вопросов по коду..
Короче. Рекомендую Вам взять курс лекций по Паскалю (их полно в Интернете) или пару толковых книжек, и почитать.
Полезно Вам будет начертить алгоритм решения данной задачи в виде блок-схемы. Ну и погоняйте программу в пошаговом режиме. По сути ничего сложного в этой программе нет.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.10.2010, 13:40   #8
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
kostazs, поздравляю. Похоже, что программа написана верно.
Цитата:
Вчера от друга получил код программы.
Наверное, друга нужно поздравлять...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 03.10.2010, 13:55   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не пойму некоторые моменты
А у друга почему не спросить? Автор то лучше расскажет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.10.2010, 21:17   #10
kostazs
 
Регистрация: 02.10.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А у друга почему не спросить? Автор то лучше расскажет?
Больно уж он занятой) Лишний раз беспокоить не стану.

В любом случае, спасибо. Вроде стало немного понятнее, еще полистаю книжки в инете.
kostazs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ортонормированная матрица. Pascal Punk_tir Помощь студентам 8 02.05.2011 18:04
Матрица в Pascal Nastik Помощь студентам 2 07.06.2010 21:55
Матрица Turbo Pascal -COREY- Помощь студентам 1 06.12.2009 17:18
Матрица в Pascal Стасссс Помощь студентам 8 13.03.2009 16:05
Матрица в Pascal W_P Помощь студентам 7 05.03.2008 05:51