АК
Агата Кузнецова

объясните работу программы.

Пожалуйста)) заранее благодарен.
Дан целочисленный массив A из N элементов (0<100). Определить те его элементы, индексы которых являются степенями двойки (1,2,4,8,16, ..).
С++
#include
#include
#include

bool isPowerOfTwo (int );

int main ()
{
srand(time(0));
const int arraySize = 25;
int array[arraySize];

std::cout << "Array: " << std::endl;
for (int i = 0; i < arraySize; i++)
std::cout << (array = rand () % 101) << " ";
std::cout << std::endl;

std::cout << "Element of array: " << std::endl;
for (int i = 0; i < arraySize; i++)
if (isPowerOfTwo(i + 1))
std::cout << array << " ";
std::cout << std::endl;

return 0;
}

bool isPowerOfTwo (int value)
{
int tmpValue = 2;
while (tmpValue < value)
tmpValue *= 2;
return (tmpValue == value);
}
Pascal
uses crt;
const nmax=99;
var a:array[1..nmax] of integer;
n,i:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходный массив: ');
for i:=1 to n do
begin
a:=random(99)+1;
write(a:4);
end;
writeln;
writeln('Элементы, чьи индексы есть степени числа 2:');
i:=1;
while i<=n do
begin
write(a:4);
i:=i*2;
end;
readln
end.



Оличка
Оличка

Там ошибка по моему в проге, как массиву "a" можно присваивать что-то?
А по логике вещей прога ищет "Элементы, чьи индексы есть степени числа 2"

Ве
Вера

В паскале верное решение, на С++ надо писать также, а написан бред. Проверяется i+1 член, а выводится i- тый! Да и функция написана бредово.

Похожие вопросы
программа для работы с браузером
Объясните пожалуйста код программы
Нужны программы на Паскале, чтобы объяснить человеку их принцип работы
объясните пожалуйста эту программу на С# 2
Объясните принцип работы этой программы
объясните пожалуйста. объясните пожалуйста как пользоваться программой Synthesia?
С++, объяснить программу
завршенире работы программы !!!
Объясните пожалуйста программу C++
Объяснить код программы