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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2009, 16:18   #1
SWAT
 
Регистрация: 30.03.2009
Сообщений: 5
По умолчанию Сортировка отр. элементов в двумерном массиве

Расположить элементы двумерного массива по условию: Отрицательные элементы каждой строки расположить в порядке возрастания.
Сижу голову ломаю. Как сделать чтобы не было пропуска при сортировке положительных чисел?
Кто сможет дать совет, тому буду очень благодарен


Program EXEM2;
uses crt;
var x:array[1..10,1..10] of integer;
z: integer;
n,m,i,j,k,p:byte;
begin
clrscr;
writeln('Введите количество строк <=10');
readln(n);
writeln('Введите количество столбцов <=10');
readln(m);
writeln('Вводите элементы матрицы');
for i:=1 to n do
for j:=1 to m do
begin
write('x[',i,',',j,']=');
readln(x[i,j]);
end;
writeln;
writeln('Исходная матрица');
for i:=1 to n do
begin
for j:=1 to m do write(x[i,j]:3);
writeln;
end;
for i:=1 to n do
for j:= 1 to m do
begin
if (x[i,j]<0) and (j<>m) then
begin
z:=x[i,j];
p:=j;
for k:=j+1 to m do
if (x[i,k]<0) and (x[i,k] < z) then
begin
z:=x[i,k];
p:=k;
end;
if p<>j then
begin
x[i,p]:= x[i,j];
x[i,j]:=z;
end;
end;
end;
writeln('Полученная матрица');
for i:=1 to n do
begin
for j:= 1 to m do write(x[i,j]:3);
writeln;
end;
writeln('Конец. Для выхода нажмите ENTER');
readln;
end.

Последний раз редактировалось SWAT; 02.04.2009 в 17:27.
SWAT вне форума Ответить с цитированием
Старый 02.04.2009, 16:41   #2
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

Напишите пожалуйста просто полностью условие задачи!
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 02.04.2009, 17:28   #3
SWAT
 
Регистрация: 30.03.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Rusl92 Посмотреть сообщение
Напишите пожалуйста просто полностью условие задачи!
исправил в верху сообщения
SWAT вне форума Ответить с цитированием
Старый 02.04.2009, 21:43   #4
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию

uses crt;
const
nmax=10;
mmax=10;
var
a:array[1..nmax,1..mmax] of integer;
n,m,i,j,k,buf,num,min:integer;
begin
clrscr;
write(' N / M -> ');
readln(n,m);
writeln(' Input array ');
for i:=1 to n do
for j:=1 to m do
begin
write(' -> ');
readln(a[i,j]);
end;
writeln;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j],' ');
writeln;
end;
for i:=1 to n do
begin
for j:=1 to m-1 do
begin
if a[i,j]<0 then
begin
num:=j; min:=0;
for k:=j to m do
if (a[i,k]<min) then begin min:=a[i,k]; num:=k; end;
buf:=a[i,j];
a[i,j]:=a[i,num];
a[i,num]:=buf;
end;
end;
end;
writeln;
writeln;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j],' ');
writeln;
end;
readln;
end.
@(o_0)@
Tkirill вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество элементов в массиве skit Общие вопросы C/C++ 3 18.03.2009 21:56
В заданном целочисленном двумерном массиве найти среднее арифметическое в каждой строке Rise Паскаль, Turbo Pascal, PascalABC.NET 3 06.01.2009 00:55
В двумерном массиве 4*5 найти сумму элементов по строке или столбцу. bkmz Помощь студентам 11 16.04.2008 11:17
в двумерном массиве целых чисел поменять местами стороки и столбы с одинаковыми номерами. Lilu Паскаль, Turbo Pascal, PascalABC.NET 2 03.04.2008 16:27
напишите пожалуйста задачу в двумерном массиве!? Срочно надо! dolbi Помощь студентам 2 28.03.2008 05:09