Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2010, 19:53   #1
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию Формирование матрицы рассечением

Имеется матрица, элементами которой являются ее индексы.
Формируется она:

Код:
//массив M
k:=0;
for i=1 to 1000
for j=1 to 1000
    k=k+1;
    M[k,1]=i;
    M[k,2]=j;
end;end;
Если построить по этим точкам точечный график, то получится квадрат из точек 1000 на 1000, с шагом в 1

на основе этой матрицы необходимо создать другую.
Принцип формирования:
случайным образом матрица рассекается прямыми на секторы
Необходимо добавить к М-матрице третий столбец, чтобы он содержал номер сектора(цифры на рисунке).
Прямые задаются уравнением y=kx+b. Т.е. дана матрица k и b.

Прошу помощи в алгоритме формирования данной матрицы
Изображения
Тип файла: jpg Пример.jpg (19.5 Кб, 76 просмотров)
Mikhail Bakurov вне форума Ответить с цитированием
Старый 31.01.2010, 08:01   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Необходимо добавить к М-матрице третий столбец
у матрицы n столбцов (n=1000)
Цитата:
получится квадрат из точек 1000 на 1000
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 31.01.2010, 08:36   #3
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

2 evg_m: Матрица имеет 2 столбца и 1000*1000=10^6 строк
Mikhail Bakurov вне форума Ответить с цитированием
Старый 31.01.2010, 12:51   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

для одной линии пронумеровать (расставить 0 если точка слева-внизу от линии и 1 справа-вверху) можешь?

для линии с номером k (k:=0..n-1)
новый номер := текущий номер + 0 для точек слева-внизу
новый номер := текущий номер + 2**k для точек справа-вверху
в результате получим нумерацию секторов 0..2**(n-1) возможно с пропущенными значениями если важен последовательный порядок проводим перенумерацию
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 31.01.2010, 13:39   #5
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

Спасибо, именно то, что нужно =)
Mikhail Bakurov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формирование матрицы по спирали RomT24 Помощь студентам 5 18.01.2010 02:38
Формирование единичной и нулевой матрицы britva666 Помощь студентам 2 02.06.2009 08:09
формирование матрицы (задание выполненно не могу найти сваю ошибку) КиношкА Помощь студентам 7 11.01.2008 03:50
Формирование квадратной матрицы порядка n по заданному образцу. NeAlSe Помощь студентам 7 05.12.2007 16:04
Двумерные массивы. Формирование одномерного массива из сумм строк матрицы, кратных числу k (в С++) Fimogen Помощь студентам 3 19.11.2007 07:30