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

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

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

> Нужна помощь в решении!, Матрицы
Plushka
сообщение 23.05.2009 19:11
Сообщение #1





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

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


Помогите пожалуйста решить задачки чтоб на их основе хоть что-нибудь понять smile.gif(Скоро зачет)
Я понимаю что они должны быть простыми но потратьте чуточку времени чтоб помочь.

Среди элементов главной диагонали найти такие значения которых больше среднего арифметического для всех элементов матрицы.


В каждом столбце над побочной диагональю найти минимальные элементы.Сформировать из них масив,упорядочить его по убыванию и напечатать номера столбцов,соответсвуюшие этому масиву.

Сообщение отредактировано: Plushka - 24.05.2009 8:23
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 24.05.2009 12:58
Сообщение #2


Гость






Какую печать? С какой подписью? Это две разных задачи, на всякий случай... Приведенное решение - только для первой из них. Причем, решение просто блещет программерскими находками, вроде:
Цитата
 if n<=m then
begin
write('Элементы больше среднего:');
for i:=1 to n do
if matr[i,i]>S then
write(matr[i,i],' ');
end
else
begin
write('Элементы больше среднего:');
for i:=1 to m do
if matr[i,i]>S then
write(matr[i,i],' ');
end;
, но это пусть остается на совести автора.

Теперь о второй части: поскольку в задании явно не указано, что за матрица, и откуда она берется - то вот это:
const
n = 10;
m = 10;

type
arrtype = array[1 .. n, 1 .. m] of integer;
vectype = array[1 .. m - 1] of integer;

procedure sort(const arr: vectype; var ix: vectype; n: integer);
var i, j, T: integer;
begin
for i := 1 to n do
for j := n downto i + 1 Do
if arr[ix[j - 1]] < arr[ix[j]] then begin
T := ix[j - 1]; ix[j - 1] := ix[j]; ix[j] := T
end;
end;

var
arr: arrtype;
mins, index: vectype;
i, j, min: integer;

begin
for i := 1 to n do begin
for j := 1 to m do begin
arr[i, j] := random(100);
write(arr[i, j]:4);
end;
writeln;
end;

writeln; writeln;

for j := 1 to m - 1 do begin
min := maxint;
for i := 1 to (n - j) do begin
if min > arr[i, j] then min := arr[i, j];
end;
mins[j] := min; index[j] := j;
end;

sort(mins, index, m - 1);
for i := 1 to m - 1 do begin
write(mins[index[i]], '(', index[i], ') ');
end;

end.
не противоречит ни одной букве задания:
Цитата
В каждом столбце над побочной диагональю найти минимальные элементы.Сформировать из них масив,упорядочить его по убыванию и напечатать номера столбцов,соответсвуюшие этому масиву
 К началу страницы 
+ Ответить 

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


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

 



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