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

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

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

 
 Ответить  Открыть новую тему 
> Двумерный массив!
сообщение
Сообщение #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.






 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Ну помогите плз mega_chok.gif , завтра отчитывать, а она даже не пашет((
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

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


Цитата
В каждой строке массива упорядочить элементы

Как упорядочить? По возрастанию,убыванию? или еще как?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата(Client @ 20.11.2007 20:19) *

Как упорядочить? По возрастанию,убыванию? или еще как?

Сори забыл) по - возрастанию...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Откликнитесь кто нибудь... нужно то всего лишь пару циклов подправить)) у мя просто уже скила прокаченного не хватает на их дороботку)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


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 -


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

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

 





- Текстовая версия 29.03.2024 21:42
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name