Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Алгоритм преобразования элементов массива


Автор: Alexander4321 28.11.2010, 15:54
Пытаюсь выполнить лабораторную работу. Дано задание : Задана последовательность значений элементов некоторого массива до и после преобразования по некоторому правилу. Определите алгоритм преобразования и напишите программу, которая:

1) формирует массив из заданного количества случайных целых чисел в заданном диапазоне и выводит элементы массива на экран;

2) по определенному вами алгоритму преобразовывает этот массив и выводит на экран элементы преобразованного массива.

3) производит заданные вычисления и выводит результат на экран.

Мой вариант : Массив C = (–4, 9, 5, –8, –5, 4, 0) преобразован к виду C = (–8, 0, 0, –16, –10, 0, 0). Размер массива C - 40 элементов из диапазона [–23,23]. Вычислить сумму нечетных элементов преобразованного массива.

Не могу понять, как определить алгоритм преобразования. Писал преподу, но тот молчит как партизан. Сможет кто-нибудь объяснить? Заранее спасибо!

Автор: ~FoX~ 28.11.2010, 17:39
Alexander4321, 
Цитата(Alexander4321 @  28.11.2010,  16:54 Найти цитируемый пост)
(–4, 9, 5, –8, –5, 4, 0) преобразован к виду C = (–8, 0, 0, –16, –10, 0, 0)
 Все положительные в ноль все отрицательные умножить на два...
Заполнили
Код

randomize
for i := 0 to 39 do begin
  c[i] := random (46)-23
end;

Преобразовываем...
Код

for i := 0 to 39 do begin
  if c[i] < 0 then c[i] := c[i]*2 
  else c[i] := 0;
end;


Вычисляем
Код

var
  r: integer;
//......
for i := 0 to 39 do begin
  if not odd(i) then r := r + c[i];
end;

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