Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Внизодин массив побить на десять Найти похожие ветки
← →
vilfred (2002-12-09 19:36) [0]есть массив, размером 100 на 200, его надо побить на массивы 10 на 200. Как это сделать? Я уже одурел...
thanks!
← →
Reindeer Moss Eater (2002-12-09 19:41) [1]1. Move();
2. For ...
← →
LongIsland (2002-12-09 19:43) [2]
> vilfred (09.12.02 19:36)
Уточните, пожалуйста, а КАК Вы пытались и какой массив (статический или динамический)?
← →
vilfred (2002-12-09 19:44) [3]не понял ничего, там одномерные массивы... :(((
я заполняю массив вот так:
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);
это что трехмерный массив надо делать? Как? НЕ понимаю!!!!!! :(((((
← →
Reindeer Moss Eater (2002-12-09 19:46) [4]Тогда сначала пойми что тебе надо.
← →
vilfred (2002-12-09 19:47) [5]мне нужно побить массив по горизонтальным строкам длинной в 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) [6]Что означает "побить"?
← →
LongIsland (2002-12-09 19:51) [7]
> 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] на мелкие... не бъется, не умею
> :((((((((((((
ДА ЗАЧЕМ???
← →
vilfred (2002-12-09 19:53) [8]надо :(((
чтобы был массив массивов из 16 строк, далее массив массивов из 16 строк далее массив массивов из 16 строк. И т.д. пока все эти 16 не сложатся в 255.
← →
Reindeer Moss Eater (2002-12-09 19:55) [9]Ну допустим будет. Что станешь делать?
Почему это невозможно с одним целым массивом?
← →
vilfred (2002-12-09 19:57) [10]обрабатывать его буду, у меня методы есть для обработки, которые я сам делал, но с трехмерным массивом не ходит ничего :((
Ж(((((((
← →
vilfred (2002-12-09 19:58) [11]не выходит тоесть!!
← →
Reindeer Moss Eater (2002-12-09 20:00) [12]Ну раз так, - удачи
← →
Sha (2002-12-09 20:30) [13]Попробуй так
var
a: array[1..100,1..200] of YourType;
b: array[1..10,1..10,1..200] of YourType absolute a;
и где надо используй нужный вариант представления.
← →
vilfred (2002-12-09 20:47) [14]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 21:00) [15]Ни один индекс в выражении не должен выходить за границы.
У тебя выходит.
← →
Sha (2002-12-09 22:02) [16]Еще мне показалось, ты пытаешься скопировать массив-A в массив-B.
Не стоит. Они уже "скопированы". Почитай про absolute.
← →
vilfred (2002-12-09 22:15) [17]вобщем короче я не врубаюсь совершенно конкретно в это все дело!!!!!!!!!
← →
Harvard University (2002-12-09 22:23) [18]Бывает..
← →
Sha (2002-12-09 22:26) [19]Все просто: массив-A и массив-B - два разных имени для одних и тех же данных.
A - одна большая плитка шоколада размером 100х200.
Б - та же плитка, разрезанная на 10 шоколадок размером 10х200.
К ячейке номер 7 в 15-том ряду можно обратиться как А[15,7] или как Б[2,5,7] (2 - это номер 2-ой шоколадки).
Теперь понятней ? ;)
← →
vilfred (2002-12-09 22:40) [20]2Sha, заррррррработалааааааааа!!! Спасибо!! :))
← →
vilfred (2002-12-10 12:37) [21]мне так надо было бить на несколько частей массив потому, что шеф так сказал научный. тут непоспоришь.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c