|
|
|
| Помогите написать процедуру работы с двумерным массивом.
Процедура должна выполнять конкретную задачу - все отрицательные числа сдвигать налево,отрицательные должны сдвигатся вправо,при чем порядок нарушатся не должен. Очень буду признателен за помощь))
program lab10;
uses crt;
const n=5;m=6;
type massiv=array[1..n,1..m] of integer;
var matrix:massiv;
procedure vvod(var x:massiv);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
x[i,j]:=random(10)-3;
end;
|
| |
|
|
|
|
|
|
|
для: nikolayers
(13.12.2011 в 00:25)
| | Хм... а что сложность вызывает, у вас же уже все готово, только осталось при помощи if() проверить x[i,j] и сдвинуть на единицу (или сколько нужно) либо при помощи <<, либо при помощи >>. | |
|
|
|
|
|
|
|
для: cheops
(13.12.2011 в 00:35)
| | готова лишь процедура которая создает матрицу,а как реализовать в цикле сдвиги положительных элементов влево не могу понять это основная трудность.через if я узнаю какой элемент надо дергать,но куда именно его совать и с каким именно менять местами,не могу сейчас представить | |
|
|
|
|
|
|
|
для: nikolayers
(13.12.2011 в 00:42)
| | Погодите а под сдвигом что имеется в виду? Сдвиг в матрице или сдвиг числа при помощи побитовых операторов? | |
|
|
|
|
|
|
|
для: cheops
(13.12.2011 в 03:14)
| | не понял вопрос,но проблема не в вопросах а в моих знаниях и понимании конкретно работы процедуры...
вероятней всего сдвиг в матрице | |
|
|
|
|
|
|
|
для: nikolayers
(13.12.2011 в 00:25)
| | . | |
|
|
|
|
|
|
|
для: nikolayers
(13.12.2011 в 00:25)
| | >все отрицательные числа сдвигать налево,отрицательные должны сдвигатся вправо
так куда же они все-таки должны сдвигаться налево или вправо? | |
|
|
|
|
|
|
|
для: lightning.say
(13.12.2011 в 12:03)
| | невнимательный когда писал)) положительные влево,отрицательные вправо | |
|
|
|
|
|
|
|
для: nikolayers
(13.12.2011 в 20:17)
| | вот так что ли?
1 2 3 -4 -5
2 6 3 -6 -9
3 5 3 -9 -8
4 6 3 -5 -5
5 7 3 -1 -3
6 6 3 -9 -1
а что по середине? и что в случае если больше положительных чем отрицательных? и наоборот если отрицательных больше? | |
|
|
|
|
|
|
|
для: lightning.say
(14.12.2011 в 14:33)
| | да вот так...ничего,середина ни на что не влияет,если все отрицательные понятное дело что ничего не поменяется,если 1 положительный то он будет идти влево а отрицательные так и останутся
-1 -2 -3 -4 5
5 -1 -2 -3 -4
-1 2 3 4 5
2 3 4 5 -1 | |
|
|
|