Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Задача на массивы(С++)

17K
25 апреля 2006 года
poor
1 / / 25.04.2006
Помогите пожалуйста!
Задача: в одномерном массиве состоящем из n целых элементов вычислить:
1)произведение элементов массива с четными номерами
2)сумму элементов массива расположенными между первым и последним нулевыми элементами
Преобразовать массив таким образом чтобы сначала располагались все положительные элементы, а потом все отрицательные (элемены = 0 считать положительными)
2
25 апреля 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by poor
Помогите пожалуйста!
Задача: в одномерном массиве состоящем из n целых элементов вычислить:
1)произведение элементов массива с четными номерами
2)сумму элементов массива расположенными между первым и последним нулевыми элементами
Преобразовать массив таким образом чтобы сначала располагались все положительные элементы, а потом все отрицательные (элемены = 0 считать положительными)



номер раз.

Код:
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;
}
2
25 апреля 2006 года
squirL
5.6K / / 13.08.2003
номер два
Код:
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;
}
242
25 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by squirL
номер раз.


Интересно, а почему сразу не написал(если не секрет конечно):

Код:
void main()
{
   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)
2
25 апреля 2006 года
squirL
5.6K / / 13.08.2003
:) а чтобы не расслаблялся. так сильно просто.
242
25 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
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;
}


Надеюсь ты не против что я вмешалась :)
242
25 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by squirL
:) а чтобы не расслаблялся. так сильно просто.


Так ты и так вместо произведения кол-во высчитываешь, или я что то не поняла .

2
25 апреля 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by OlgaKr
Код:
int last(int nArray[])
{
   int tmp=0;
   
   for (int i=N; i >= 0; i++)
      if (nArray == 0)
      {
         return i;
      }
   
   
}


Надеюсь ты не против что я вмешалась :)


пожалуйста :)
только for (int i=N-1; ....)

242
25 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by squirL
пожалуйста :)
только for (int i=N-1; ....)



:{ :{ prav

2
25 апреля 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by OlgaKr
Так ты и так вместо суммы кол-во высчитываешь, или я что то не поняла .


тьфу блиннн.. там в первой произведение вообще... пойду я спать...

242
25 апреля 2006 года
Оlga
2.2K / / 04.02.2006
Цитата:
Originally posted by squirL
тьфу блиннн.. там в первой произведение вообще... пойду я спать...


мне тоже надо, а возможности нет :(

2
26 апреля 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by uki_
NIGHTMARE!!!

Задача 1.

1. Где определяется и откуда получаем значение массива nArray?

Задача 2.

1. Где определяется и откуда получаем значение массива nArray?

Ув. модеры, вы слышали о такой "штуке", как самоуважение???


ув. uki_ а как насчет "подумать" нашему студенту? дан алгоритм. остальное - пусть сам додумает.
мое самоуважение итак ущемлено невнимательным прочтением условия и неэффективным решением задачи.

Цитата:
2. Нужно произведение элементов с четными номерами, то что вы писали, количество четных номеров в диапозоне 0..N, можно получить без лишних фокусов: N/2 + 1;


"N/2 + 1" - это больше ассемблерных инструкций чем "x & 1". оптимизация :)

7.9K
26 апреля 2006 года
uki_
122 / / 26.01.2006
Цитата:
"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 Хм...


Ладно. Овца выделки не стоит...
2
26 апреля 2006 года
squirL
5.6K / / 13.08.2003
Цитата:
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 Хм...


Ладно. Овца выделки не стоит...


епс... ну да... пните меня ногой... надо еще раз условие перечитать :D

56K
14 декабря 2009 года
milane
1 / / 14.12.2009
Доброго времени суток. Помогите , пожалуйста , решить задачи
Задача: в одномерном массиве состоящем из n целых элементов вычислить:
1)сумму элементов массива расположенными между первым и последним положительными элементами;
2)из данного массива и другого массива того же типа, но другой размерности сформировать общий массив и вычислить сумму положительных элементов;
3) преобразовать массив так, чтобы сначала располалагалсь все нулевые элементы, а потом - все остальные.
Суть то я понимаю, но как записать что-то неочень(((
Помогите, будьте добры!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог