|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите составить цикл перемножения двух одномерных массивов
Есть 2 массива
Код:
var k: array[1..4] of Integer=(5, -2,3,0); l: array[1..4] of Integer=(-7,0,0,4); Задача довольно тривиальная. Получить третий массив, с элементами Код:
-35 14 -21 0 0 0 0 0 0 0 0 0 20 -8 12 0 Другими словами, никак не могу составить цикл для Код:
c[1]:=k[1]*l[1]; c[2]:=k[2]*l[1]; c[3]:=k[3]*l[1]; c[4]:=k[4]*l[1]; c[5]:=k[1]*l[2]; c[6]:=k[2]*l[2]; c[7]:=k[3]*l[2]; c[8]:=k[4]*l[2]; c[9]:=k[1]*l[3]; c[10]:=k[2]*l[3]; c[11]:=k[3]*l[3]; c[12]:=k[4]*l[3]; c[13]:=k[1]*l[4]; c[14]:=k[2]*l[4]; c[15]:=k[3]*l[4]; c[16]:=k[4]*l[4]; Буду благодарен за помощь |
#2
|
|||
|
|||
Где то так:
Код:
For i:=1 to 4 do for j:=1 to 4 do c[(i*i+(j-1))]:=k[i]*l[j]; Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#3
|
|||
|
|||
Цитата:
Новый массив: Код:
-35 0 0 14 0 0 -8 0 -21 0 0 12 0 0 0 0 Последний раз редактировалось crazybabushka, 16.11.2010 в 17:49. |
#4
|
|||
|
|||
Поменяйте местами индексы массива:
вот так: For j:=1 to 4 do for i:=1 to 4 do c[(j*j+(i-1))]:=k[i]*l[j]; Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#5
|
|||
|
|||
Цитата:
Несколько лишних нулевых элементов в середину затусовываются. Хотя, в принципе, для меня это не критично, всё равно нулевые элементы потом отбрасываю. Спасибо!!! Последний раз редактировалось crazybabushka, 16.11.2010 в 18:17. |
#6
|
|||
|
|||
For j:=1 to 4 do
for i:=1 to 4 do c[(j*4-4+(i))]:=k[i]*l[j]; массив будет вот такой: -35 14 -21 0 0 0 0 0 0 0 0 0 20 -8 12 0 Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#7
|
|||
|
|||
Спасибо тебе огромное!
|