Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 16
1

можно ли обойтись без IF ?

16.03.2013, 19:58. Просмотров 505. Ответов 4
Метки нет (Все метки)

Нужно заполнить с главного массива(mas_g) один массив(mas1) елементы с чётными номерами, а в другой(mas2) с нечётными. Вот то, что я наварганил) Вопрос : можно ли здесь обойтись без IF в начале проги, чтобы задать размер первому массиву?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <time.h>
using namespace std;
 
int main()
{
    srand(time(NULL));
    int n;
    cin>>n;
    int* mas_g=new int[n];
    if (n%2=0)
        int* mas1=new int[n/2];
    else
        int* mas1=new int[n/2+1];
    int* mas2=new int[n/2];
    for(int i=0;i<n;i++)
            mas_g[i]=rand()%100-200;
    int j=0;
    for (int i=0;i<n;i+=2)
    {
        mas1[j]=mas_g[i];
        j++;
        }
    j=0;
    for (int i=1;i<n;i+=2)
    {
        mas2[j]=mas_g[i];
        j++;
        }
    system("PAUSE");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2013, 19:58
Ответы с готовыми решениями:

Можно ли обойтись без if-во?
Создать структуру с полями (или класс с функциями), которые приведены в задаче. Описание структуры...

Можно ли обойтись без mutex?
в оф мануале : говориться что данные будут появляться то так то эдак (неопределенность из-за...

Можно ли обойтись без перезаписи элементов массива?
Реализую алгоритм, в котором требуется взять из массива один элемент и вставить его в другую...

Можно ли обойтись без разыменования адресов на элементы
Вот куски кода (полный код тут): // Double Bitset 85 bitset&lt;ULONG_MAX&gt; *first = new...

4
59 / 58 / 7
Регистрация: 03.02.2013
Сообщений: 167
16.03.2013, 20:01 2
C++
1
(n%2=0)? int* mas1=new int[n/2] : int* mas1=new int[n/2+1];
или я парю?)
0
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 16
16.03.2013, 20:05  [ТС] 3
можно ли обойтись без проверки совсем?
0
Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
16.03.2013, 20:09 4
Да, можно, замени n/2 +1 на n/2 + n%2
C++
1
2
int* mas1=new int[n/2 + n%2];
int* mas2=new int[n/2];
Таким образом если n%2 == 1 то все норм, если n%2 == 0 то тоже все норм.
1
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 16
16.03.2013, 20:11  [ТС] 5
спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2013, 20:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Зачем нужен iterator, если можно обойтись без него?
Почему нужен итератор(iterator) если этот код #include &lt;iostream&gt; #include &lt;vector&gt;...

можно ли обойтись без формы???
Подскажите, есть ли возможность кидать объекты не на форму, а на лист, например? Или сделать так,...

Можно ли обойтись без vlan ?
Здравствуйте. Не могу решить одну очень банально простую проблему. На работе стоит 60+ ПК, работают...

Можно обойтись без алиаса?
Как меня задолбал этот алиас... Как только приношу мою прогу на проверку, всегда приходится...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.