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

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

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

> Двумерный массив!
-SlipKnoT-
сообщение 20.11.2007 16:42
Сообщение #1


Гость






Помогите пожалуйста с решением задачки.
Ввести двумерный массив A[N,M]. В каждой строке массива упорядочить элементы, стоящие после минимального элемента.
Есть кое какие наброски, но цикл не работает.

Код
Program ZAD_0;
uses crt;
var i,j,p,n,m,k,l,jmin:integer;
    A: array [1..10, 1..15] of real;
    f:real;
    min:real;
begin
clrscr;
  write ('N='); readln(n);
  write ('M='); readln(m);
    for i:=1 to n do
     begin
     writeln;
    for j:=1 to m do
    read (a[i,j]);
     end;
    for i:=1 to n do
     begin
    for j:=1 to m do
      write (a[i,j]:8:3 );
      writeln;
    end;
    for i:=1 to n do
     jmin:=1;
    for j:=2 to m do
    begin
     if a[i,j]<a[i,jmin] then jmin:=j;
     writeln(jmin);
    end;
       writeln;
       writeln;
    for i:=1 to n do begin
     for j:=jmin+1 to m do begin
     if a[i,j+1]<a[i,j] then begin
      f:=a[i,j];
      a[i,j]:=a[i,j+1];
      a[i,j+1]:=f;
      end;
      end;
      end;
     for i:=1 to n do begin
      for j:=1 to m do begin
     write (a[i,j]:8:3);
      end;
      end;
readkey;
end.






 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 20.11.2007 22:58
Сообщение #2


Perl. Just code it!
******

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

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


разбираться в коде сил нету, так что держи мой вариант:

uses crt;

const
n = 10;

type
TMatrix = array [1..n, 1..n] of Integer;

procedure CreateMx(var mx: TMatrix);
var
i, j: Byte;
begin
randomize;

for i := 1 to n do
for j := 1 to n do
mx[i, j] := random(100);
end;

procedure PrintMx(const mx: TMatrix);
var
i, j: Integer;
begin
writeln;
for i := 1 to n do begin
writeln;
for j := 1 to n do write(mx[i, j]:4);
end;
end;


function GetMinCol(const mx: TMatrix; const row: Byte): Byte;
var
col, i: Byte;
begin
col := 1;
for i := 2 to n do
if mx[row, i] < mx[row, col] then
col := i;
GetMinCol := col;
end;

procedure SortRow(var mx: TMatrix; const row, start: byte);
var
i, j: Byte;
T: Integer;
begin
for i := n downto start + 1 do
for j := start + 1 to i - 1 do
if not (mx[row, j] <= mx[row, j + 1]) then begin
T := mx[row, j]; mx[row, j] := mx[row, j + 1]; mx[row, j + 1] := T;
end;
end;

procedure SortMX(var mx: TMatrix);
var
i: Byte;
begin
for i := 1 to n do
SortRow(mx, i, GetMinCol(mx, i));
end;


var
mx: TMatrix;
begin
CreateMx(mx); PrintMx(mx); SortMx(mx); PrintMx(mx);
end.


Сообщение отредактировано: klem4 - 20.11.2007 23:09


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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