Сформировать массив B из положительных элементов массива A, имеющих четный индекс

Задача: 

Дан массив A вещественного типа, содержащий 20 положительных и отрицательных элементов. Сформировать массив B из положительных элементов массива A, имеющих четный индекс. Найти сумму квадратов элементов нового массива.

Описание переменных: 
  • j - счетчик количества элементов массива B;
  • sum - сумма квадратов элементов массива B.
Алгоритм решения задачи: 
  1. Сразу будем "просматривать" только четные элементы массива A. Для этого переменной i сначала присвоим значение 2 (первый четный элемент - второй) и затем в цикле будем увеличивать ее значение на 2.
  2. Если элемент массива A с четным индексом (i) больше нуля, то увеличим счетчик элементов массива B, по этому индексу присвоим его массиву B.
  3. Для подсчета суммы квадратов элементов массива B присвоим переменной sum сначала значение 0, затем добавим к ней квадрат каждого элемента.
Программа на языке Паскаль: 

const n = 20;
var	
	arrA, arrB: array[1..n] of real;
	i, j: byte;
	sum: real;
 
begin
	randomize;
	writeln('Array A:');
	for i:=1 to n do begin
		arrA[i] := random() * 10 - 5; // (-5;+5)
		write(arrA[i]:6:2);
		if i mod 10 = 0 then writeln;
	end; 
 
	i := 2;
	j := 0;
	sum := 0;
	while i <= n do begin
		if arrA[i] > 0 then begin
			j := j + 1;
			arrB[j] := arrA[i];
			sum := sum + arrB[j] * arrB[j];
		end;
		i := i + 2;
	end;
 
	writeln('Array B:');
	for i:=1 to j do write(arrB[i]:6:2);
	writeln;
	writeln('sq.sum = ', sum:5:2);
 
end.

Пример выполнения программы:

Array A:
 -1.49  0.50 -4.70 -1.08 -4.95  1.14 -2.46  2.61 -3.14  4.35
  0.52  1.24  4.29 -2.39 -3.95 -4.91 -4.35  3.60  2.50 -0.21
Array B:
  0.50  1.14  2.61  4.35  1.24  3.60
sq.sum = 41.78

Комментарии

кто нибудь может это написать

кто нибудь может это написать на java точнее eclipse

Я сделяль

program qq;
uses crt;
var
        a,b: array[1..5] of integer;
        i,n,m:integer;
        begin
        for i:=1 to 5 do read(a[i]);
        for i:=1 to 5 do
        begin
        if (a[i]>0) and (i mod 2=0) then
        begin
        n:=n+1; b[n]:=a[i];
        end;
        end;
         for i:=1 to n do
         write(b[i]);
 
         end.

Вы забыли выполнить последнюю

Вы забыли выполнить последнюю задачу: посчитать суммуквадрачтов всех элементов массива В.

помогите пожалуйста решить

помогите пожалуйста решить задачку!
Сформировать список L1 из отрицательных элементов L

список L1 из отрицательных элементов L

const
  n  = 100;
 
type
  filetype = file of integer;
 
 
 
procedure spisok_l;//задаем список l (элементы задаются рандомно);
var
  l: filetype;
  i, cifer: integer;
begin
  assign(l, 'spisok_l');Rewrite(l);
  for i := 1 to n do
  begin cifer := Random(30) - 15;write(l, cifer); end;
  close(l);
end;
 
//обрабатываем список l(выводим его н экран полностью а также в случае отрицатльного элемента
//записываем его в список l1, по окончанию выводим cодержимое списка l1
procedure spisok_l1;)
var
  l, l1: filetype;
  cifer: integer;
begin
  assign(l, 'spisok_l');
  assign(l1, 'spisok_l1');
  Reset(l);Rewrite(l1);
  writeln(#10, 'содержимое файла l: ');
  while not eof(l) do
  begin
    read(l, cifer);write(cifer:4);
    if cifer < 0 then write(l1, cifer)end;
  close(l);close(l1);
  writeln(#10, 'содержимое файла l1: ');
  Reset(l1);
  while not Eof(l1) do
  begin read(l1, cifer);write(cifer:4); end;
  close(l1);
end;
 
begin
  spisok_l;spisok_l1;
 
 
end.