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

Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Fesmer
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 18
04.11.2012, 12:48     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #1
В одномерном массиве размерностью N все положительные элементы умножить на 10, а все отрицательные элементы заменить на 0.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 12:48     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0
Посмотрите здесь:

C++ В матрице положительные элементы заменить на единичные , а отрицательные обнулить
C++ Работа с указателями Организовать ввод динамического массива размером N. Заменить положительные элементы на 1, отрицательные – на -1.
C++ Элементы матрицы умножить на скаляр C=5,2. Элементы третьего столбца заменить единицами
Отрицательные элементы отмеченных строк матрицы заменить на -1, положительные на 1, а 0 оставит без изменения C++
Массивы. Заменить все отрицательные элементы массива числом 0 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
04.11.2012, 13:45     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define countof(array) (sizeof(array) / sizeof((array)[0]))
 
int main(void)
{
    int arr[] = {-2, 20, 30, -5, 2, 7};
        
    for (int i=0; i<(countof(arr)-1); ++i)
    {
        if (arr[i] > 0)
            arr[i] = arr[i]*10;
        else
            arr[i] = 0;
            
        cout << arr[i] << " ";
    }
    
    return 0;
}
Fesmer
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 18
04.11.2012, 14:19  [ТС]     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #3
а как отрицательные элементы заменить на –1, положительные – на 1 , а нулевые оставить без изменения.
Joke+R
 Аватар для Joke+R
41 / 41 / 3
Регистрация: 18.11.2011
Сообщений: 112
04.11.2012, 14:23     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #4
Fesmer,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define countof(array) (sizeof(array) / sizeof((array)[0]))
 
int main(void)
{
    int arr[] = {-2, 20, 30, -5, 2, 7};
        
    for (int i = 0; i < (countof(arr) - 1); i++)
    {
        if (arr[i])
        {
             if (arr[i] < 0) arr[i] *= -1;
             else arr[i] = 1;
        }
        cout << arr[i] << " ";
    }
    
    return 0;
}
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
04.11.2012, 14:29     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #5
Цитата Сообщение от Fesmer Посмотреть сообщение
а как отрицательные элементы заменить на –1, положительные – на 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
#include <iostream>
using namespace std;
 
const int n=10;
 
int main(void)
{
    int arr[n];
        for(int i=0;i<n;i++)
        cin>>arr[i];
    for (int i=0; i<n; ++i)
    {
        if (arr[i])
        {
             if (arr[i] < 0) arr[i] = -1;
             else 
             if(arr[i]>0)arr[i] = 1;
        }
        cout << arr[i] << " ";
    }
    system("pause");
    return 0;
}
Fesmer
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 18
04.11.2012, 14:34  [ТС]     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #6
Ввести массив с клавиатуры. Выбрать строку где а-итое > 0, нужно все элементы , расположенные в отмеченных строках матрицы , преобразовать по правилу: отрицательные элементы заменить на
–1, положительные – на 1 , а нулевые оставить без изменения.
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
04.11.2012, 14:42     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #7
Цитата Сообщение от Fesmer Посмотреть сообщение
Выбрать строку где а-итое > 0, нужно все элементы , расположенные в отмеченных строках матрицы
Я что-то этого не понял!


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<iostream>
#include<conio.h>
#include<time.h>
#define n 5
#define m 5
using namespace std;
int main ()
{
int a[n][m];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>a[i][j];
 
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
cout<<endl;
 
 
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
if(a[i][j]>0) a[i][j]=1;
if(a[i][j]<0) a[i][j]=-1;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
getch();
return 0; 
}
Fesmer
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 18
04.11.2012, 15:52  [ТС]     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #8
нужно выбрать строку где а-итое >0 и в этой строке заменить элементы

Добавлено через 3 минуты
надо ввести номер строки и там заменить элементы

Добавлено через 56 минут
Строку с номером i матрицы назовем отмечен-ной, если ai >0, и не отмеченной - в противном случае.
все элементы , расположенные в отмеченных строках матрицы , преобразовать по правилу: отрицательные элементы заменить на
–1, положительные – на 1 , а нулевые оставить без изменения.
Fesmer
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 18
06.11.2012, 10:53  [ТС]     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #9
помогите пожалуйста. нужно вводить номер строки и в ней заменить элементы по правилу отрицательные элементы заменить на
–1, положительные – на 1 , а нулевые оставить без изменения.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
06.11.2012, 12:17     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #10
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
45
46
47
48
49
#include <iostream>
using namespace std;
 
