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

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

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

> Задача про матрицу и одномерный массив.
Batia
сообщение 27.11.2005 14:24
Сообщение #1


Гость






Задача такая:
**На основе матрицы A(4 строки, 5 столбцов) сформировать одномерный массив B из 5 элэментов. Каждий элемент Bk этого массива получает значение, равное полусумме ззначений наибольшего и наименьшего элементов в k-м столбце матрицы A.
Для вычисления полусуммы значений наибольшего и наименьшего элементов в произвольном столбцематрицы использовать процедуру.**
Никак не могу ее решить, а препод. что-либо объяснять отказывается.
Помогите, если сможете.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
APAL
сообщение 28.11.2005 16:23
Сообщение #2


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Цитата
ii -это индекс?
mout - это массив?

Да, ii - это индекс столбца
mOut - смотри "Real", т.е. вещественное число, т.е. это и будет возвращаться процедурой как полусумма.

Цитата
что такое полусумма, еще можно понять, наибольший и наиаменьший элементы должны находиться как-то так:
min:=A[1,1];
max:=A[1,1];
for i=1 to n do
for j=1 to m do
if A[i,j]<min then
min:=A[i,j];
{о необходимости begin-ов и end-ов, с сожалению, ничего не знаю}
if A[i,j]>max then
max:=A[i,j];

Не совсем так, полусумму нужно найти среди мин. и макс. элементов в определенной столбце (ii - индекс, который и передает в процедуру этот самый номер столбца), а у тебя ищется по всему массиву.

min:=a[1,ii];
max:=a[1,ii];
For i:=2 to 4 do
If a[i,ii]<min then min:=a[i,ii] else
If a[i,ii]>max then max:=a[i,ii];
mOut:=(min+max)/2;



Цитата
Но больше всего меня смущает фраза: " Каждый Bk-ый элемент... получает значение..... k-м столбце матрицы A"
Что это означает в переводе на русский?

см. выше приведенный код, может станет понятнее.

Цитата
И еще один вопрос, за чем находить и передовать индекс, если полусумма это простое число.

Мы передаем индекс (номер столбца) в процедуру, для того, чтобы она знала с каким именно столбцом ей работать.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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