Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

В однородном массиве все отрицательные элементы увеличить на 2, а все положительные заменить на 1 - C++

24.12.2016, 15:24. Просмотров 238. Ответов 4
Метки нет (Все метки)

помогите пожалуйста написать программу. В массиве все отрицательные элементы увеличить на 2, а все положительные заменить на 1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2016, 15:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В однородном массиве все отрицательные элементы увеличить на 2, а все положительные заменить на 1 (C++):

В массиве заменить все отрицательные элементы на минимальный элемент, а все положительные – на максимальный - C++
В массиве из 10 целых чисел заменить все отрицательные элементы на минимальный элемент, а все положительные – на максимальный.

В массиве все отрицательные члены увеличить на 0,5, а все неотрицательные заменить на 0,1 - C++
Добрый вечер, я только недавно начал учиться в этой сфере,помогите, есть проблемы, прошарил весь форум, на паре ввожу все алгоритмы, и...

Заменить все отрицательные элементы массива на -1, а положительные на +1 - C++
Заменить все отрицательные элементы массива на -1, а положительные на +1 С++ Помогите пожалуйста и если можно то с комментариями

В массиве сначала расположить все положительные элементы,а потом отрицательные - C++
1.В одномерному массиве,что состоит из N целых элементов вычислить: 1)добавление элементов массиву с парными номерами; 2)сумму...

Получить новую матрицу, в которой все отрицательные элементы заменить на -1, положительные на +1 (Pascal->C++) - C++
Двумерный целочисленный массив A(m,n) задается с экрана либо генерируется в пределах от -20 до 20. Требуется: Получить новую матрицу, в...

Все отрицательные члены массива увеличить на 0,5, а все неотрицательные заменить на 0,1 - C++
Помогите разобраться, что делаю не так. Проблема с выводом измененного массива. Дана последовательность чисел a1, a2, a3, … . Количество...

4
alexshem
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 16
24.12.2016, 15:26 #2
Как задать массив, какое колл-во чисел в массиве, полное задание можно?
0
mmejder
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 11
24.12.2016, 15:32  [ТС] #3
массив задается случайно
0
Fixer_84
819 / 629 / 300
Регистрация: 30.04.2016
Сообщений: 1,977
24.12.2016, 15:40 #4
mmejder, вот ваша программа.

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
#include <iostream>
#include <cstdlib>
#include <locale>
#include <climits>
 
using namespace std;
 
int main()
{
    srand((unsigned)time(NULL));
    int N;
    cout << "Введите размер массива:" << endl;
    cout << "N = ";
    cin >> N;
    int* A = new int[N];
    cout << "Случайный массив:" << endl;
    for (int i = 0; i < N; i++)
    {
        A[i] = -20 + (rand() % 41);
        cout << A[i] << " ";
    }
    cout << endl << "Искомый массив:" << endl;
    for (int i = 0; i < N; i++)
    {
        if (A[i] < 0)
            A[i] += 2;
        if (A[i] > 0)
            A[i] = 1;
        cout << A[i] << " ";
    }
    cout << endl;
    delete[] A;
    system("pause");
    return 0;
}
2
Peoples
1245 / 750 / 464
Регистрация: 06.02.2016
Сообщений: 2,030
Записей в блоге: 14
Завершенные тесты: 4
24.12.2016, 17:33 #5
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
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
int main() {
    srand(time(NULL));
    vector<int>v,v1;
    int n;
    cin>>n;
    for(int i=0; i!=n; i++) {
        v.push_back(rand()%20-10);
    }
    copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
    cout<<endl;
    transform(v.begin(),v.end(),back_inserter(v1),[](const int &x) {
        if (x<0) {
            return x+2;
        }
        if(x>0) {
            return 1;
        } else return x;
    });
    copy(v1.begin(),v1.end(),ostream_iterator<int>(cout," "));
    return 0;
}
Добавлено через 3 минуты
Или даже так
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 <ctime>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
int main() {
    srand(time(NULL));
    vector<int>v,v1;
    int n;
    cin>>n;
    for(int i=0; i!=n; i++) {
        v.push_back(rand()%20-10);
    }
    copy(v.cbegin(),v.cend(),ostream_iterator<int>(cout," "));
    cout<<endl;
    int x;
    replace_if(v.begin(),v.end(),[&x](const int &y) {
        if(y<0) {
            x=y+2;
            return true ;
        }
        if (y>0) {
            x=1;
            return true;
        }
    },x);
    copy(v.cbegin(),v.cend(),ostream_iterator<int>(cout," "));
    return 0;
}
0
24.12.2016, 17:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2016, 17:33
Привет! Вот еще темы с ответами:

Разместить в массиве все положительные элементы в начале, отрицательные - в конце, посередине - нули - C++
Всем доброго времени суток! Большая просьба помочь написать программу. Нужно сформировать 2 одинаковых динамических одномерных массива, где...

Расположить в массиве сначала все отрицательные элементы и нули, потом - положительные (Pascal -> C++) - C++
Помогите пожалуйста, нужно перевести программу с pascal на С++. Есть два вида кода: const n=10; var a,b:array of integer; ...

Заменить в массиве все отрицательные элементы на их модули - C++
Создать массив из 12 случайных целых чисел из отрезка . Вывести массив на экран. Заменить в массиве все отрицательные элементы на их...

В одномерном массиве все отрицательные элементы заменить нулями и упорядочить элементы массива по убыванию - C++
В одновимірному масиві всі від’ємні елементи замінити нулями і впорядкувати елементи масиву за спаданням.


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

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

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