Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на массивы

Автор: Vladimir 2.11.2003 19:23

Помогите решить задачу. Она звучит так:

Код
var: x:array[1..100] of real;
      a:array[1..30] of 1..100;
      s:real;

Вычислить s - сумму тех элементов массива x, индексы которых совпадают со значениями элементов массива a (a[i]<>a[j] при i<>j ).

Автор: fms 2.11.2003 22:42

по моему тут много ошибок в формулировке?.. нет?..

и в чем сложность для тебя?.. (раз уж тут практика объяснения теперь.. smile.gif)

Автор: Vladimir 3.11.2003 0:06

Задача сформулирована именно так(ну может только "не равно" я заменил на "<>" и индексы я взял в скобки).
Сложность заключается в том, что я не понимаю что значит "of 1..100". И откуда у нас есть и a[i] и a[j], если массив a - не матрица?

Автор: ___ALex___ 3.11.2003 0:46

Vladimir
fms тебя научит  :) ;)

Автор: fms 3.11.2003 2:15

___ALex___, ха-ха..  >:(

Автор: fms 3.11.2003 2:17

___ALex___
думаю у тебя лучше получится.. )

Автор: ___ALex___ 3.11.2003 5:12

fms
я в хорошем смысле  :)

Автор: fms 3.11.2003 12:31

___ALex___, еще бы в плохом.. smile.gif


может я что то не так думаю, но по моему тут все не так сложно..

a:array [1..30] of 1..100;

это означает, что значения элементов массива а изменяются в диапазоне от 1 до 100 т.к. коэффициенты массива х нумеруются от 1 до 100.. smile.gif вот и все.

хм.. а по твоему массив обязательно должен быть матрицей?!
а a[i]<>a[j] значит что элементы в массиве а не повторяются..
может я что то не так поняла, но по моему верно.

соответственно программа:

Код
Program hdkhj;
var x:array[1..100] of integer;
a:array[1..30] of 1..100;
s:real;
i,j:integer;
begin
for i:=1 to 30 do
read(a[i]);
for j:=1 to 100 do
read(x[j]);
s:=0;
for i:=1 to 30 do
for j:=1 to 100 do
if i=a[j] then
s:=s+x[i];

write('s: ',s);
end.

Автор: zx1024 3.11.2003 14:19

s := 0;
for i := 1 to 30 do
 s := s + x[a[i]];

Автор: fms 4.11.2003 0:26

zx1024
а какая разница?! ведь коэффициент при х равен эл-ту в массиве а..

Автор: fms 4.11.2003 0:28

а.. все поняла.. )