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

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

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

Поменять местами два элемента массива - C++

17.02.2011, 15:47. Просмотров 721. Ответов 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
#include <iostream>
#include <vector>
#include <iterator>
 using namespace std;
int main()
{
 vector<int> vec((istream_iterator<int>(cin)), 
  istream_iterator<int>());
  cin.clear();
   cin.get();
   int n;
   cout<<"Enter n: ";
   cin>>n;
   if(n-1 >= vec.size())
   {
     cerr<<"Ranged error\n"; 
     return 1;
   }
  swap(vec[0], vec[n-1]);
   copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));
   cout<<'\n';
   return 0;
}
Добавлено через 13 минут
даны два числа а и в - -- а присвоить в, а в присвоить а,так делать?что-то я запутался?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2011, 15:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами два элемента массива (C++):

Поменять местами два элемента массива - C++
подскажите ,массив из 16 HWND элементов ,как обменять 2 элемента местами в массиве простите ,ошибся в заголовке

Поменять местами два элемента массива - C++
Помогите решить пжл! в С++ ваще не шарю , а скора сессия I сем – Алгоритмические языки программирования Разработать схемы...

Поменять Два элемента динам. массива местами - C++
... int *p=(int *)malloc(k*sizeof(int)); // Ввел динамически массив Хочу поменять местами 5 и 7 элементы: ...

Поменять местами два элемента в массиве - C++
Добрый вечер. Такой вопрос. Как в двумерном массиве поменять два элемента. Первый элемент задаётся пользователем, а второй рядом стоящий...

Поменять местами два элемента в списке - C++
помогите доработать программу! Нужно сделать что бы менял два элемента в списке местами #include &lt;iostream&gt; #include &lt;time.h&gt; using...

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

5
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.02.2011, 15:55 #2
C++
1
2
3
tmp=a[0];
a[0]=a[n-1];
a[n-1]=tmp;
1
Blacccatt
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 37
17.02.2011, 17:13  [ТС] #3
посмотрите,правильно?
допустим задаю размерность массива 3
ввожу
3
2
8
Выдает мне
n=3
Так и должно быть?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
 using namespace std;
 int main ()
{
int mas[5];
int n,i,tmp;
 
      cout<<"N= ";// задаем размерность массива mas
  cin >>n;
     for (i=0; i<n;i++)  
         cin >>  mas[i];
 
 {  tmp=mas[0];
mas[0]=mas[n-1];
mas[n-1]=tmp;
}
 
cout<<"n="<<tmp ;
 
}
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.02.2011, 17:17 #4
Цитата Сообщение от Blacccatt Посмотреть сообщение
tmp=mas[0];
Вот вы переменой tmp присваеваете значение елемента a[0], то есть 3.

А что бы увыдеть, как изменились елементы, выведите массив на екран после замены.
0
Blacccatt
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 37
17.02.2011, 18:00  [ТС] #5
задаю размерность массива N =3
ввожу 7 2 0
выдаёт 0 2 7
Верно?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
 using namespace std;
 int main ()
{
int mas [3] ;
int n,i,tmp;
 
      cout<<"N= ";// задаем размерность массива mas
  cin >>n;
     for (i=0; i<n;i++)  
         cin >>  mas[i];
 
 {  tmp=mas[0];
mas[0]=mas[n-1];
mas[n-1]=tmp;
}
 for (i=0; i<n;i++)  
cout<<"n="<<mas [i]<<' ';
 
}
0
Миниатюры
Поменять местами два элемента массива  
MuDMaN
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
17.02.2011, 18:49 #6
что бы не создавать временную переменную можно так
C++
1
2
3
4
//Меняет значения переменных местами
a+=b;
b=a-b;
a-=b;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2011, 18:49
Привет! Вот еще темы с ответами:

Поменять местами два минимальных элемента в матрице - C++
Помогите пожалуйста! Задание: поменять местами два минимальных элемента в матрице

Поменять местами два элемента односвязного списка - C++
Дан односвязный список. Требуется напечатать исходный список. Поменять местами два элемента списка, номера которых введёт пользователь с...

Односвязные списки. Поменять местами два элемента - C++
Помогите доделать функцию замены двух элементов в списке вот структура struct TNode { int value; TNode* pnext; }; Сама...

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


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
17.02.2011, 18:49
Ответ Создать тему
Опции темы

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