1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Дана прямоугольная матрица размером mxn, содержащая вещественные числа. Определить сумму элементов в каждой строке матрицы. Упорядочить номера строк по возрастанию значений найденных сумм с помощью алгоритма сортировки методом пузырька. Вывести упорядоченный список номеров строк и соответствующих им сумм. (Матрицу заполнить случайными числами)
в том то идело, что не получается... Я нашла сумму в каждой строке, затем я создаю два массива: 1-й номера строк, 2-й соответствующая им сумма, а потом у меня ничего с сортировкой не получается..
покажи код: что у тебя не получается... правда, зачем создавать отдельный массив номеров - не понимаю
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
по-моему, проще работать с одним массивом, состоящим из 2 строк: строка с номерами и строка с суммами. хотя, наверное, не сильно принципиально.
и все же - покажи код программы.
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
const max_ind=20 var a:array[1..max_ind,1..max_ind] of integer; s,m,n,i,j:integer; sum:array[1.. ? ] or integer; {здесь постоянно выдает ошибку} ind:array[1..max_ind] of integer; c:integer; {переменная для промежуточного хранения} i1:integer; {индекс последнего обмена} begin write('Введите кол-во строк матрицы (m<=',max_ind,') m='); readln(m); write('Введите кол-во столбцов матрицы (n<=',max_ind,') n='); readln(n); for i:=1 to m do for j:=1 to n do write('a[',i,',',j,']='); readln(a[i,j]); end; s:=0; for i:=1 to m do begin for j:=1 to n do begin s:=a[i,j]+s; sum[i]:=s; {создаю массив из суммы} ind[i]:=i; {массив из соответствующих сумме номеров строк} end;
????????
а дальше я не знаю.... пытаюсь отсортировать, но либо ошибки либо не сортирует...
что это за вопросик? наверное, должно быть max_ind видимо, из-за него ошибка и возникает
теперь ошибка смысловая:
for i:=1 to m do begin s:=0; {ты же считаешь сумму для каждой строки отдельно, правда? значит, и обнулять надо для каждой} for j:=1 to n do s:=a[i,j]+s; {зачем тебе дополнительная переменная s? считала бы сразу sum[i]} sum[i]:=s; {а зачем эти действия делать внутри цикла? достаточно один раз сохранять} ind[i]:=i; end;
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
здесь (sum:array[1.. ? ] or integer;) я поставила вопросик чтобы спросить, что тут надо писать, потому что я вставляю max_ind и у меня выдает ошибку... с подсчетом суммы в строках я исправлю ошибку, а вот дальше как сортировать?
ты что, заново набираешь?! просто щелкни правой кнопкой по сохраненному pas файлу->открыть с помощью->блокнот и копируй )
по-прежнему не сортирует? покажи, как ты сортировала. сложно искать ошибки, не видя кода
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
const max_ind=30; var a:array[1..max_ind,1..max_ind] of integer; m,n,i,j,m1,i1,t:integer; s,k:array[1..max_ind] of integer; begin write('введите кол-во строк матрицы m='); readln(n); write('введите кол-во столбцов матрицы n='); readln(m); randomize; for i:=1 to m do for j:=1 to n do begin a[i,j]:=random(100); end; for i:=1 to m do begin for j:=1 to n do write(a[i,j],' '); writeln; end; for i:=1 to m do begin s[i]:=0; for j:=1 to n do begin s[i]:=s[i]+a[i,j]; end; writeln('сумма ',s[i],' строки=',i); end; for i:=1 to n do k[i]:=i; readln; m1:=m; repeat i1:=0; for i:=1 to m1-1 do if s[i]>s[i+1] then begin t:=s[i]; s[i]:=s[i+1]; s[i+1]:=t; i1:=i; t:=k[i]; k[i]:=k[i+1]; k[i+1]:=t; end; m1:=i1; until i1=0; writeln('массив после сортировки'); for i:=1 to m do writeln('сумма ',s[i],' строки=',k[i]); readln; end.
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!