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

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

Войти
Регистрация
Восстановить пароль
 
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
#1

В массиве заменить отрицательное на положительное число и наоборот - C++

17.07.2014, 00:25. Просмотров 433. Ответов 5
Метки нет (Все метки)

Нужно в массиве заменить отрицательное на положительное число и наоборот!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# include <iostream>
# include <ctime>
using namespace std;
void sign_change (int *mas, int size)
{
    srand (time(NULL));
    for (int i=0; i<size; i++)
    {
        if (*mas<0||*mas>0)
            *mas*=-1;
        cout<<*mas<<'\t';
    }
}
void main ()
{
    const int size=10;
    int mas [size]={-1,2,-3,4,-5,6,-7,8,-9,10};
    sign_change (mas,size);
}
Помогите понять что не так!!!!
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2014, 00:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В массиве заменить отрицательное на положительное число и наоборот (C++):

Выяснить, какое число в массиве встретится ранее – положительное или отрицательное - C++
Задан одномерный массив А(N). Выяснить, какое число в массиве встретится ранее – положительное или отрицательное (нули не рассматривать)....

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. - C++
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. ...

Найти отрицательное число и после отрицательное число заменить все элемент на нули - C++
Найти отрицательное число и после отрицательное число заменить все элемент на нули

Найти первое отрицательное число в массиве, заменить его на ноль - C++
Здравствуйте! Задача: написать функцию определения первого отрицательного числа в массиве. Результат функции - ссылка на это число....

Определить, сколько пар (положительное число, отрицательное число) находятся в начале массива - C++
Дан целочисленный массив B. Определить, сколько пар (положительное число, отрицательное число) находятся в начале массива.

Вводится число, выдать на экран положительное оно, отрицательное или равное 0 - C++
помогите составить код программы по условию Вводится число, выдать на экран положительное оно, отрицательное или равное 0.

5
Jewbacabra
Эксперт PHP
2965 / 2552 / 951
Регистрация: 24.04.2014
Сообщений: 7,801
17.07.2014, 00:28 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# include <iostream>
using namespace std;
void sign_change (int *mas, int size)
{
    for (int* m=mas; m!=mas+size; m++)
    {
        *m *= -1;
        cout<<*m<<'\t';
    }
}
void main ()
{
    const int size=10;
    int mas [size]={-1,2,-3,4,-5,6,-7,8,-9,10};
    sign_change (mas,size);
}
0
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
17.07.2014, 00:30  [ТС] #3
Спасибо! Забыл про mas++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# include <iostream>
# include <ctime>
using namespace std;
void sign_change (int *mas, int size)
{
    srand (time(NULL));
    for (int i=0; i<size; i++, mas++)
    {
            *mas*=-1;
        cout<<*mas<<'\t';
    }
}
void main ()
{
    const int size=10;
    int mas [size]={-1,2,-3,4,-5,6,-7,8,-9,10};
    sign_change (mas,size);
0
zss
Модератор
Эксперт С++
6864 / 6426 / 2147
Регистрация: 18.12.2011
Сообщений: 16,881
Завершенные тесты: 1
17.07.2014, 08:37 #4
Jewbacabra, мне кажется, умножение на -1 для изменения знака - это издевательство над процессором.
C++
1
2
for (int* m=mas; m!=mas+size; m++)
          *m = -(*m);
1
Jewbacabra
Эксперт PHP
2965 / 2552 / 951
Регистрация: 24.04.2014
Сообщений: 7,801
17.07.2014, 10:13 #5
zss, да действительно. но возможно компилятор этот момент бы оптимизировал.
0
ForEveR
В астрале
Эксперт С++
7992 / 4751 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
17.07.2014, 11:26 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <vector>
#include <algorithm>
#include <iostream>
#include <iterator>
 
int main()
{
   std::vector<int> v = {1,2,-1,-2,3,-3};
   std::transform(v.begin(), v.end(), v.begin(), std::negate<int>());
   std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
   std::cout << std::endl;
}
1
17.07.2014, 11:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2014, 11:26
Привет! Вот еще темы с ответами:

Выяснить, какое число встречается в последовательности чаще: положительное или отрицательное - C++
дана последовательность целых чисел а1 а2 выяснить какое число встречается чаще положительное или отрицательное в с++

Дана последовательность целых чисел a1, a2, ..., an. Выяснить, какое число встречается раньше - положительное или отрицательное. - C++
Дана последовательность целых чисел a1, a2, ..., an. Выяснить, какое число встречается раньше - положительное или отрицательное. Не...

Дан массив из N целых чисел. Выяснить имеется ли в массиве хотя бы одно нечетное отрицательное число и определить его местонахождение в массиве - C++
1. Дан массив из N целых чисел. Выяснить имеется ли в массиве хотя бы одно нечетное отрицательное число и определить его местонахождение в...

В двумерном числовом массиве все отрицательное элементы заменить нулями - C++
в двумерном числовом массиве все отрицательное элементы заменить нулями!


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

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

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