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

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

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

В одномерном массиве меняем элементы - C++

17.03.2012, 21:18. Просмотров 391. Ответов 3
Метки нет (Все метки)

В массиве X(n) переставить местами первый и второй отрицательные элементы, третий и четвертый отрицательные элементы и т.д. Определить, как изменилось положение минимального и максимального элементов массива при его преобразовании.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void main()
{setlocale(LC_ALL, "");
    srand(time(NULL));
        int N;
        cout<<"Введите кол-во элементов в массиве X[N]:"<<endl;
        cin>>N;
        int *X = new int [N], i;
        cout<<"Массив X[N]:"<<endl;
        for (i=0; i<N; ++i)
        {
                X[i]=rand()%50-20;
                cout<<X[i]<<" ";
        }
        cout<<endl;
        system("pause");
}
Пока я только организовал заполнение массива случайными числами, от -20 до 30, как дальше подскажите. Не пойму как реализовать замену отрицательных чисел первого со вторым и т.д.
Нужно сформировать условие если оба элемента отрицательные, то меняем их местами, как это оформить?
Вот что то вроде этого?
Например:
C++
1
2
3
4
5
6
7
if (X[i]<0)
        {
            for (i=0; i<N; ++i)
            {
                x[0]=x[1];
            }
        }
0
Миниатюры
В одномерном массиве меняем элементы  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2012, 21:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В одномерном массиве меняем элементы (C++):

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

в одномерном массиве А состоящем из N элементов найти максимальные элементы и все элементы равные максимальному заменить на 0. - C++
в одномерном массиве А состоящем из N элементов найти максимальные элементы и все элементы равные максимальному заменить на 0.

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

В одномерном массиве заменить элементы - C++
Недавно стал изучать С++ и завяз в массивах. Собсно задача: Сжать одномерный массив, удаляя из него элементы со значением 0, а...

Удалить 0 элементы в одномерном массиве - C++
Пожщалуйста, завтра зачет!!! Напишите попроще прогу чтобы удаляла 0 элементы в однородном массиве. Только ввод эл-в пользователем!

В одномерном массиве удалить нулевые элементы - C++
Помогите пожалуйста в задании. Одномерный массив: 1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2)...

3
gore-lykovoe
32 / 32 / 1
Регистрация: 04.04.2010
Сообщений: 414
17.03.2012, 22:42 #2
Это же элементарно, Ватсон!))
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 <cstdlib>
#include <time.h>
using namespace std;
void main()
{setlocale(LC_ALL, "");
        srand(time(NULL));
        int N;
                cout<<"Введите кол-во элементов в массиве X[N]:"<<endl;
        cin>>N;
        int *X = new int [N], i;
                cout<<"Массив X[N]:"<<endl;
        for (i=0; i<N; ++i)
        {
                X[i]=rand()%50-20;
                cout<<X[i]<<" ";
        }
                cout<<endl;
    int p1 = 0;
    bool flag = true;
    for ( int i = 0; i < N; i ++ )
    {
        if (( X [ i ] < 0 ) && (flag == true))
        {
            p1 = i;
            flag = false;
        }
        else if (( X [ i ] < 0 ) && (flag == false))
        {
            int temp = X [ i ];
            X [ i ] = X [ p1 ];
            X [ p1 ] = temp;
            flag = true;
        }
    }
    for (i=0; i<N; ++i)
        {
                
                cout<<X[i]<<" ";
        }
                cout<<endl;
    system("pause");
}
1
Kreolix
5 / 5 / 0
Регистрация: 07.07.2011
Сообщений: 15
17.03.2012, 23:01 #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
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <time.h>
using namespace std;
 
void main()
{setlocale(LC_ALL, "");
        srand(time(NULL));
        int N;
                cout<<"Введите кол-во элементов в массиве X[N]:"<<endl;
        cin>>N;
        int *X = new int [N], i;
                cout<<"Массив X[N]:"<<endl;
        for (i=0; i<N; ++i)
        {
                X[i]=rand()%50-20;
                cout<<X[i]<<" ";
        }
                cout<<endl;
 
    int j = 0, temp;
 
    for (int i=0;i<N;i++)
    {
        if (X[i] < 0)
        {
            j = i+1;
            while(X[j] >= 0 || j == N)
                j++;
            if (j<N)
            {
                temp = X[i];
                X[i] = X[j];
                X[j] = temp;
                i = j;
            }
        }
    }
 
        
    for (i=0; i<N; ++i)
        cout<<X[i]<<" ";
        system("pause");
}
0
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
18.03.2012, 00:45  [ТС] #4
gore-lykovoe, Спасибо, все работает, хотя и не очень понятно как(
0
18.03.2012, 00:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2012, 00:45
Привет! Вот еще темы с ответами:

В одномерном массиве поменять элементы равные 0 - C++
Одномерный массив с количеством нулевых элементов. Заменить в нем каждую группу из подряд идущих нулей на &quot;0n&quot;, где n- количество идущих...

Определить имеются ли в одномерном массиве одинаковые элементы - C++
Определить имеются ли в одномерном массиве одинаковые элементы.

Определить, содержатся ли в одномерном массиве одинаковые элементы - C++
Определить, содержатся ли в одномерном массиве одинаковые элементы. Помогите плз парни..

В одномерном массиве изменить элементы согласно условию - C++
Я сам не программист но предемет программирование есть так вот над не пойму что с задачей делать. Условие= Дан массив А. Найти и вывести...


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

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

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