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

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Tribunal |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
характеристикой столбца матрицы называется сумма его отрицательных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
делов том,что я пыталась решить эту задачу по образу и подобию упорядочения элементов в одномерном массиве.но цели этой задачи так и не достигла=( не могли бы вы помочь мне с этой задачей? ![]() -------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Как задать матрицу, чтобы быстро поменять местами ее столбцы и работаешь со столбцами так же просто, как, например, с целыми числами...
Кстати, тогда именно и будет Цитата по образу и подобию упорядочения элементов в одномерном массиве |
Tribunal |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
эээ....а поподробнее можно...?
-------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Что именно не понятно? Там же приведен пример использования...
Вот, например, приведи промер, КАК ты пыталась решить это по подобию одномерных массивов, я покажу как это перенести на двумерные... |
Tribunal |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
ну примерно так:
Код program swap; const row=4; col=4; r=10; var a:array [1..col,1..row]; s:array [1..row]; i,j,k,t,min:integer; begin {ввод матрицы} randomize; for i:=1 to col do begin for j:=1 to row do begin a[i,j]:=random( r )+1; write(a[i,j]:4); end; writeln; for j:=1 to row do begin s[j]:=0; for i:=1 to col do if a[i,j]<0 then s[j]:=s[j]+a[i,j]; end; for i:=1 to col do for j:=1 to row-1 do begin min:=j; for k:=j+1 to row do if a[k]>a[min] then min:=k; t:=a[k]; a[j]:=a[min]; a[min]:=t;; end; for i:=1 to col do begin for j:=1 to row do write(a[i,j]:4); writeln; end; end. Сообщение отредактировано: Tribunal - -------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Ну, а я говорил про что-то в этом духе:
const
size_row = 10;
size_col = 10;
type
trow = array[1 .. size_row] of integer;
tmatrix = array[1 .. size_col] of trow;
function f(r: trow): integer;
var i, s: integer;
begin
s := 0;
for i := 1 to size_row do
s := s + r[i];
f := s;
end;
procedure swap_cols(var mx: tmatrix;
const i, j: integer);
var T: trow;
begin
T := mx[i]; mx[i] := mx[j]; mx[j] := T
end;
procedure print(var mx: tmatrix);
var i, j: integer;
begin
for i := 1 to size_row do
begin
for j := 1 to size_col do
write(mx[j][i]:4);
writeln
end;
end;
var
mx: tmatrix;
i, j: integer;
begin
{ инициализация матрицы }
for i := 1 to size_row do
for j := 1 to size_col do
mx[i][j] := random(50)-25;
writeln('before:'); print(mx);
for i := 1 to size_col do
for j := size_col downto i+1 do
if f(mx[j - 1]) > f(mx[j]) then
swap_cols(mx, j - 1, j);
writeln('after:'); print(mx);
end.
|
Tribunal |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
а почему вот здесь:
Цитата mx[i][j] := random(50)-25; ошибка range check error? -------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Не знаю... Если я выложил код, значит у меня он отработал... Никаких Range Check Error не было замечено... Да и нечему там давать такую ошибку, если только ты не меняла здесь:
trow = array[1 .. size_row] of integer;
integer на какой-нибудь беззнаковый тип, например, Byte или Word... |
Tribunal |
![]()
Сообщение
#9
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
я ничего не меняла.ошибка выводится.=(
-------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
А присоедини-ка свой PAS-файл в аттаче... Я понимаю, что ты ничего не меняла, но там просто физически не может быть этой ошибки... (не надо копировать текст программы, мне нужен ИМЕННО PAS-файл!!!)
И заодно - напиши, какой компилятор у тебя... |
Tribunal |
![]()
Сообщение
#11
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
прости ламака...а где компилятор пишется?
![]() Прикрепленные файлы ![]() -------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
Меню Help -> About
|
Tribunal |
![]()
Сообщение
#13
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
там написано только то,что паскаль версии 7.0
Сообщение отредактировано: Tribunal - -------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Все, можешь не писАть... Все ясно... Делай так:
mx[i][j] := Integer(random(50))-25;
|
Tribunal |
![]()
Сообщение
#15
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
а объясни,пожалуйста,философский смысл выражения mx[i][j]...
я такое впервые вижу.что это означает? -------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
mx[i, j] тебе ближе? Используй это... Я по привычке из C++ так пишу (благо, Паскаль позволяет оба варианта записи)...
|
Tribunal |
![]()
Сообщение
#17
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
спасибо=)
-------------------- irreparabilium felix olivio rerum
|
volvo |
![]()
Сообщение
#18
|
Гость ![]() |
Хотя здесь есть еще один момент: фактически матрица описана, как массив столбцов, поэтому крайне рекомендуется запись именно mx[i][j], где mx[i] - столбец №I , а [j] - уже обращение к j-му элементу этого столбца...
|
![]() ![]() |
![]() |
Текстовая версия | 18.04.2025 16:51 |