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

Заменить все положительные элементы на противоположные - C++

Восстановить пароль Регистрация
 
Аннaa
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 115
20.12.2013, 20:17     Заменить все положительные элементы на противоположные #1
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <cmath>
 
 
using namespace std;
void float1(double *mass, int const n);
void float2(double *mass, int const n);
double element(double *mass, int const n);
 
 
int main()
{
    srand((unsigned)time(0));
    int const n=10;
 
double mass[n];
    float1(mass, n);
    float2(mass, n);
 
cout << element(mass, n) ;
   return 0;
}
void float1 (double *mass, int const n) {
    for(int i = 0; i < n; i++)
        mass[i] = round(10000.0*double(rand())/RAND_MAX)/1000.0-5.0;
}
void float2(double *mass, int const n)
{
    for(int i = 0; i < n; i++)
    cout << mass[i] << ' ';
    cout << endl;
 
}
double element(double *mass, int const n)
{
double x,y;
for(int i=0;i<n;i++)
if(mass[i]>0){x=mass[i];
y=-x;
mass[i]=y;}
return y;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 20:17     Заменить все положительные элементы на противоположные
Посмотрите здесь:

Заменить все положительные четные элементы массива единицами C++
Заменить все минимальные элементы на противоположные. C++
Заменить все элементы k-й строки и s-го столбцаматрицы на противоположные по знаку C++
C++ Все элементы одномерного массива, стоящие на четных местах, заменить на противоположные
все положительные элементы заменить на их натуральные логарифмы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,912
20.12.2013, 20:21     Заменить все положительные элементы на противоположные #2
C++
1
2
3
if(mass[i]>0){x=mass[i];
y=-x;
mass[i]=y;}
Зачем так сложно?
C++
1
 if(mass[i]>0)mass[i]=-mass[i];
И зачем вам 2 функции?пишите все в main.
Аннaa
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 115
20.12.2013, 20:31  [ТС]     Заменить все положительные элементы на противоположные #3
а мне так по заданию надо)
не выходит так if(mass[i]>0)mass[i]=-mass[i];
Ev_Hyper
 Аватар для Ev_Hyper
1805 / 1626 / 435
Регистрация: 15.12.2013
Сообщений: 5,773
20.12.2013, 20:32     Заменить все положительные элементы на противоположные #4
Почему не выходит?
Аннaa
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 115
20.12.2013, 20:34  [ТС]     Заменить все положительные элементы на противоположные #5
cкинь полный код)
Ev_Hyper
 Аватар для Ev_Hyper
1805 / 1626 / 435
Регистрация: 15.12.2013
Сообщений: 5,773
20.12.2013, 20:40     Заменить все положительные элементы на противоположные #6
У меня на
C++
1
round
компилятор ругается.

Добавлено через 59 секунд
Но полный код вот:

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
void float1(double *mass, int const n);
void float2(double *mass, int const n);
double element(double *mass, int const n);
 
 
int main()
{
srand((unsigned)time(0));
int const n=10;
 
double mass[n];
float1(mass, n);
float2(mass, n);
 
cout << element(mass, n) ;
return 0;
}
void float1 (double *mass, int const n) {
for(int i = 0; i < n; i++)
mass[i] = round(10000.0*double(rand())/RAND_MAX)/1000.0-5.0;
}
void float2(double *mass, int const n)
{
for(int i = 0; i < n; i++)
cout << mass[i] << ' ';
cout << endl;
 
}
double element(double *mass, int const n)
{
double x,y;
for(int i=0;i<n;i++)
if(mass[i]>0){
mass[i]=-mass[i];}
return y;
}
Аннaa
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 115
20.12.2013, 20:42  [ТС]     Заменить все положительные элементы на противоположные #7
double x,y; зачем тогда?
Ev_Hyper
 Аватар для Ev_Hyper
1805 / 1626 / 435
Регистрация: 15.12.2013
Сообщений: 5,773
20.12.2013, 20:47     Заменить все положительные элементы на противоположные #8
Незачем, я же не компилировал программу ненужные переменные поэтому и не убрал .
Аннaa
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 115
09.01.2014, 23:40  [ТС]     Заменить все положительные элементы на противоположные #9
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <cmath>
 
 
using namespace std;
void float1(double *mass, int const n);
void float2(double *mass, int const n);
double element(double *mass, int const n);
 
 
int main()
{
srand((unsigned)time(0));
int const n=10;
 
double mass[n];
float1(mass, n);
float2(mass, n);
 
element(mass, n) ;
return 0;
}
void float1 (double *mass, int const n) {
for(int i = 0; i < n; i++)
mass[i] = round(10000.0*double(rand())/RAND_MAX)/1000.0-5.0;
}
void float2(double *mass, int const n)
{
for(int i = 0; i < n; i++)
cout << mass[i] << ' ';
cout << endl;
 
}
double element(double *mass, int const n)
{
for(int i=0;i<n;i++)
if(mass[i]>0){
mass[i]=-mass[i];}
 
}
Добавлено через 10 секунд
что-то все равно не так

Добавлено через 1 час 0 минут
что не так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2014, 09:36     Заменить все положительные элементы на противоположные
Еще ссылки по теме:

заменить все положительные элементы на противоположные C++
C++ Заменить все положительные элементы матрицы единицами
C++ Заменить все минимальные элементы одномерного массива на противоположные

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

Или воспользуйтесь поиском по форуму:
Ev_Hyper
 Аватар для Ev_Hyper
1805 / 1626 / 435
Регистрация: 15.12.2013
Сообщений: 5,773
10.01.2014, 09:36     Заменить все положительные элементы на противоположные #10
C++
1
2
3
4
5
6
double element(double *mass, int const n)
{
for(int i=0;i<n;i++)
if(mass[i]>0){
mass[i]=-mass[i];}
}
вы же ничего не возвращаете, хотя указываете тип double

И добавьте в майн:
C++
1
float2(mass, n);
после
C++
1
element(mass, n) ;
для проверки результата
Yandex
Объявления
10.01.2014, 09:36     Заменить все положительные элементы на противоположные
Ответ Создать тему
Опции темы

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