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

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

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

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

20.02.2011, 14:56. Просмотров 6972. Ответов 7
Метки нет (Все метки)

Поменять местами 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++)
Дальше какое условие нужно поставить?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 14:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами 1 и последний, 2 и предпоследний элементы одномерного массива (C++):

Поменять местами последний и предпоследний элементы односвязного списка - C++
Ребят, помогите, пожалуйста, реализовать ф-ию замены последнего и предпоследнего элементов местами в односвязном списке. #include...

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

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

Поменять местами первый и последний столбцы, второй и предпоследний и т.д - C++
Не могу понять почему не работает.((((( В двумерном массиве размерности N x M поменять местами первый и последний столбцы, второй и...

поменять местами первый и последний элемент, второй и предпоследний и так далее - C++
Задан масив целых чисел.Распечатать преобразованный массив: поменять местами первый и последний элемент, второй и предпоследний и так...

Поменять местами первый и последний элементы. Все единичные элементы массива заменить нулями - C++
Люди добрые, помогите плиз с задачками. В массиве Р, размерности 150 150. поменять местами первый и последний элементы; все единичные...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
timchuchok
15 / 15 / 0
Регистрация: 21.12.2010
Сообщений: 55
20.02.2011, 15:00 #2
Нужно проверять, не привышает ли колиичество введеных елементво 10, это первое, второе, что делать, если будет введено 3 елемента, поменяем первый и последний, что делать с серединой?
0
Blacccatt
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 37
20.02.2011, 15:02  [ТС] #3
а может тут нужно обозначить чётные и нечётные (порядковый номер) элементы массива и потом понеслась?
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
20.02.2011, 15:03 #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, " " ) ); 
}
вывод сами напишиите, а то я же разучился по обычному писать
1
Blacccatt
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 37
20.02.2011, 15:13  [ТС] #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 минут
у меня препод противный,нужно наверно несколько вариантов кинуть ему)))
0
timchuchok
15 / 15 / 0
Регистрация: 21.12.2010
Сообщений: 55
20.02.2011, 15:14 #6
Ошибка как минимум в том, что функция main должна возвращать значение.
0
Blacccatt
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 37
20.02.2011, 15:18  [ТС] #7
timchuchok,ффффууух,как это сделать,подскажите?а то я с этой задачей завис)))

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

Уважаемый alex_x_x,если вас не затруднит,напишите комментарии к действиям,извините за такую просьбу...просто здесь итераторы используются,а я их не понимаю(((
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
20.02.2011, 17:57 #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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2011, 17:57
Привет! Вот еще темы с ответами:

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

Поменять местами наибольший и последний элементы массива - C++
Даны действительные числа х1,...,хn (все числа попарно различны). Поменять местами наибольший и последний элементы. 1 Victoria,...

Поменять местами максимальный и последний отрицательный элементы массива - C++
что-то не могу понять как делать Поменять местами максимальный и последний отрицательный элементы массива А (40).

Поменять местами первый минимальный и последний максимальный элементы массива - C++
&quot;Дан одномерный целочисленный массив из N элементов, заданных случайными числами на промежутке [a; b). Поменять местами первый минимальный...


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

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

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