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

Поменять местами 1-й элемент с 11-м , 2-й с 12-м , 3-й с 13-м и т. д. - C++

Восстановить пароль Регистрация
 
Sloupok
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 5
06.12.2012, 18:57     Поменять местами 1-й элемент с 11-м , 2-й с 12-м , 3-й с 13-м и т. д. #1
Задан массив А из 20 элементов. Поменять местами 1-й элемент с 11-м , 2-й с 12-м , 3-й с 13-м и т. д. Вывести исходный и полученный массивы. Элементы массива A должны быть случайными числами в диапазоне от 0 до 100.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 18:57     Поменять местами 1-й элемент с 11-м , 2-й с 12-м , 3-й с 13-м и т. д.
Посмотрите здесь:

C++ В списке целых чисел поменять местами max элемент и min элемент
C++ В последовательности поменять местами максимальный элемент и элемент с номером m
C++ Поменять местами минимальный элемент матрицы Р (9×11) и элемент, значение которого совпадает с заданным X
Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел C++
В двумерном массиве поменять местами максимальный и минимальный элемент местами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Law[L]esS
 Аватар для Law[L]esS
114 / 111 / 23
Регистрация: 31.10.2009
Сообщений: 191
06.12.2012, 19:17     Поменять местами 1-й элемент с 11-м , 2-й с 12-м , 3-й с 13-м и т. д. #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
#include <stdio.h>
#include <time.h>
#include <windows.h>
 
int main()
{
    int a[20],tmp,i;
    srand(time(NULL));
    for (i=0;i<20;i++)
    {
      a[i]=rand()%100;
      printf("%3d",a[i]);
    }
    
    for (i=0;i<10;i++)
    {
      tmp=a[i];
      a[i]=a[i+10];
      a[i+10]=tmp;
    }
    printf("\n");
    for (i=0;i<20;i++)
    {
      printf("%3d",a[i]);
    }
    system("pause");
    return 0;
}
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
06.12.2012, 19:19     Поменять местами 1-й элемент с 11-м , 2-й с 12-м , 3-й с 13-м и т. д. #3
А можно swap() использовать???
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
06.12.2012, 19:28     Поменять местами 1-й элемент с 11-м , 2-й с 12-м , 3-й с 13-м и т. д. #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
28
29
30
31
32
33
34
35
#include <iostream>
#include <algorithm>
#include <vector>
#include <random>
#include <functional>
#include <iterator>
 
int main() {
    std::vector <int> array;
    std::random_device random_dev;
    std::generate_n(
        std::back_inserter(array), 
        20, 
        std::bind(
            std::uniform_int_distribution <int>(0, 100),
            std::mt19937(random_dev())
        )
    );
    
    std::cout << "Before:" << '\n';
    for (int value : array) {
        std::cout << value << " ";
    }
    
    std::swap_ranges(
        std::begin(array),
        std::begin(array) + 10,
        std::begin(array) + 10
    );
            
    std::cout << "\nAfter:" << '\n';
    for (int value : array) {
        std::cout << value << " ";
    }       
}
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
06.12.2012, 19:29     Поменять местами 1-й элемент с 11-м , 2-й с 12-м , 3-й с 13-м и т. д. #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
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
void print(int* mass, int N);
 
int main()
{
    const int N = 20;
    int mass[N];
 
    for(int i = 0; i < N; ++i) {
        srand(time(0) * (i + 5));
        mass[i] = rand() % 100;
    }
 
    print(mass, N);
 
    for(int i = 0, j = 10; i < N && j < N; ++i ) {
        swap(mass[i], mass[j]);
    }
 
    print(mass, N);
 
}
 
void print(int* mass, int N) {
    for(int i = 0; i < N; ++i) {
        cout << mass[i] << " ";
    }
 
    cout << endl;
}
Yandex
Объявления
06.12.2012, 19:29     Поменять местами 1-й элемент с 11-м , 2-й с 12-м , 3-й с 13-м и т. д.
Ответ Создать тему

Метки
c++ поменять местами элементы массива, c++ поменять половины массива, поменять местами элементы массива, поменять половины массива
Опции темы

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