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

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

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

> Задача на матрицы, С исп. процедур и функций
Warn
сообщение 20.12.2005 19:58
Сообщение #1


Гость






Здравствуйте! Помогите, пожалуйста, решить задачу на матрицы с помощью процедур и функций.
Нужно удалить из матрицы А(5*7) все столбцы, содержащие не менее 2-х отрицательных элементов, в из матрицы В(7*7) удалить столбцы, сод. не менее трёх отрицательных элементов. Решаю эту задачку второй вечер, но получается какой-то бред. sad.gif Она, видимо, должна быть универсальной; в процедуру поиска нужно передавать сам массив, значения размерности массива M x N и число отрицательных элементов, необходимое для того, чтобы решить, удалять столбец или нет; в процедуру удаления стоблца должен передаваться массив, его размерность и номера столбцов для удаления. Но как это реализовать? Не получается у меня.. sad.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
klem4
сообщение 20.12.2005 20:04
Сообщение #2


Perl. Just code it!
******

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

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


Цитата
Не получается у меня..


Не получается, значит что-то пробовал делать, выложи что сделал, поправим, наставим на путь истинный ... а вообще-то таких задач решалос ууу сколько много, так что
FAQ : Массивы, матрицы, типичные задачи
и конечно поиск по форуму

Сообщение отредактировано: klem4 - 20.12.2005 20:05


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 20.12.2005 20:18
Сообщение #3


Гость






Да млин.. Код криворукий, стыдно мне за него. Я пробовал писать хотя бы для одного массива, а как написать универсальную программу? Вот вопрос. В факе был, ответа не нашел. Сижу, решаю.
 К началу страницы 
+ Ответить 
Warn
сообщение 20.12.2005 20:44
Сообщение #4


Гость






Помогите мне в следующем топике, пожалуйста, тогда для меня эта задача прояснится. Сейчас напишу smile.gif
 К началу страницы 
+ Ответить 
klem4
сообщение 20.12.2005 20:54
Сообщение #5


Perl. Just code it!
******

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

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


вот пример, как удлить к-ый столбец

uses crt;
const
n = 5;
m = 7;

x : array[1..n,1..m] of integer =
(
(1,9,1,5,2,1,0),
(1,9,3,1,5,2,0),
(1,9,1,6,7,2,0),
(1,9,4,2,1,6,0),
(1,9,2,6,8,1,0)
);

var
i,j,t,k : byte;

begin

clrscr;

for i := 1 to n do begin
writeln;
for j := 1 to m do write(x[i,j],' ');
end;

writeln;

write('k='); readln(k);

for j := k to m-1 do
for i := 1 to n do
x[i,j] := x[i,j+1];

writeln;

for i := 1 to n do begin
writeln;
for j := 1 to m-1 do write(x[i,j],' ');
end;

readln
end.



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Warn
сообщение 20.12.2005 23:35
Сообщение #6


Гость






Эм.. И в продолжение темы
Решил пойти не универсальным способом, в лоб так сказать. Помогите найти ошибку в коде

Procedure DeleteCol(Var MasA: Mas1; Var MasB: Mas2);
Var Count, i, j, t, k: Integer;
Begin
Count:=0;
For j:=1 To n Do
Begin
For i:=1 To m Do
If MasA[i,j]<0 Then Count:=Count+1;
If Count>1 Then
Begin
For t:=i To n-1 Do
Begin
For k:=1 To m Do
Begin
MasA[k, t]:=MasA[k, t+1];
MasA[k, n]:=0;
End;
End;
End;
End;
End;


В этом коде мне нужно найти столбец, содержащий более одного отриц. элемента, и удалить его.
 К началу страницы 
+ Ответить 

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

 



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