![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
punkska |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задача
Цитата Из матрицы С[1..4,1..5] удалить столбец , в котором наибольшее кол-во отрицательных элементов. Для начала пара теор. вопросов по алгоритму Необходимо 1. Ввод матрицы 2. Подсчёт кол-ва ОТРИЦАТЕЛЬНЫХ элементов в столбце 3. Составить массив, состоящий из подсчитаного количества отрицательных элементов по каждому столбцу 4. нахождение столбца для удаления.... 5. удалить столбец с наибольшим кол. отрицательных элементов , получить новую матрицу... 6. вывод матрицы вроде не забыл ни чего... не хочу писать много процедур ![]() хотел спросить - можно первые 3 пункта объединить??? ![]() вот мой выриант этого объединения program lab2; как думаете, будут работать? B[1,i]:=k так надо? Сообщение отредактировано: volvo - 2.11.2006 15:06 -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
FAQ : Массивы, матрицы, типичные задачи
+ поиск по форуму, или для тебя отдельно в тысяча первый раз решать ? Вот например : http://forum.pascalnet.ru/index.php?s=&sh...indpost&p=50590 Сообщение отредактировано: klem4 - 28.02.2006 22:34 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
punkska |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
klem4 , извини!
Я читал ФаК и пойск юзал... Я не спрашивал как удалить...я нашёл это в факе Я наверно просто зря создал новый топик, надо было в подобный лезть ![]() просто в процессе написания программы бывают ошибки в которых тут так удачно помогают разобраться) ![]() -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
punkska |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
program lab2; как обнулять счётчик подсчёта отрицательных элементов для каждого столбца? и что-то мне кажеться что я не в стобцах а в строках ищу.... ![]() -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
procedure EnterMatr(Var A,B:Matrix; N,M:integer); |
punkska |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
Laba2.pas
Program Laba2; Global.pas unit Global; InOut.pas unit InOut; DelST.pas unit DelST; Помогите разобраться с моими ошибками ![]() Опять меня мучает передача функции в виде параметра..что-то мне подсказывает что что-то я намудрил тут..и всё гораздо проще.... Procedure Del беда((( хелп (а был же ФАК по Модулям??? или я просто не внимательный! мне казалось я его даже читал в прошлом году) Сообщение отредактировано: volvo - 2.11.2006 15:07 -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Ну, для начала, имя процедуры НЕ МОЖЕТ совпадать с именем модуля... Меняй или одно, или другое, иначе будешь получать ошибку "повторное определение идентификатора"
|
punkska |
![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
исправил...
мммм Var A,B:Matrix; надо вписать.. а куда вписать в каую часть! ...пойду искать фак по модульному програмированию!!! он должен быть ![]() -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
punkska |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
помогите куда вписать
Var A,B:Matrix; чтоб всё заработало... ![]() Прикрепленные файлы ![]() -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
punkska |
![]()
Сообщение
#10
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
я в тупике! как быть с этим варом! что-то ничего не выходит((( всё равно в первой же процедуре выдаёт ошибку, что А это не известный индификатор (
-------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Ну, допустим, у тебя НЕ везде, где нужно, подключен модуль GLOBAL. Это во-первых. Во-вторых, я вообще не вижу, где этот твой Del вызывается, и КАК ты в него передаешь параметры...
Ну, и наконец в-третьих: эту же программу можно написать совершенно по-другому, гораздо проще и не делая лишних движений... НО!!! Ты же не сказал, ЧТО именно должно быть в программе, а что - нет. Может тебе обязательно использовать процедурный тип, а может - только желательно... ![]() Телепат в отпуске... |
punkska |
![]()
Сообщение
#12
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Может тебе обязательно использовать процедурный тип, а может - только желательно... обязательно ![]() Процедурный тип, Модули, Передача функции в виде параметра.... я-то думал не надо подключать Глобал к каждому модулю...исправил) странно.. работает ))) ... тока вывод какой-то странный=) в строку Прикрепленные файлы ![]() -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
![]() Function Min(Var B:Matrix; N,M:integer):integer;Внимательнее с этим... Исправь J на 1... |
punkska |
![]()
Сообщение
#14
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
volvo
![]() Спасибо!! как всегда помог!!! ![]() пойду по репе получать от преподавателя) -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
punkska |
![]()
Сообщение
#15
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
я допустил жуткую ошибку! я не внимательно прочёл задание! нужно удолить столбцЫ, а не столбец!
значит метод *подтягивания хвостика тут не прокатит* и возможно мне и функция-то не нужна!...будем думать...может в пойске что найду.... -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
Цитата метод *подтягивания хвостика тут не прокатит* ... Нет, все-таки придется этот метод использовать. Здесь имеется в виду, что если массив B имеет вид: <1, 2, 3, 2, 3>, то придется удалять КАК 3-й, так и 5-ый столбец, но после 3-го идет 4-ый, который НЕ надо удалять!!!Просто находишь максимум, как и находил, НО добавляешь еще одну функцию, индекс ближайшего максимального элемента (возвращающую индекс ближайшего справа макс. элемента), и производишь удаление (как и делал его) пока в массиве СПРАВА от текущего значения индекса еще есть максимальные значения... Это, кстати, еще удобнее для реализации через функциональные типы... |
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
P.S. Стоп... Есть более корректное решение... Надо искать НЕ с начала массива B, а с его окончания (соответственно, не ближайший справа, а ближайший СЛЕВА)... Так решаем проблему смещения всех столбцов СПРАВА от удаляемого на один (а пусть смещаются, мы же идем в противоположную сторону, это нам не мешает...)
|
punkska |
![]()
Сообщение
#18
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
пока немного непонял твоих слов...но будем пробывать)
как думал сделать я ( может это в корне не верно и не возможно реализовать) есть массив В [2 3 3 2 3 ] U:=0; делаем цикл for i:=1 to N do если B[1,j] =min то делаем пока ещё точно не придумал но что то типа идём от j:=1 до ( B[1,j] как-то надо j вытащить) присваем все элементам A[N,j+U]; endы inc(U); пока такие мысли в метро летали в голове.... ![]() надо ещё подумать -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
volvo |
![]()
Сообщение
#19
|
Гость ![]() |
Ну, если честно, я бы вообще по-другому эту задачу делал... Например, так:
Прикрепленные файлы ![]() |
punkska |
![]()
Сообщение
#20
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
примусь за изучение
![]() агааааа ! массив с конца рассматривал....круто! и как коротко!! Спасибо! сейчас так же сделаю) Спасиб! -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:48 |