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

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

Восстановить пароль Регистрация
 
Аннaa
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 115
06.12.2013, 10:39     заменить все положительные элементы на противоположные #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
#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 summinus(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 << '\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)
{
    for(int i=0;i<n;i++)
      {if(mass[i]>0)mass[i]=-mass[i]};
    return 0;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 10:39     заменить все положительные элементы на противоположные
Посмотрите здесь:

Заменить все положительные четные элементы массива единицами C++
Заменить все минимальные элементы на противоположные. C++
Заменить все элементы k-й строки и s-го столбцаматрицы на противоположные по знаку C++
C++ Все элементы одномерного массива, стоящие на четных местах, заменить на противоположные
все положительные элементы заменить на их натуральные логарифмы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niyaz1998
2 / 2 / 0
Регистрация: 28.11.2013
Сообщений: 15
06.12.2013, 11:34     заменить все положительные элементы на противоположные #2
в чём состоит задача можете объяснить на примере?
bradobrei
Продам уран 238U
 Аватар для bradobrei
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
06.12.2013, 11:37     заменить все положительные элементы на противоположные #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
#include <iostream>
#include <cstdlib>
using namespace std;
#define n 10
int main(){
    int mas[n];
    cout<<"IN: ";
        for(int i = 0; i < n; i++){
            mas[i] = rand()% 10 - 5;
            cout<<mas[i]<<" ";
        }
        int tmp = 0, tmp2 = 0;
        cout<<endl<<"OUT: ";
        for(int i = 0; i < n; i++){
            if(mas[i] > 0){
                tmp = mas[i];
                tmp2 = -tmp;
                mas[i] = tmp2;
            }
        cout<<mas[i]<<" ";
        }       
return 0;
}
Аннaa
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 115
06.12.2013, 22:12  [ТС]     заменить все положительные элементы на противоположные #4
#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 << '\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)
{
double x,y;
for(int i=0;i<n;i++)
if(mass[i]>0){mass[i]=x;
y=-x;
y=mass[i];
cout << y << " " ;}
return 0;
}

Добавлено через 10 минут
что не так?
ShikiofDevil
11 / 11 / 1
Регистрация: 18.12.2011
Сообщений: 112
07.12.2013, 16:56     заменить все положительные элементы на противоположные #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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <time.h>
 
using namespace std;
 
void float1(double *mass, int const n)
{
    for(int i = 0; i < n; i++)
        mass[i] = (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;
    cout << y << " " ;
}
    return 0;
}
 
int main()
{
srand((unsigned)time(0));
int const n=10;
double mass[n];
float1(mass, n);
float2(mass, n);
cout << '\n';
element(mass, n);
return 0;
}
Цитата Сообщение от Аннaa Посмотреть сообщение
что не так?
Добавлено через 1 минуту
порядок имеет место в операторе присвоения "=" слева должна быть переменная которой присваиваем, справа то что хотим присвоить, и да функции лучше не называй типами данных(есть такой float)

Добавлено через 18 минут
вот еще с округлением если я правильно понял что имелось ввиду под round
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
void MakeInteger( int *intmass, double* mass, const int n)
{
for(int i = 0; i < n; i++)
{
    if(mass[i]<0)
    {
        intmass[i] = static_cast<int> (mass[i]-0.5); 
        cout<<intmass[i]<<" ";
    }
    else
        intmass[i] = static_cast<int> (mass[i]+0.5); 
        cout<<intmass[i]<<" ";
}
 
}
int main()
{
srand((unsigned)time(0));
int const n=10;
int intmass [n];
double mass[n];
float1(mass, n);
float2(mass, n);
MakeInteger(intmass,mass,n);
cout << '\n';
element(mass, n);
return 0;
}
Аннaa
1 / 1 / 0
Регистрация: 21.10.2013
Сообщений: 115
07.12.2013, 20:58  [ТС]     заменить все положительные элементы на противоположные #6
спасибо большое))
Yandex
Объявления
07.12.2013, 20:58     заменить все положительные элементы на противоположные
Ответ Создать тему
Опции темы

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