int even(int nVal)
{
if ( nVal & 1 )
{
return 0;
}
else
{
return 1;
}
}
void main()
{
int nCount=0;
for (int i = 0; i < N ; i++)
{
if (even(nArray)
{
nCount++;
}
}
std::cout<<"Количество четных элементов "<< nCount << endl;
}
Задача на массивы(С++)
Задача: в одномерном массиве состоящем из n целых элементов вычислить:
1)произведение элементов массива с четными номерами
2)сумму элементов массива расположенными между первым и последним нулевыми элементами
Преобразовать массив таким образом чтобы сначала располагались все положительные элементы, а потом все отрицательные (элемены = 0 считать положительными)
Цитата:
Originally posted by poor
Помогите пожалуйста!
Задача: в одномерном массиве состоящем из n целых элементов вычислить:
1)произведение элементов массива с четными номерами
2)сумму элементов массива расположенными между первым и последним нулевыми элементами
Преобразовать массив таким образом чтобы сначала располагались все положительные элементы, а потом все отрицательные (элемены = 0 считать положительными)
Помогите пожалуйста!
Задача: в одномерном массиве состоящем из n целых элементов вычислить:
1)произведение элементов массива с четными номерами
2)сумму элементов массива расположенными между первым и последним нулевыми элементами
Преобразовать массив таким образом чтобы сначала располагались все положительные элементы, а потом все отрицательные (элемены = 0 считать положительными)
номер раз.
Код:
Код:
int first(int nArray[])
{
for (int i=0; i < N; i++)
{
if (nArray == 0)
{
return i;
}
}
}
int last(int nArray[])
{
int tmp=0;
for (int i=0; i < N; i++)
{
if (nArray == 0)
{
tmp = i;
}
}
return tmp;
}
void main()
{
int sum = 0;
for (int i=first(nArray[]); i < last(nArray[]); i++)
{
sum = sum+nArray;
}
std::cout << "Сумма " << sum;
}
{
for (int i=0; i < N; i++)
{
if (nArray == 0)
{
return i;
}
}
}
int last(int nArray[])
{
int tmp=0;
for (int i=0; i < N; i++)
{
if (nArray == 0)
{
tmp = i;
}
}
return tmp;
}
void main()
{
int sum = 0;
for (int i=first(nArray[]); i < last(nArray[]); i++)
{
sum = sum+nArray;
}
std::cout << "Сумма " << sum;
}
Цитата:
Originally posted by squirL
номер раз.
номер раз.
Интересно, а почему сразу не написал(если не секрет конечно):
Код:
void main()
{
int nCount=0;
for (int i = 0; i < N ; i++)
{
if (!(nArray & 1))
{
nCount++;
}
}
std::cout<<"Количество четных элементов "<< nCount << endl;
}
{
int nCount=0;
for (int i = 0; i < N ; i++)
{
if (!(nArray & 1))
{
nCount++;
}
}
std::cout<<"Количество четных элементов "<< nCount << endl;
}
p.s. for student: if (!(nArray & 1)) == if(nArray % 2 == 0)
:) а чтобы не расслаблялся. так сильно просто.
Цитата:
Originally posted by squirL
номер два
номер два
Код:
int last(int nArray[])
{
int tmp=0;
for (int i=N; i >= 0; i++)
if (nArray == 0)
{
return i;
}
}
void main()
{
int sum = 0;
for (int i=first(nArray); i < last(nArray); i++)
{
sum = sum+nArray;
}
std::cout << "Сумма " << sum;
}
{
int tmp=0;
for (int i=N; i >= 0; i++)
if (nArray == 0)
{
return i;
}
}
void main()
{
int sum = 0;
for (int i=first(nArray); i < last(nArray); i++)
{
sum = sum+nArray;
}
std::cout << "Сумма " << sum;
}
Надеюсь ты не против что я вмешалась :)
Цитата:
Originally posted by squirL
:) а чтобы не расслаблялся. так сильно просто.
:) а чтобы не расслаблялся. так сильно просто.
Так ты и так вместо произведения кол-во высчитываешь, или я что то не поняла .
Цитата:
Originally posted by OlgaKr
Надеюсь ты не против что я вмешалась :)
Код:
int last(int nArray[])
{
int tmp=0;
for (int i=N; i >= 0; i++)
if (nArray == 0)
{
return i;
}
}
{
int tmp=0;
for (int i=N; i >= 0; i++)
if (nArray == 0)
{
return i;
}
}
Надеюсь ты не против что я вмешалась :)
пожалуйста :)
только for (int i=N-1; ....)
Цитата:
Originally posted by squirL
пожалуйста :)
только for (int i=N-1; ....)
пожалуйста :)
только for (int i=N-1; ....)
:{ :{ prav
Цитата:
Originally posted by OlgaKr
Так ты и так вместо суммы кол-во высчитываешь, или я что то не поняла .
Так ты и так вместо суммы кол-во высчитываешь, или я что то не поняла .
тьфу блиннн.. там в первой произведение вообще... пойду я спать...
Цитата:
Originally posted by squirL
тьфу блиннн.. там в первой произведение вообще... пойду я спать...
тьфу блиннн.. там в первой произведение вообще... пойду я спать...
мне тоже надо, а возможности нет :(
Цитата:
Originally posted by uki_
NIGHTMARE!!!
Задача 1.
1. Где определяется и откуда получаем значение массива nArray?
Задача 2.
1. Где определяется и откуда получаем значение массива nArray?
Ув. модеры, вы слышали о такой "штуке", как самоуважение???
NIGHTMARE!!!
Задача 1.
1. Где определяется и откуда получаем значение массива nArray?
Задача 2.
1. Где определяется и откуда получаем значение массива nArray?
Ув. модеры, вы слышали о такой "штуке", как самоуважение???
ув. uki_ а как насчет "подумать" нашему студенту? дан алгоритм. остальное - пусть сам додумает.
мое самоуважение итак ущемлено невнимательным прочтением условия и неэффективным решением задачи.
Цитата:
2. Нужно произведение элементов с четными номерами, то что вы писали, количество четных номеров в диапозоне 0..N, можно получить без лишних фокусов: N/2 + 1;
"N/2 + 1" - это больше ассемблерных инструкций чем "x & 1". оптимизация :)
Цитата:
"N/2 + 1" - это больше ассемблерных инструкций чем "x & 1". оптимизация :)
Код:
N = 1, кол-во четных индексов = 1 N/2 +1 = 1 N&1 = 1 Ok
N = 2, кол-во четных индексов = 1 N/2 +1 = 1 N&1 = 0 Хм...
N = 3, кол-во четных индексов = 2 N/2 +1 = 2 N&1 = 1 Хм...
N = 2, кол-во четных индексов = 1 N/2 +1 = 1 N&1 = 0 Хм...
N = 3, кол-во четных индексов = 2 N/2 +1 = 2 N&1 = 1 Хм...
Ладно. Овца выделки не стоит...
Цитата:
Originally posted by uki_
Ладно. Овца выделки не стоит...
Код:
N = 1, кол-во четных индексов = 1 N/2 +1 = 1 N&1 = 1 Ok
N = 2, кол-во четных индексов = 1 N/2 +1 = 1 N&1 = 0 Хм...
N = 3, кол-во четных индексов = 2 N/2 +1 = 2 N&1 = 1 Хм...
N = 2, кол-во четных индексов = 1 N/2 +1 = 1 N&1 = 0 Хм...
N = 3, кол-во четных индексов = 2 N/2 +1 = 2 N&1 = 1 Хм...
Ладно. Овца выделки не стоит...
епс... ну да... пните меня ногой... надо еще раз условие перечитать :D
Задача: в одномерном массиве состоящем из n целых элементов вычислить:
1)сумму элементов массива расположенными между первым и последним положительными элементами;
2)из данного массива и другого массива того же типа, но другой размерности сформировать общий массив и вычислить сумму положительных элементов;
3) преобразовать массив так, чтобы сначала располалагалсь все нулевые элементы, а потом - все остальные.
Суть то я понимаю, но как записать что-то неочень(((
Помогите, будьте добры!!!