IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> сортировка массива, метод пузырька
соня
сообщение 21.12.2006 17:24
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Женский
Реальное имя: соня

Репутация: -  0  +


Помогите пожалуйста решить задачку...!!! Очень-очень надо!!! !help.gif


Дана прямоугольная матрица размером mxn, содержащая вещественные числа. Определить сумму элементов в каждой строке матрицы. Упорядочить номера строк по возрастанию значений найденных сумм с помощью алгоритма сортировки методом пузырька. Вывести упорядоченный список номеров строк и соответствующих им сумм. (Матрицу заполнить случайными числами)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
соня
сообщение 28.12.2006 21:16
Сообщение #2





Группа: Пользователи
Сообщений: 9
Пол: Женский
Реальное имя: соня

Репутация: -  0  +


вот программа:




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.





помогите найти ошибку...


заполняю случайными числами
96 31 83
8 28 9
64 64 63
59 26 38

сумма 210 строки=1
сумма 45 строки=2
сумма 191 строки=3
сумма 123 строки=4

массив после сортировки

сумма 45 строки=2
сумма 123 строки=0
сумма 191 строки=3
сумма 210 строки=1

почему у меня постоянно обнуляются последние и предпоследние номера строк??
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
соня   сортировка массива   21.12.2006 17:24
klem4   В чем конкретно проблема ? Задача и подобные ей по...   21.12.2006 17:29
соня   в том то идело, что не получается... Я нашла сумму...   21.12.2006 19:25
мисс_граффити   покажи код: что у тебя не получается... правда, за...   21.12.2006 20:18
соня   мне же надо вывести массив номеров строк... вот я ...   21.12.2006 20:27
мисс_граффити   по-моему, проще работать с одним массивом, состоящ...   21.12.2006 21:22
соня   const max_ind=20 var a:array of integer; s,m...   22.12.2006 21:01
мисс_граффити   смотри сразу: sum:array[1.. ? ] or integer; что э...   22.12.2006 21:26
соня   здесь (sum:array[1.. ? ] or integer;) я поставила ...   22.12.2006 21:37
volvo   Может, все-таки: ?   22.12.2006 21:42
соня   у меня в программе of написано, это тут я ошиблас...   22.12.2006 22:05
мисс_граффити   ты что, заново набираешь?! просто щелкни право...   22.12.2006 22:12
соня   вот программа: const max_ind=30; var a:arr...   28.12.2006 21:16
Malice   Вот в этом месте вместо n надо m ?   28.12.2006 21:39
мисс_граффити   Обнуляет при m<>n Ты в количестве строк и ст...   28.12.2006 21:39
соня   :) точно... большое спасибо!!!!...   28.12.2006 21:52


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 10:59
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"