|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.04.2009, 16:18 | #1 |
Регистрация: 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. |
02.04.2009, 16:41 | #2 |
Форумчанин
Регистрация: 30.03.2008
Сообщений: 392
|
Напишите пожалуйста просто полностью условие задачи!
Программирование - это великое искусство... Такое же как например и живопись!
|
02.04.2009, 17:28 | #3 |
Регистрация: 30.03.2009
Сообщений: 5
|
|
02.04.2009, 21:43 | #4 |
Форумчанин
Регистрация: 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)@
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Количество элементов в массиве | 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 |