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

Одномерный Массив подскажите (поменять элементы местами) - C++

Восстановить пароль Регистрация
 
mozifan
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 47
07.02.2013, 15:49     Одномерный Массив подскажите (поменять элементы местами) #1
Вообщем дело такое: массив из 10 чисел 6 6 7 8 9 1 2 3 4 5 и нужно поменять местами чтоб получилось так
6 6 7 8 9 1 2 3 4 5
6 6 8 7 1 9 3 2 5 4
Подскажите как это сделать не понимаю как сдвинуть его и залепить в цикле.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2013, 15:49     Одномерный Массив подскажите (поменять элементы местами)
Посмотрите здесь:

Массив. Поменять местами максимальные и минимальные элементы массива C++
Одномерный массив. Найти наибольший элемент массива и поменять его местами с наименьшим элементом C++
C++ Одномерный массив. Поменять местами минимальный и максимальный элемент
Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним) C++
поменять местами максимальный элемент и первый, используя одномерный массив на c++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
07.02.2013, 15:52     Одномерный Массив подскажите (поменять элементы местами) #2
Цитата Сообщение от mozifan Посмотреть сообщение
как сдвинуть его
По-моему, тут ничего не сдвигается, а просто меняются местами два соседних числа.
ITishnik
7 / 7 / 0
Регистрация: 07.01.2013
Сообщений: 75
07.02.2013, 15:54     Одномерный Массив подскажите (поменять элементы местами) #3
просто переприсваиваешь индексы и значения
sumrak95
Избранный
 Аватар для sumrak95
82 / 82 / 5
Регистрация: 08.06.2012
Сообщений: 174
07.02.2013, 15:56     Одномерный Массив подскажите (поменять элементы местами) #4
C++
1
2
3
4
5
6
for (i=1;i<10;i+2)
{
temp:=mas[i];
mas[i]:=mas[i+1];
mas[i+1]:=temp;
}
mozifan
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 47
07.02.2013, 16:03  [ТС]     Одномерный Массив подскажите (поменять элементы местами) #5
Как??? это реализовать то?? я не могу понять

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define n 10
int main()
{
    int a[n],i,temp;
    for(i=0;i<n;i++)
    {
        scanf("%i",&a[i]);
    }
    for (i=1;i<10;i++)
    {
    temp=a[i];
    a[i]=a[i+1];
    a[i+1]=temp;
    printf("%3i",a[i]);
    }
    getch();
}
Вобщем вот и не фига не пашет и я не понимаю почему объясните
Mr.kto
 Аватар для Mr.kto
92 / 91 / 1
Регистрация: 18.08.2012
Сообщений: 309
07.02.2013, 16:10     Одномерный Массив подскажите (поменять элементы местами) #6
mozifan,
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.h>
#include <conio.h>
 
int main()
{
    const int size=10;
    int massA[size];
 
    cout<<"Zapolni masssiv:\n";
    for(int i=0; i<size; i++)
    {
        cout<<"Vvedite "<<i+1<<" element massiva ";
        cin>>massA[i];
    }
 
    cout<<"Vyvod massiva do perestanovki:\n";
    for (int i = 0; i < size; i++)
        cout<<massA[i];
 
    for(int i=1;i<=size;i++)
    {
        if(i%2!=0)
        {
            int temp=0;
            temp=massA[i];
            massA[i]=massA[i-1];
            massA[i-1]=temp;
        }
    }
 
    cout<<"\nVyvod massiva posle perestanovki:\n";
    for (int i = 0; i < size; i++)
        cout<<massA[i];
    getch();    
    return 0;
}
Миниатюры
Одномерный Массив подскажите (поменять элементы местами)  
Стоян
3 / 3 / 0
Регистрация: 29.09.2012
Сообщений: 15
07.02.2013, 16:12     Одномерный Массив подскажите (поменять элементы местами) #7
Рабочий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main ()
{
    int mass[10]={6, 6, 7, 8, 9, 1, 2, 3, 4, 5}, temp;
    std::cout << "Исходный массив: " << std::endl;
    for (int i=0; i<10; i++)
        std::cout << mass[i] << " "; 
    for (int i=0; i<10; i=i+2)
        {
            temp=mass[i];
            mass[i]=mass[i+1];
            mass[i+1]=temp;
        }
    std::cout << "\nМеняем соседние элементы местами: " << std::endl;
    for (int i=0; i<10; i++)
        std::cout << mass[i] << " ";
    return 0;
}
Обрати внимание на шаг второго цикла!
mozifan
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 47
07.02.2013, 16:19  [ТС]     Одномерный Массив подскажите (поменять элементы местами) #8
А теперь объясните
C++
1
2
3
4
int temp=0;
            temp=a[i];
            a[i]=a[i-1];
            a[i-1]=temp;
