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

Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 52, средняя оценка - 4.90
Blacccatt
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 37
20.02.2011, 14:56     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива #1
Поменять местами 1 и последний ,2 и предпоследний и т д элементы одномерного массива

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <algorithm>
 
using namespace std;
int main()
{
   int a[10];
   int i,N;
      cout<<"nN= ";// задаем размерность массива а
  cin >>N;
     for (i=0; i<N;i++)  
 
         cin >>  a[i];
 
  
   reverse(a,a  +  i);
   for(int i = 0; i < N; ++i)
  cout << a[i]<< ' ';
  
   return 0;
}
Значит эта программа преподу не понравилась,нужно делать другую(((я писал программу,но максимум,что смог,это поменял первые пять и последние пять элементов в массиве(((Помогите составить программу

Добавлено через 1 минуту
Допустим дан массив из 10 чисел,вводим с клавы

C++
1
2
3
4
5
6
7
8
using namespace std;
int main()
{
   int a[10];
   int i,N;
      cout<<"N= ";// задаем размерность массива а
  cin >>N;
     for (i=0; i<N;i++)
Дальше какое условие нужно поставить?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 14:56     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива
Посмотрите здесь:

C++ Поменять местами первый и последний элементы массива
Поменять местами максимальный и предпоследний элементы в массиве C++
Найти четные и нечетные элементы одномерного массива и поменять их местами C++
Поменять местами максимальный и последний отрицательный элементы массива C++
C++ Поменять местами наибольший и последний элементы массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
timchuchok
15 / 15 / 0
Регистрация: 21.12.2010
Сообщений: 55
20.02.2011, 15:00     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива #2
Нужно проверять, не привышает ли колиичество введеных елементво 10, это первое, второе, что делать, если будет введено 3 елемента, поменяем первый и последний, что делать с серединой?
Blacccatt
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 37
20.02.2011, 15:02  [ТС]     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива #3
а может тут нужно обозначить чётные и нечётные (порядковый номер) элементы массива и потом понеслась?
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
20.02.2011, 15:03     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <iterator>
#include <algorithm>
 
void recurs( int* pArr, int n ){
  if( n>0 ){
    int nTemp = pArr[n];
    pArr[n] = pArr[0];
    pArr[0] = nTemp;
    recurs( ++pArr, n-2 );   
  }  
}
 
int main(){
  int nArr[] = {1,2,3,4,5,6,7,8,9,10};
  recurs( nArr, sizeof(nArr)/sizeof(nArr[0]) - 1 );
  std::copy( nArr, nArr + sizeof(nArr)/sizeof(nArr[0]),
             std::ostream_iterator<int>( std::cout, " " ) ); 
}
вывод сами напишиите, а то я же разучился по обычному писать
Blacccatt
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 37
20.02.2011, 15:13  [ТС]     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива #5
спасибо вам)))
а вот это программа будет работать?где-то ошибка,не пойму
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <iomanip>
#include <stdio.h>
#define N 10
 int main()
{
     int A[N]={1,2,3,4,5,6,7,8,9,10};
     int i ;
 
 for(i=0; i<N; i++)
{
         i+=A[N-i-1];
A[N-i-1]=i-A[N-i-1];
i-=A[N-i-1];
}
 
        cout<<A[i];
      cout<<endl;
}
Добавлено через 5 минут
у меня препод противный,нужно наверно несколько вариантов кинуть ему)))
timchuchok
15 / 15 / 0
Регистрация: 21.12.2010
Сообщений: 55
20.02.2011, 15:14     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива #6
Ошибка как минимум в том, что функция main должна возвращать значение.
Blacccatt
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 37
20.02.2011, 15:18  [ТС]     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива #7
timchuchok,ффффууух,как это сделать,подскажите?а то я с этой задачей завис)))

Добавлено через 2 минуты
alex_x_x

Уважаемый alex_x_x,если вас не затруднит,напишите комментарии к действиям,извините за такую просьбу...просто здесь итераторы используются,а я их не понимаю(((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2011, 17:57     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
20.02.2011, 17:57     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#define SIZ 7
 
int main(){
    int tmp, *a=NULL, *b=NULL;
    int arr[SIZ]={4, -6, 8, 10, -16, 14, 3};
    for(a=arr, b=arr+SIZ-1; a<b; a++, b--){
        tmp=*a;
        *a=*b;
        *b=tmp;
    }
    for(a=arr; a<arr+SIZ; a++){
        printf("%d  ", *a);
    }
    return 0;
}
Yandex
Объявления
20.02.2011, 17:57     Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива
Ответ Создать тему
Опции темы

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