Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Алгоритм]произведение двух массивов


Автор: aylaz 8.4.2008, 11:27
составитьт алгоритм и програму вычисления произведений s двух массивов 
aиb каждый из которых содержит 8 элементов причем считать при этом что 
если индексы a b совпадают то произведений ai bi не равно нулю ,а если 
индексы различны ,то их произведение необходимо прировнять нулю и 
вычисления не производить 

Автор: bars80080 8.4.2008, 11:46
Код
$a = array(1,2,3,4,5,6,7,8);
$b = array(9,8,7,6,5,4,3,2);
$ca = count($a); $cb = count($b);
for($i = 0; $i < $ca; $i++) {
for($j = 0; $j < $cb; $j++) {
if($i != $j) $c[$i][$j] = 0;
else $c[$i][$j] = $a[$i]*$b[$j];
}}
  smile 

Автор: aylaz 8.4.2008, 12:30
извени пажалуста я новичек если не трудно мог бы ты расписать .

Автор: bars80080 8.4.2008, 13:06
алгоритм я те не нарисую, нивжисть такие вещи не делал, а по проге, так на каком языке тебе она нужна?

Автор: aylaz 8.4.2008, 13:16
TURBO PASCAL 7.0.

Автор: bars80080 8.4.2008, 13:29
вот, стало быть идём теперь в раздел паскаля и задаём этот вопрос там

Автор: THandle 8.4.2008, 13:35
bars80080, http://forum.vingrad.ru/forum/topic-205140.html

А это уже дубль.

Автор: aylaz 8.4.2008, 13:36
А КАКИЕ ЯЗЫКИЕ ЕСТЬ 

Автор: aylaz 8.4.2008, 14:05
я пропечатал код в pascale  но чето неполучается вот я и прошу чтоб  напечатал полностью если это возможно буду благодарен

Автор: bars80080 8.4.2008, 14:18
ессно этот код на php, в паскаль не пойдёт

а Вольво хулиган, вопрос чисто программерский, надо было эту тему закрывать,

вот теперь придётся aylazу сидеть и ждать, пока в этом разделе появится паскаль-программист

Автор: aylaz 8.4.2008, 14:28
а как долго ты незнаеш, или можеш подсказать где мне еще могут помочь

Автор: THandle 8.4.2008, 14:29
Я так понял что $c это двумерный массив [1..8, 1..8]?

Тогда так:

Код

var
  a, b : array [1..8] of integer;
  c : array [1..8, 1..8] of integer;
  i, j : integer;
begin
  //заполнение массивов
  for i := 1 to length(a) do
    for j := 1 to length(b) do
      if i <> j then
        c[i, j] := 0
      else
        c[i, j] := a[i] * b[j];
end;



Это только перевод.

Цитата(bars80080 @  8.4.2008,  15:18 Найти цитируемый пост)
а Вольво хулиган



Обсуждать политику модерирования запрещено smile 

Автор: aylaz 8.4.2008, 15:38
а немог бы написать полностью програму а то я навичек в этом деле

Автор: THandle 8.4.2008, 15:43
Код

program Project1;

var
  a : array [1..8] of integer;
  b : array [1..8] of integer;
  c : array [1..8, 1..8] of integer;
  i, j : integer;
begin
  Randomize;
  for i := 1 to 8 do
    begin
      a[i] := random(10);
      b[i] := random(10);
    end;
  for i := 1 to 8 do
    for j := 1 to 8 do
      if i <> j then
        c[i, j] := 0
      else
        c[i, j] := a[i] * b[j];
  for i := 1 to 8 do
    for j := 1 to 8 do
      writeln('i :', i,'j :',j,' = ', c[i, j]);
  readln;
end.




Цитата(aylaz @  8.4.2008,  12:27 Найти цитируемый пост)
составитьт алгоритм и програму вычисления произведений s двух массивов 
aиb каждый из которых содержит 8 элементов причем считать при этом что 
если индексы a b совпадают то произведений ai bi не равно нулю ,а если 
индексы различны ,то их произведение необходимо прировнять нулю и 
вычисления не производить  



Скажи куда информацию выводить, а то двумерный массив не есть хорошо, так как большая часть получится нулей(хотя может так и надо, задачу не очень понял).

Автор: aylaz 8.4.2008, 15:46
как понять куда .у меня только есть условие задачи я его выложил

Добавлено через 5 минут и 43 секунды
кстати а ты можеш нарисовать алгоритм  это было бы шикарно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)