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

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

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

> Удаление СТОЛБЦА матррицы..., модули, процедуры, функции ....
сообщение
Сообщение #1


Пионер
**

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

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


Задача
Цитата
Из матрицы С[1..4,1..5] удалить столбец , в котором наибольшее кол-во отрицательных элементов.


Для начала пара теор. вопросов по алгоритму
Необходимо
1. Ввод матрицы
2. Подсчёт кол-ва ОТРИЦАТЕЛЬНЫХ элементов в столбце
3. Составить массив, состоящий из подсчитаного количества отрицательных элементов по каждому столбцу
4. нахождение столбца для удаления....
5. удалить столбец с наибольшим кол. отрицательных элементов , получить новую матрицу...
6. вывод матрицы
вроде не забыл ни чего...

не хочу писать много процедур wacko.gif
хотел спросить - можно первые 3 пункта объединить??? yes2.gif
вот мой выриант этого объединения

program lab2;
uses crt;

Const
N=4;
M=5;

type
Matrix = array[1..N,1..M] of integer;

procedure EnterMatr(Var A,B:Matrix; N,M:integer);
var
i,j,k:integer;
Begin
k:=0;
For i:=1 to N do
begin
For j:=1 to M do
begin
write('A[',i,j,']= ');
readln(A[i,j]);
if A[i,j]<0 then
Begin k:=k+1; B[1,i]:=k;
end;
end;
end;
end


как думаете, будут работать? B[1,i]:=k так надо?

Сообщение отредактировано: volvo -


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
метод *подтягивания хвостика тут не прокатит*
... Нет, все-таки придется этот метод использовать. Здесь имеется в виду, что если массив B имеет вид: <1, 2, 3, 2, 3>, то придется удалять КАК 3-й, так и 5-ый столбец, но после 3-го идет 4-ый, который НЕ надо удалять!!!

Просто находишь максимум, как и находил, НО добавляешь еще одну функцию, индекс ближайшего максимального элемента (возвращающую индекс ближайшего справа макс. элемента), и производишь удаление (как и делал его) пока в массиве СПРАВА от текущего значения индекса еще есть максимальные значения... Это, кстати, еще удобнее для реализации через функциональные типы...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
punkska   Удаление СТОЛБЦА матррицы...   1.03.2006 1:59
klem4   FAQ : Массивы, матрицы, типичные задачи + поиск п…   1.03.2006 2:21
punkska   klem4 , извини! Я читал ФаК и пойск юзал... Я …   1.03.2006 4:21
punkska   program lab2; uses crt; Const N=4; M=5; type …   3.03.2006 0:21
volvo   procedure EnterMatr(Var A,B:Matrix; N,M:integer); …   3.03.2006 0:39
punkska   Laba2.pas Program Laba2; uses Crt, Global, InOut,…   5.03.2006 23:11
volvo   Ну, для начала, имя процедуры НЕ МОЖЕТ совпадать с…   5.03.2006 23:13
punkska   исправил... мммм Var A,B:Matrix; надо вписать..…   5.03.2006 23:26
punkska   помогите куда вписать Var A,B:Matrix; чтоб всё з…   6.03.2006 1:03
punkska   я в тупике! как быть с этим варом! что-то …   6.03.2006 14:01
volvo   Ну, допустим, у тебя НЕ везде, где нужно, подключе…   6.03.2006 14:11
punkska   обязательно :yes2: Процедурный тип, Модули, Пер…   6.03.2006 14:31
volvo   :) Function Min(Var B:Matrix; N,M:integer):intege…   6.03.2006 14:39
punkska   volvo :give_rose: Спасибо!! как всегда…   6.03.2006 14:45
punkska   я допустил жуткую ошибку! я не внимательно про…   7.03.2006 0:51
volvo   ... Нет, все-таки придется этот метод использовать…   7.03.2006 0:59
volvo   P.S. Стоп... Есть более корректное решение... Надо…   7.03.2006 1:11
punkska   пока немного непонял твоих слов...но будем пробыва…   7.03.2006 1:38
volvo   Ну, если честно, я бы вообще по-другому эту задачу…   7.03.2006 1:48
punkska   примусь за изучение :give_rose: агааааа ! ма…   7.03.2006 1:55


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

 





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