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

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

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

> Преобразование прямоугольной матрицы, Помогите с решением
сообщение
Сообщение #1





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

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


Народ помогите с задачей:
Дана матрица B размером m*n и вектор C размером k, нужно заменить вектором С столбцы марицы B, не содержащие ни одного отрицательного элемента?
Я эту задачу начал делать, но не могу сообразить какой цикл там надо применять при замене столбца на вектор. Помогите с решением. Плиз. Заранее спасибо!
Вот начало моей программы:

program matrica;
coust m1=15; n1=15; k1=15;
type index_1=1..m1;
index_2=1..n1;
index_3=1..k1;
matrix=array[index_1,index_2] of real;
vector=array[index_3] of real;
var m,i: index_1;
n,j: index_2;
k,l: index_3;
B:matrix;
C:vector;
begin
write ('Число строк матрицы В m= ');
readln(m);
write ('Число столбцов матрицы В n= ');
readln(n);
write ('Число элементов вектора C k= ');
readln(k);
writeln (' ':23,'Введите элементы матрицы B');
for i:=1 to m do for j:=1 to n do
begin
write ('A[',i,',',j,']=');
readln (a[i,j]);
end;
writeln (' ':23,'Введите элементы вектора C');
for l:=1 to k do
begin
write ('C[',i,']=');
readln (c[l]);
end;
...............

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


Гость






Серёжка, кстати, это - классический пример ситуации, когда человек сначала создает себе проблемы, а потом успешно их решает... А если не создавать?

Я вот о чем: смотрим внимательно на задание -
Цитата
Дана матрица B размером m*n и вектор C размером k, нужно заменить вектором С столбцы марицы B, не содержащие ни одного отрицательного элемента?
Представляешь, насколько все будет проще, если рассматривать матрицу НЕ как массив строк (что ты делаешь сейчас), а как массив столбцов? С одной стороны это облегчает поиск отрицательных элементов в столбце (ты же будешь работать со столбцом, как с обычным массивом)... С другой стороны - замена столбца - вообще одним оператором...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Цитата(volvo @ 16.05.2007 10:56) *

Серёжка, кстати, это - классический пример ситуации, когда человек сначала создает себе проблемы, а потом успешно их решает... А если не создавать?

Я вот о чем: смотрим внимательно на задание - Представляешь, насколько все будет проще, если рассматривать матрицу НЕ как массив строк (что ты делаешь сейчас), а как массив столбцов? С одной стороны это облегчает поиск отрицательных элементов в столбце (ты же будешь работать со столбцом, как с обычным массивом)... С другой стороны - замена столбца - вообще одним оператором...

Ну я примерно так и мыслю, просто мои познания Паскаля очень, очень маленькие. unsure.gif
А код будет примерно такой при замене столбцов, правда я его ещё не додумал:

For j:=1 to n do
For i:=1 to m do
begin
А вот здесь я должен проверит если ли в столбце отрицательный
элемент или нет, если нет заменить этот столбей на вектор
end


Если что не та подправте пожалуста. smile.gif

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

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


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

 





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