Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Все те же массивы.


Автор: Mcicool 12.12.2005, 12:34
Ввести случайным образом двумерный массв чисел типа Byte, число строк равно числу столбцов, размер задать с экрана, но не больше 8. Отсортировать по возрастанию элементы последнего столбца.
Так воть. smile Вообще мне надо сделать еще 4 задачи, нге считая этой.
Только вот не опнимаю, писать мне это все в разных топах или как?

Автор: darkart 12.12.2005, 14:23
Цитата
Так воть.  Вообще мне надо сделать еще 4 задачи, нге считая этой.

Пиши на мыло, будет время посмотрю.

Автор: Mcicool 12.12.2005, 14:39
Отослал. Спасибо, за помощь, если будет нечем занятся, попробуй сделать ))

Автор: darkart 12.12.2005, 14:53
По теме:
Код

program RndMatr;
const
  ToRnd=256;{макс для random}
  n=8;{макс размерность}
type
  TMatrix=array[1..n,1..n] of byte;
procedure InputMatrix(var Matrix:TMatrix;var razm:integer);
{создание матрицы}
var
  i,j:integer;
begin
  writeln('Vvedite razmernost(1-8):');
  repeat
    readln(razm);
    if (razm<1) or (razm>n) then writeln('Neverniy vvod. Perevvedite razmernost(1-8):');
  until(razm>0) and (razm<=n);
  for i:=1 to razm do
    for j:=1 to razm do
      Matrix[i,j]:=random(ToRnd);
end;
procedure PrintMatrix(var Matrix:TMatrix;razm:integer);
{печать матрицы}
var
  i,j:integer;
begin
  for i:=1 to razm do
  begin
    for j:=1 to razm-1 do
      write(Matrix[i,j],' ');
    writeln(Matrix[i,razm]);
  end;
end;
procedure SortColumn(var Matrix:TMatrix;razm,col:integer);
{сортировка col-го столбца}
var
  i,j:integer;
  tmp:byte;
begin
  if (col>0) and (col<=razm) then
  begin
    for i:=1 to razm-1 do
      for j:=i+1 to razm do
        if Matrix[j,col]<Matrix[i,col] then
        begin
          tmp:=Matrix[i,col];
          Matrix[i,col]:=Matrix[j,col];
          Matrix[j,col]:=tmp;
        end;
  end;
end;
var
  razm:integer;
  Matrix:TMatrix;
begin
  randomize;
  InputMatrix(Matrix,razm);
  writeln('Ishodnaya matrica:');
  PrintMatrix(Matrix,razm);
  SortColumn(Matrix,razm,razm);
  writeln('Matrica posle sortirovki stolbca:');
  PrintMatrix(Matrix,razm);
  readln;
end.

Автор: Mcicool 12.12.2005, 17:56
Кстати, у вас последний столбец не сортируется по возрастанию.

Автор: darkart 12.12.2005, 18:07
Mcicool все работает, покажи пример.

Автор: Mcicool 12.12.2005, 18:08
ПАскаль мне просто выдает две одинаковые матрицы.
Добавлено @ 18:10
Я могу выложить скрин, только не знаю как.

Автор: darkart 12.12.2005, 18:10
Можно фото в студию(хотя бы на мыло) smile

Автор: Mcicool 12.12.2005, 18:11
а за что отвечаю переменные i и j ??
Добавлено @ 18:12
Я выслал на мыло скрин.

Автор: darkart 12.12.2005, 18:12
Слушай аська есть?

Автор: Mcicool 12.12.2005, 18:15
есть 205540570

Автор: sergejzr 14.12.2005, 19:11
Модератор: Название темы должно отражать ее суть!
Цитата(Mcicool @ 12.12.2005, 11:34)
Только вот не опнимаю, писать мне это все в разных топах или как?

Да.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)