![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
один массив побить на десять [D4]
vilfred © (2002-12-09 19:36:00)есть массив, размером 100 на 200, его надо побить на массивы 10 на 200. Как это сделать? Я уже одурел...
thanks!
vilfred (2002-12-10 12:37:00) [1]мне так надо было бить на несколько частей массив потому, что шеф так сказал научный. тут непоспоришь.
vilfred (2002-12-09 22:40:00) [2]2Sha, заррррррработалааааааааа!!! Спасибо!! :))
Sha (2002-12-09 22:26:00) [3]Все просто: массив-A и массив-B - два разных имени для одних и тех же данных.
A - одна большая плитка шоколада размером 100х200.
Б - та же плитка, разрезанная на 10 шоколадок размером 10х200.
К ячейке номер 7 в 15-том ряду можно обратиться как А[15,7] или как Б[2,5,7] (2 - это номер 2-ой шоколадки).
Теперь понятней ? ;)
Harvard University (2002-12-09 22:23:00) [4]Бывает..
vilfred (2002-12-09 22:15:00) [5]вобщем короче я не врубаюсь совершенно конкретно в это все дело!!!!!!!!!
Sha (2002-12-09 22:02:00) [6]Еще мне показалось, ты пытаешься скопировать массив-A в массив-B.
Не стоит. Они уже "скопированы". Почитай про absolute.
Sha (2002-12-09 21:00:00) [7]Ни один индекс в выражении не должен выходить за границы.
У тебя выходит.
vilfred (2002-12-09 20:47:00) [8]2Sha, ругается, не хочет, мой код тоже не работает:
for h:=0 to 15 do for n:=11+h to VidH-11 do
for m:=0 to VidW-1 do tt[h,n,m]:=ma[n,m];
Sha (2002-12-09 20:30:00) [9]Попробуй так
var
a: array[1..100,1..200] of YourType;
b: array[1..10,1..10,1..200] of YourType absolute a;
и где надо используй нужный вариант представления.
Reindeer Moss Eater (2002-12-09 20:00:00) [10]Ну раз так, - удачи
vilfred (2002-12-09 19:58:00) [11]не выходит тоесть!!
vilfred (2002-12-09 19:57:00) [12]обрабатывать его буду, у меня методы есть для обработки, которые я сам делал, но с трехмерным массивом не ходит ничего :((
Ж(((((((
Reindeer Moss Eater (2002-12-09 19:55:00) [13]Ну допустим будет. Что станешь делать?
Почему это невозможно с одним целым массивом?
vilfred (2002-12-09 19:53:00) [14]надо :(((
чтобы был массив массивов из 16 строк, далее массив массивов из 16 строк далее массив массивов из 16 строк. И т.д. пока все эти 16 не сложатся в 255.
LongIsland (2002-12-09 19:51:00) [15]
> vilfred (09.12.02 19:47)
> мне нужно побить массив по горизонтальным строкам длинной
> в 377 пикселей... потом дальше обрабатывать как-то.
> не понимаю, как это сделать?
> если так, то не пашет.
>
> for n:=11 to VidH-11 do for m:=0 to VidW-1 do
> if (int(n)/16<>int(n/16)) then
> ma[n,m]:=byte(Image2.Canvas.Pixels[n,m] and $ff);
>
> надо побить массив ma[n,m] на мелкие... не бъется, не умею
> :((((((((((((
ДА ЗАЧЕМ???
Reindeer Moss Eater (2002-12-09 19:49:00) [16]Что означает "побить"?
vilfred (2002-12-09 19:47:00) [17]мне нужно побить массив по горизонтальным строкам длинной в 377 пикселей... потом дальше обрабатывать как-то.
не понимаю, как это сделать?
если так, то не пашет.
for n:=11 to VidH-11 do for m:=0 to VidW-1 do
if (int(n)/16<>int(n/16)) then
ma[n,m]:=byte(Image2.Canvas.Pixels[n,m] and $ff);
надо побить массив ma[n,m] на мелкие... не бъется, не умею :((((((((((((
Reindeer Moss Eater (2002-12-09 19:46:00) [18]Тогда сначала пойми что тебе надо.
vilfred (2002-12-09 19:44:00) [19]не понял ничего, там одномерные массивы... :(((
я заполняю массив вот так:
const VidH=255; VidW=377;
...
for n:=11 to VidH-11 do for m:=0 to VidW-1 do
ma[n,m]:=byte(Image2.Canvas.Pixels[n,m] and $ff);
это что трехмерный массив надо делать? Как? НЕ понимаю!!!!!! :(((((
LongIsland (2002-12-09 19:43:00) [20]
> vilfred (09.12.02 19:36)
Уточните, пожалуйста, а КАК Вы пытались и какой массив (статический или динамический)?