как это работает?

Добавлено через 1 минуту
И почему массив выводится только через цикл?вот это понять не могу
Mr.kto
 Аватар для Mr.kto
92 / 91 / 1
Регистрация: 18.08.2012
Сообщений: 309
07.02.2013, 16:24     Одномерный Массив подскажите (поменять элементы местами) #9
Цитата Сообщение от mozifan Посмотреть сообщение
А теперь объясните
int temp=0;
temp=a[i];
a[i]=a[i-1];
a[i-1]=temp;
как это работает?
C++
1
2
3
4
int temp=0; //создал временную переменную для хранения значений
temp=a[i]; //записал это значения
a[i]=a[i-1]; //сделал перестановку
a[i-1]=temp; //записал значения с временной переменной в ячейку массива
Цитата Сообщение от mozifan Посмотреть сообщение
И почему массив выводится только через цикл?вот это понять не могу
все ж понятно
C++
1
2
    for (int i = 0; i < size; i++)
        cout<<massA[i];
идентичный код
C++
1
2
    for (int i = 0; i < size; i++)
        {cout<<massA[i];}
sumrak95
Избранный
 Аватар для sumrak95
82 / 82 / 5
Регистрация: 08.06.2012
Сообщений: 174
07.02.2013, 16:28     Одномерный Массив подскажите (поменять элементы местами) #10
Извиняюсь, выше написал полную байду, вот 100% рабочий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
{
    int a[11]={0},i,temp;
    for(i=1;i<=10;i++)
    {
      cin>>a[i];
    }
    for (i=1;i<10;i=i+2)
    {
    temp=a[i];
    a[i]=a[i+1];
    a[i+1]=temp;
    }
    for (i=1;i<=10;i++)
    cout<<a[i]<<" ";
    system("pause");
}
mozifan
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 47
07.02.2013, 16:32  [ТС]     Одномерный Массив подскажите (поменять элементы местами) #11
Всем большое спасибо более менее понятно)
Mr.kto
 Аватар для Mr.kto
92 / 91 / 1
Регистрация: 18.08.2012
Сообщений: 309
07.02.2013, 16:40     Одномерный Массив подскажите (поменять элементы местами) #12
Цитата Сообщение от sumrak95 Посмотреть сообщение
Извиняюсь, выше написал полную байду, вот 100% рабочий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
{
    int a[11]={0},i,temp;
    for(i=1;i<=10;i++)
    {
      cin>>a[i];
    }
    for (i=1;i<10;i=i+2)
    {
    temp=a[i];
    a[i]=a[i+1];
    a[i+1]=temp;
    }
    for (i=1;i<=10;i++)
    cout<<a[i]<<" ";
    system("pause");
}
Осмелюсь немножко переделать ваш код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    int a[10],i,temp=0;
    for(i=1;i<=10;i++)
    {
        cin>>a[i];
    }
    for (i=1;i<10;i+=2)
    {
        temp=a[i];
        a[i]=a[i+1];
        a[i+1]=temp;
    }
    for (i=1;i<=10;i++)
        cout<<a[i]<<" ";
    system("pause");
    return 0; //на всякий случай
}
Добавлено через 2 минуты
Цитата Сообщение от sumrak95 Посмотреть сообщение
C++
1
2
3
4
5
6
for (i=1;i<10;i+2)
{
temp:=mas[i];
mas[i]:=mas[i+1];
mas[i+1]:=temp;
}
это какой язык программирования? C+Pascal+
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2013, 12:38     Одномерный Массив подскажите (поменять элементы местами)
Еще ссылки по теме:

C++ Создать одномерный массив, найти наименьший элемент 3-го столбца, поменять местами наименьший элемент элементы
Поменять местами в каждой строке матрицы минимальный и максимальный элементы, подскажите ошибки C++
C++ Получить одномерный массив из из отрицательных элементов матрицы. Поменять местами первый и последний элемент

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

Или воспользуйтесь поиском по форуму:
sumrak95
Избранный
 Аватар для sumrak95
82 / 82 / 5
Регистрация: 08.06.2012
Сообщений: 174
08.02.2013, 12:38     Одномерный Массив подскажите (поменять элементы местами) #13
Цитата Сообщение от Mr.kto Посмотреть сообщение
это какой язык программирования? C+Pascal+
Да я лабу на заказ по Pascal выполнял в это время и так получилось, не полностью переключил мозги на C++
Yandex
Объявления
08.02.2013, 12:38     Одномерный Массив подскажите (поменять элементы местами)
Ответ Создать тему
Опции темы

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