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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Personal_Jesus
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 10
#1

Переписать в массив М1 все отрицательные элементы массива М - C++

17.01.2014, 18:35. Просмотров 271. Ответов 4
Метки нет (Все метки)

Переписать в массив М1 все отрицательные элементы массива М
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2014, 18:35     Переписать в массив М1 все отрицательные элементы массива М
Посмотрите здесь:

Выписать все четные элементы массива и переписать их в другой массив C++
C++ Массив: Удалить из массива все отрицательные элементы.
C++ Из массива положительные элементы перетащить в первый массив, а все отрицательные во второй.
C++ Из одного массива переписать отрицательные элементы в другой массив и упорядочить их по возрастанию
C++ Переписать в массив Y положительные элементы а в массив Z отрицательные элементы массива Х N<=40
Переписать из массива Y все элементы сумма цифр которых кратна 3-ем в массив Z C++
Переписать элементы массива a в массив в, удвоив все элементы C++
Переписать все элементы массива M(N), имеющие нечетные индексы, подряд в массив BE C++
C++ Переписать отрицательные элементы массива Х в массив У, а положительные элементы массива Х - в массив Z
C++ Переписать в другой массив все положительные элементы массива
Переписать в другой массив отрицательные элементы массива C++
C++ Переписать все нечетные элементы массива в другой массив

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JavaUser
68 / 68 / 15
Регистрация: 06.10.2013
Сообщений: 302
17.01.2014, 18:37     Переписать в массив М1 все отрицательные элементы массива М #2
Цитата Сообщение от Personal_Jesus Посмотреть сообщение
все негативные элементы
По отношению к кому??
Что за "негативные" элементы? Отрицательные?
cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
17.01.2014, 18:42     Переписать в массив М1 все отрицательные элементы массива М #3
Personal_Jesus,
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
#include "stdafx.h"
#include <iostream>
#include<algorithm>
#include<vector>
#include<iterator>
#include<time.h>
#include<numeric>
using namespace std;
int main()
{
    srand(time( NULL ));
    int N;
    std::cout<<"N:";
    std::cin>>N;
    int * mas = new int [N];
    int * mas1 = new int [N];
    std::cout<<"M:\n";
    for(int i=0;i<N;i++)
    {
        mas[i] = rand()%20 - 10;
        std::cout<<mas[i]<<" ";
    }
    int count = 0;
    for(int i=0;i<N;i++)
        if(mas[i]<0)
            mas1[count++] = mas[i];
    std::cout<<"\nM1:\n";
    for(int i=0;i<count;i++)
        std::cout<<mas1[i]<<" ";
 
    delete [] mas;
    delete [] mas1;
    system("pause");
    return 0;
 
}
Ev[G]eN
Эксперт С++
5096 / 1534 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
17.01.2014, 19:01     Переписать в массив М1 все отрицательные элементы массива М #4
cooller_94, я бы при генерации первого массива подсчитал кол-во отрицательных. и конкретно под него выделил память для результирующего. зачем перевыделять память без необходимости?
ИМХО
да и поубирать бы эти устрашающие инклуды

Добавлено через 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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int main()
{
    std::srand((size_t)(std::time)(nullptr));
 
    size_t arraySize;
    std::cout << "N: ";
    std::cin >> arraySize;
 
    size_t negativeElementsCounter(0);
    int *firstArray = new int [arraySize];
    std::cout << "First array: " << std::endl;
    for (size_t i = 0; i < arraySize; i++) {
        std::cout << (*(firstArray + i) = std::rand() % 25 - 10) << ' ';
        negativeElementsCounter += (*(firstArray + i) < 0) ? 1 : 0;
    }
    std::cout << std::endl;
 
    size_t index(0);
    int *resultArray = new int [negativeElementsCounter];
    std::cout << "Result array: " << std::endl;
    for (size_t i = 0; i < arraySize; i++) {
        if (*(firstArray + i) < 0) {
            std::cout << (*(resultArray + index++) = *(firstArray + i)) << ' ';
        }
    }
    std::cout << std::endl;
 
    delete [] firstArray;
    delete [] resultArray;
 
    std::system("pause");
    return 0;
}
cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
17.01.2014, 19:02     Переписать в массив М1 все отрицательные элементы массива М #5
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
да и поубирать бы эти устрашающие инклуды
забыл убрать( перед этим делал задачу где они были необходимы. За замечание по поводу памяти спасибо)
Yandex
Объявления
17.01.2014, 19:02     Переписать в массив М1 все отрицательные элементы массива М
Ответ Создать тему
Опции темы

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