Форум программистов, компьютерный форум CyberForum.ru

Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) - C++

Восстановить пароль Регистрация
 
Avey
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 7
19.12.2012, 16:32     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) #1
Создать динамический массив из 8 случайных целых чисел из отрезка
[0;9] и вывести его на экран . Если в массиве чётных чисел оказалось больше, чем
нечётных, то массив должен быть укорочен на 2 элемента с конца, иначе — на два
элемента сначала. Итоговый массив выводится на экран.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2012, 16:32     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента)
Посмотрите здесь:

C++ Создать динамический массив вещественных чисел.
C++ Дан одномерный массив. Если произведение элементов с чётными номерами больше произведения с нечетными номерами, то найти номер максимального элемента
Создать динамический массив из чисел, расположенных после первого отрицательного числа C++
C++ Получите новый массив, каждый элемент которого равен удвоенному числу соответствующего элемента исходного массива, если он больше числа A...
C++ 11.196. Дан массив целых чисел. Найти номер первого элемента, кратного числу 13. Если таких элементов в массиве нет, то должно быть напечатано соответ
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
19.12.2012, 16:47     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int mas=new int[8];
int k1=0,k2=0;
for(int i=0;i<9;i++){
mas[i]=rand(10);
if(mas[i]%2==0)
   k1++;
else
   k2++;
}
if(k1>k2){ cout<<"выводим массив до 7 элемента";}
else if(k2<k1){ cout<<"выводим массив со 2 элемента";}
else{
cout<<"количество четных и нечетных равно";
}
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
19.12.2012, 16:49     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) #3
Надо удалять элементы, а не выводить на экран часть
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
19.12.2012, 16:52     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) #4
ну тогда создаешь массив также как выше по 7 элементов и в зависимости от что нужно присваиваешь массиву значения
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
19.12.2012, 16:54     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) #5
Но по заданию надо динамический массив создать
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
19.12.2012, 16:57     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) #6
А можно vector использовать?
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
19.12.2012, 17:09     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) #7
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <ctime>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    srand(time(NULL));
   
    const int size = 8;             // размер массива
    int *arr = new int[size];       // массив
    int num = 0;                    // количество четных элементов
 
    for (int i=0; i<size; i++)
    {
        arr[i] = rand() % 10;       // 0 .. 9
        cout << arr[i] << " ";
        if (arr[i] % 2 == 0) num++;
    }
    cout << endl;
 
    int *arr_tmp = new int[size-2];
 
    if (num > size-num)             // если четных больше нечетных
        for (int i=0; i<size-2; i++)
            arr_tmp[i] = arr[i];
    else
        for (int i=2; i<size; i++)
            arr_tmp[i-2] = arr[i];
 
    delete [] arr;
 
    arr = new int[size-2];
 
    for(int i=0; i<size-2; i++)
        arr[i] = arr_tmp[i];
 
    for (int i=0; i<size-2; i++)
        cout << arr[i] << " ";
    cout << endl;
    
 
    delete [] arr;
    delete [] arr_tmp;
    system("pause");
    return 0;               
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2012, 17:21     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента)
Еще ссылки по теме:

C++ Одномерный массив (Ввести массив из 10 вещественных чисел.Найти сумму чисел,стоящих на чётных местах)
C++ Массив и память. Как создать динамический массив?
C++ В функцию передается несколько целых чисел. Создать из всех параметров динамический массив и вернуть указатель

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

Или воспользуйтесь поиском по форуму:
Bsod
 Аватар для Bsod
28 / 12 / 2
Регистрация: 30.11.2011
Сообщений: 44
19.12.2012, 17:21     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) #8
Добавлено через 3 минуты
Цитата Сообщение от sovaz1997 Посмотреть сообщение
А можно vector использовать?
смотрю я на сложность задачки, и очень в этом сомневаюсь))
Yandex
Объявления
19.12.2012, 17:21     Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента)
Ответ Создать тему
Опции темы

Текущее время: 07:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru