Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача, массиы, переставить местами столбцы

Автор: Gidropon 20.11.2006 22:04

Помогите пожалуйста, пытасюь решать задачи сам, но иногда возникают серьёзные проблемы ((
Дана задача
Создать массив А(4х6), переставить местами столбцы с min и max суммой.


randomize; {создал массив 4на6 и заполнил}
writeln('Massiv A 4x6');
for i:=1 to 4 do
begin
for j:=1 to 6 do
begin
a[i,j]:=random(90)+10;
write(a[i,j], ' ');
end;
writeln;
end;
.
.
.
for j:=1 to 6 do {ищу суммы столбцов}
begin
s:=0;
for i:=1 to 4 do
s:=s+a[i,j];
b[s]:=s;
write(b[s], ' ');
end;
.
.
.
for s:=1 to 6 do
{ это промежуточный этап, пытаюсь найти максимальный элемент, а затем
и минимальный, чтобы определить какие столбцы менять, но не работает ...}
begin
max:=1;
if b[s]>max then
end;
c[m]:=max;
write(b[s]);




помогите пожалуйста.

Автор: мисс_граффити 20.11.2006 22:17

b[s]:=s; 

Вот это место не поняла....
А если у тебя сумма равна 400?
разве тут не b[j] нужно?

Автор: Gidropon 20.11.2006 23:52

Цитата(мисс_граффити @ 20.11.2006 18:17) *

b[s]:=s; 

разве тут не b[j] нужно?

Одномерный массив b[s] заполняется суммами столбцов, этот кусочек работает как надо, но вот дальше ...

Автор: volvo 20.11.2006 23:56

Цитата
этот кусочек работает как надо
Этот кусочек у тебя может портить значение другмх переменных (в зависимости от значения S). Если в TP программа не вываливается с ошибкой, а ошибка просто замалчивается - это еще не значит, что все правильно...

Доказать? Приведи описание массива B...

Автор: Gidropon 21.11.2006 0:20

Цитата(volvo @ 20.11.2006 19:56) *

Этот кусочек у тебя может портить значение другмх переменных (в зависимости от значения S). Если в TP программа не вываливается с ошибкой, а ошибка просто замалчивается - это еще не значит, что все правильно...

Доказать? Приведи описание массива B...


Массив B у меня задействован пока только в одном единственном случае, когда пытаюсь определяю максимум, но в принципе я понял, что вы имеете в виду, надо просто присвоить b[s]:=c[m], и работать с С, чтобы не "испортились" данные в B, да ?
Так как правильно найти max и min в одномероном массиве и переставить соответственно столбцы в массиве А ? unsure.gif