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

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

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

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





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

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


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

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


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

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


Профи
****

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

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


Ну первое я произвольно заполняю матрицу с данными размерами числами от 0 до 100,

program matrica;
uses crt;
type
arrsort= array[0..100,1..100] of integer;{100 элементов в строке и столбце думаю хватит}
var
matr : arrsort;
n,m : integer;{размеры матрицы}
S : real;

Procedure CreateMatr(var matr :arrsort;n,m : integer);
var
i,j : integer;
begin
for i:=1 to n do begin
for j:=1 to m do begin
matr[i,j]:=random(100);
write(matr[i,j],' ');
end;
writeln;
end;
end;

Procedure FindMiddle(var matr :arrsort;n,m : integer;Var S : real);
var
i,j : integer;
begin
S:=0;
for i:=1 to n do
for j:=1 to m do
S:=S+matr[i,j];{суммируем все элементы матрицы}

S:=S/(n*m);{Находим среднее арифметическое}

end;

Procedure FindElem(var matr :arrsort;n,m : integer; S : real);
var
i : integer;
begin
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;
end;

begin
randomize;
write('Введите размеры матрицы');
read(n,m);
CreateMatr(matr,n,m);
FindMiddle(matr,n,m,S);
FindElem(matr,n,m,S);
readkey;
end.


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

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 9.09.2025 14:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name