Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Pascal : работа с двумерным массивом
 
 автор: nikolayers   (13.12.2011 в 00:25)   письмо автору
 
 

Помогите написать процедуру работы с двумерным массивом.
Процедура должна выполнять конкретную задачу - все отрицательные числа сдвигать налево,отрицательные должны сдвигатся вправо,при чем порядок нарушатся не должен. Очень буду признателен за помощь))

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;

  Ответить  
 
 автор: cheops   (13.12.2011 в 00:35)   письмо автору
 
   для: nikolayers   (13.12.2011 в 00:25)
 

Хм... а что сложность вызывает, у вас же уже все готово, только осталось при помощи if() проверить x[i,j] и сдвинуть на единицу (или сколько нужно) либо при помощи <<, либо при помощи >>.

  Ответить  
 
 автор: nikolayers   (13.12.2011 в 00:42)   письмо автору
 
   для: cheops   (13.12.2011 в 00:35)
 

готова лишь процедура которая создает матрицу,а как реализовать в цикле сдвиги положительных элементов влево не могу понять это основная трудность.через if я узнаю какой элемент надо дергать,но куда именно его совать и с каким именно менять местами,не могу сейчас представить

  Ответить  
 
 автор: cheops   (13.12.2011 в 03:14)   письмо автору
 
   для: nikolayers   (13.12.2011 в 00:42)
 

Погодите а под сдвигом что имеется в виду? Сдвиг в матрице или сдвиг числа при помощи побитовых операторов?

  Ответить  
 
 автор: nikolayers   (13.12.2011 в 20:21)   письмо автору
 
   для: cheops   (13.12.2011 в 03:14)
 

не понял вопрос,но проблема не в вопросах а в моих знаниях и понимании конкретно работы процедуры...
вероятней всего сдвиг в матрице

  Ответить  
 
 автор: lightning.say   (13.12.2011 в 12:03)   письмо автору
 
   для: nikolayers   (13.12.2011 в 00:25)
 

.

  Ответить  
 
 автор: lightning.say   (13.12.2011 в 12:03)   письмо автору
 
   для: nikolayers   (13.12.2011 в 00:25)
 

>все отрицательные числа сдвигать налево,отрицательные должны сдвигатся вправо
так куда же они все-таки должны сдвигаться налево или вправо?

  Ответить  
 
 автор: nikolayers   (13.12.2011 в 20:17)   письмо автору
 
   для: lightning.say   (13.12.2011 в 12:03)
 

невнимательный когда писал)) положительные влево,отрицательные вправо

  Ответить  
 
 автор: lightning.say   (14.12.2011 в 14:33)   письмо автору
 
   для: 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
а что по середине? и что в случае если больше положительных чем отрицательных? и наоборот если отрицательных больше?

  Ответить  
 
 автор: nikolayers   (18.12.2011 в 16:49)   письмо автору
 
   для: 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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования