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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
Юл*ька
Сообщений: n/a
27.05.2010, 12:30     Переставить в обратном порядке элементы массива #1
Дан массив А из N целых чисел и целые значения K и L(1<K<Л<N).Переставить в обратном порядке его элементы,расположенные между А(к) и А(л),включая эти элементы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2010, 12:30     Переставить в обратном порядке элементы массива
Посмотрите здесь:

C++ Переставить в обратном порядке элементы массива
Не использую доп. элементов массива переставить элементы массива в обратном порядке C++
Не используя других массивов, переставить элементы заданного массива в обратном порядке C++
Переставить в обратном порядке все четные элементы массива C++
C++ Переставить в обратном порядке все четные элементы массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
27.05.2010, 13:29     Переставить в обратном порядке элементы массива #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
#include <iostream>
#include <time.h>
const int sz=30; 
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Russian");
    srand (time (NULL));
    int i, n, a[sz], k, l, buf, j;
    cout<<"Введите количество элементов: ";
    cin>>n;
    for (i=0; i<n; i++)
    {
        a[i]=rand()%15;
        cout<<a[i]<<" ";
    }
    cout<<endl;
    cout<<"Введите k: ";
    cin>>k;
    cout<<"Введите l: ";
    cin>>l;
    for (i=k, j=0; j<=(l-k)/2; i++, j++)
    {
        buf=a[i];
        a[i]=a[l-j];
        a[l-j]=buf;
    }
    cout<<endl;
    for (i=0; i<n; i++)
        cout<<a[i]<<" ";
    cout<<endl;
}
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2010, 13:42     Переставить в обратном порядке элементы массива #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
#include <iostream.h>
 
int main(int argc, char* argv[])
{
   const int N = 10, K = 3, L = 7;
   int arr[N];
   int end, tmp;
 
   cout << "Ischodnyi massiv: ";
   for (int i = 0; i < N; i++)
   {
      arr[i] = i + 1;
      cout << arr[i] << " ";
   }
   cout << endl;
   end = (L - K)/2;
   for (int i = 0; i < end; i++)
   {
      tmp = arr[K+i-1];
      arr[K+i-1] = arr[L-i-1];
      arr[L-i-1] = tmp;
   }
   cout << "Obrabotannyi massiv: ";
   for (int i = 0; i < N; i++)
   {
      cout << arr[i] << " ";
   }
   cout << endl;
   system("pause");
   return 0;
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
27.05.2010, 14:05     Переставить в обратном порядке элементы массива #4
Так можно:
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main ()
{
    const int size=10;
    int MAS[size]={2,5,7,9,-3,6,9,8,10,-10};
    std::vector <int > vec;
    vec.assign (MAS, MAS+size);
    std::cout << "Start:\n";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    size_t K, L;
    std::cout << "Input K: "; std::cin >> K;
    std::cout << "Input L: "; std::cin >> L;
 
    std::reverse (vec.begin()+K, vec.begin()+L);
 
    std::cout << "Finish:\n";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    system ("pause");
    return 0;
}
Yandex
Объявления
27.05.2010, 14:05     Переставить в обратном порядке элементы массива
Ответ Создать тему
Опции темы

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