Сформировать массив 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

 

Тема

Одномерные массивы

Уровень

Простые задачи