Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> матрицы: сравнение, сравнение в матрице 
:(
    Опции темы
UpRe_ID
Дата 19.7.2007, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Дана матрица произвольного размера, т.е. n*m размеров .....
нужно сравнить столбцы в внутри матрицы и потом расставить их в порядке убывания, начиная с наибольшего. мне сказали что нуна пользоваться qeyrwbtq? я не раслышал использовал процедуру и то там коряво написал и всего лишь для матрицы 3*3
Код

program practica ;

const
  n = 3;
type
  matrix = array[1 .. n, 1 .. n] of integer;

procedure sort_column(var ar: matrix; x: integer);
var i, j, T: integer;
begin
  for i := 1 To n Do
    for j := n downto i + 1 do
      if ar[pred(j), x] < ar[j, x] then begin
        T := ar[pred(j), x]; ar[pred(j), x] := ar[j, x]; ar[j, x] := T
      end
end;

procedure sort_first_row(var ar: matrix);
var i, j, k, T: integer;
begin

  for i := 1 To n Do
    for j := n downto i + 1 do
      if ar[1, pred(j)] < ar[1, j] then

        for k := 1 to n do begin
          T := ar[k, pred(j)]; ar[k, pred(j)] := ar[k, j]; ar[k, j] := T
        end

end;

procedure print(const ar: matrix);
var i, j: integer;
begin

  for i := 1 to n do begin
    for j := 1 to n do write(ar[i, j]:3);
    writeln;
  end;

end;

const
  a: matrix = (
    (1, 9, 6), (2, 8, 5), (3, 7, 4)
  );

var i: integer;
begin
  for i := 1 to n do
    sort_column(a, i);
  print(a);

  sort_first_row(a);
  writeln;
  print(a);
end.


помогите испарвить ошибки.
PM MAIL   Вверх
volvo877
Дата 19.7.2007, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



UpRe_ID, а вот теперь я не расслышал. Кто, говоришь программу-то написал? Ты?
PM MAIL   Вверх
UpRe_ID
Дата 19.7.2007, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



ты )
PM MAIL   Вверх
UpRe_ID
Дата 19.7.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Код

program practic;
type
matrica= array [1..15,1..15] of real;
var a:matrica;
i, j, k, n , m : byte;
b:real;
begin
write ('m=');
readln (m);
write('n=');
readln (n);
for i:=1 to m do
for j:= to n do
begin
write (' a[',i,',',j,']=');
readln (a[i,j]);
end;
writeln(' matrica a');
for i:=1 to m do
begin
for j:=1 to n do
write (a[i,j] , '')
writeln
end;
for j:=1 to n do
for k:=1 m-1 do
for i:=1 to m-k do
if a[i,j]< a[i+1, j] then
begin
b:=a[i,j];
a[i, j];=a[i+1, j];
a[i+1,j];=b;
end;
writeln ('preobrazovanaya matrica a');
for i:=1 to m do
begin
for j:=1 to n do
write (a[i,j], ' ');
writeln;
end;
end.



помогите отыскать лексические ошибки smile 
PM MAIL   Вверх
volvo877
Дата 19.7.2007, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Компилятор тебе на что? Просто так, чтоб место на диске занимал? Неужели твой компилятор не сказал, что в программе есть еще синтаксические ошибки?
PM MAIL   Вверх
UpRe_ID
Дата 19.7.2007, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



говорил, и я уже их нашел, просто в начале было так в лом...))
PM MAIL   Вверх
UpRe_ID
Дата 20.7.2007, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.7.2007

Репутация: нет
Всего: нет



Такс а не можете мою программку доделать\переделать чтоб она не числа в столбце меняла местами, а сами столбцы с большего на наименьшее
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.