int const X = 3, Y = 5;
 
static int arr[X][Y]=
{
    {-30, -254, 89, 3, 77},
    {30, -177, 43, 77, -43},
    {-126, -214, 0, 34, -332}
};
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
    int idx = 0;
    
    cin >> idx;
        
    cout << "Массив до изменения" << endl;
    for (int i=0; i < X; i++) 
    {
        for (int j=0; j < Y; j++)
            cout << " " << arr[i][j];
 
        cout << endl; 
    }
    cout << endl; 
    
    for (int i=0; i < Y; ++i)
    {
        if (arr[idx][i] < 0)
            arr[idx][i] = -1;
        else if (arr[idx][i] > 0)
            arr[idx][i] = 1;
    }
    
    cout << "Массив после изменения" << endl;
    for (int i=0; i < X; i++)
    {
        for (int j=0; j < Y; j++)
            cout << " " << arr[i][j];
            
        cout << endl; 
    }   
    
    system("pause >> NULL");
    return 0;
}
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
06.11.2012, 16:28     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #11
Я надеюсь я правильно понял
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
#include<iostream>
#include<conio.h>
#include<time.h>
#define n 4
#define m 5
using namespace std;
int main ()
{
int a[n][m];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>a[i][j];
 
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
cout<<endl;
int x;
cin>>x;
 
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
        if(i==x-1){
if(a[i][j]>0) a[i][j]=1;
if(a[i][j]<0) a[i][j]=-1;
}
}
 
 
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
getch();
return 0; 
}
Starscream
 Аватар для Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
06.11.2012, 17:17     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #12
Цитата Сообщение от Fesmer Посмотреть сообщение
В одномерном массиве размерностью N все положительные элементы умножить на 10, а все отрицательные элементы заменить на 0.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main()
{
    int Arr[10] = { -5 , -4 , -3 , -2 , -1 , 1 , 2 , 3 , 4 , 5 };
    for(int i = 0 ; i < 10 ; i++)
    {
        if(Arr[i] > 0) {Arr[i] = Arr[i] * 10;}
        if(Arr[i] < 0) {Arr[i] = 0;}
        cout << Arr[i] << endl;
    }
    system("pause");
    return 0;
}
}
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
06.11.2012, 17:24     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #13
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <algorithm>
 
int main()
{
    int Arr[10] = {-5,-4,-3,-2,-1,1,2,3,4,5};
    auto func = [] (int n) {if (n>0) n*=10; else n = 0; std::cout<<n<<" ";};
    std::for_each(Arr, Arr+10, func);
    system("pause");
    return 0; 
}
Afflicted
06.11.2012, 17:25
  #14

Не по теме:


Тут как бы две страницы. Зачем переписывать одно и то же адание несколько раз?

Fesmer
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 18
08.11.2012, 21:48  [ТС]     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #15
Даны натуральное число m, целые числа а1,..,аm и целочисленная квадратная матрица порядка m. Строку с номер i матрицы назовем отмеченной , если аi>0, и не отмеченной в противном случае.
1) нужно все элементы расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на -1, положительные на 1, а 0 оставит без изменения.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2012, 22:03     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0
Еще ссылки по теме:

C++ Массивы. Заменить отрицательные элементы нулями
C++ Получить новую матрицу, в которой все отрицательные элементы заменить на -1, положительные на +1 (Pascal->C++)
Записать все положительные и отрицательные элементы двумерного массива в одномерные массивы C++

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

Или воспользуйтесь поиском по форуму:
AEXks
24 / 3 / 1
Регистрация: 28.10.2012
Сообщений: 35
08.11.2012, 22:03     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0 #16
Afflicted, он явно не новичок, раз уже вторую страницу повторяет одно и то же
Yandex
Объявления
08.11.2012, 22:03     Массивы. Положительные элементы умножить на 10, а отрицательные заменить на 0
Ответ Создать тему
Опции темы

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