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

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

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

> ПОгите с алгоритмом
asu2006
сообщение 7.12.2007 17:35
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

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


Для матрицы Т(m, n), 1<(m, n)<10, вычислить сумму всех положительных элементов. Переставить строки по убыванию значений максимальных элементов строк

М
1. Заголовок темы должен быть информативным.

Переименуй, пожалуйста.



Сообщение отредактировано: Michael_Rybak - 8.12.2007 3:17
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
neic
сообщение 8.12.2007 12:28
Сообщение #2


Студент 3-к группы (ИГТК)
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской
Реальное имя: Артём

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


1. Пересчитать сумму:

{после ввода матрицы}
s:=0;
For i:=1 to n do
begin
For j:=1 to m do
If a[i,j]>0 then s:=s+a[i,j]
end;



2. Как я понял, нужно поменять строки от большого к меньшему или всю матрицу по убыванию сделать?
Сделаю первый вариант, т.к. он более правдоподобен.


L:=A[1];
A[1]:=MIN;
A[K]:=L;

for u:=1 to n do
begin
FOR I:=2 TO m DO
BEGIN
FOR J:=I TO m DO
BEGIN
IF A[U,I]>A[U,J] THEN
BEGIN
L:=A[U,I];
A[U,I]:=A[U,J];
A[U,J]:=L;
END;
END;
END;




Вроде всё выглядит так. Покрайней мере одномерный массив работает.
Буду вопросы пиши сюда или ЛС.


--------------------
Жизнь - это лестница. Когда одна ступень проваливается, 2-ая нога находиться на второй ступеньке, а значит есть и второй шанс... ©
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
asu2006
сообщение 10.12.2007 7:20
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Мужской

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



Вот код

Код
const c=10;
var
T: array[1..c,1..c] of integer;
s,x,y:integer;
m,n:byte;
begin
writeln('Matrix 1<(n,m)<10)');
write('chislo strok =');
readln(n);
write('chislo ctolbcov =');
readln(m);
s:=0;
if (n>1) and (m<10) then begin
writeln;
writeln('Vvod elementov matrix');

For x:=1 to n do
For y:=1 to m do
begin
  write('T[',x,',',y,']=');
  readln(T[x,y]);
if T[x,y]>0 then
s:=s+t[x,y];
end;
end;
writeln;
writeln('Summa polojitelnih elementov =',s);
writeln;
writeln('Matrix');
for x:=1 to n do begin
for y:=1 to m do
  write(T[x,y],' ');
  writeln;
  end;

Помогите доделать.
Цитата
Переставить строки по убыванию значений максимальных элементов строк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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