Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
5 / 5 / 2
Регистрация: 25.11.2016
Сообщений: 71
1

Реализовать функцию, меняющую порядок следования элементов заданного массива на противоположный

18.01.2017, 11:31. Показов 4412. Ответов 3
Метки нет (Все метки)

плиз хелп не знаю как подступится
Задание - функция, принимает указатель на одномерный массив целых чисел и размер этого массива, и меняет порядок следования элементов массива на противоположный, для решения использовать адресную арифметику, прибавление числа к указателю и операцию разыменования *, вместо квадратных скобок
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2017, 11:31
Ответы с готовыми решениями:

Написать функцию, меняющую порядок следования элементов массива на противоположный
Написать функцию, меняющую порядок следования элементов передаваемого ей массива на...

Описать процедуру, меняющую порядок следования элементов массива
Описать процедуру Invert (A,N), меняющую порядок следования элементов массива A из N вещественных...

Изменить порядок следования элементов массива на противоположный
Измените порядок следования элементов массива на противоположный.

Описать процедуру Invert(A,N), меняющую порядок следования элементов массива на противоположный
Описать процедуру Invert(A,N), меняющую порядок следования элементов массива A из N вещественных...

3
23 / 24 / 20
Регистрация: 03.07.2015
Сообщений: 66
18.01.2017, 11:41 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
34
35
36
#include <iostream>
#include <ctime>
int *f(int * arr, int n) {
    int temp = 0;
    for (int i = 0, j = n - 1; i < j; i++, j--)
    {
        temp = *(arr + i);
        *(arr + i) = *(arr + j);
        *(arr + j) = temp;      
    }
    return arr;
}
 
int main()
{
    using namespace std;
    srand(time(0));
    int n;
    cin >> n;
    int * arr = new int[n];
 
    for (int i = 0; i < n; i++)
        arr[i] = rand() % 20;
    
    for (int i = 0; i < n; i++)
        cout << arr[i] << ' ';
 
    cout << endl;
 
    f(arr, n);
 
    for (int i = 0; i < n; i++)
        cout << arr[i] << ' ';
    
    return 0;
}
0
357 / 316 / 216
Регистрация: 21.02.2013
Сообщений: 744
18.01.2017, 11:53 3
Лучший ответ Сообщение было отмечено kristofeer как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
 
using namespace std;
void my_func (int* arr, const int& sz){
    int j = sz-1, i = 0, temp;
    while (i < j){
        temp = *(arr + i);
        *(arr + i) = *(arr + j);
        *(arr + j) = temp;
        i++; j--;
    }
 
}
int main()
{
    int arr[4] = {1,2,3,4};
    my_func(arr, 4);
    for(int i = 0; i != 4; i++){
        cout <<*(arr + i) << " ";
    }
}
1
Форумчанин
Эксперт CЭксперт С++
8169 / 5017 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
18.01.2017, 14:52 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
void foo(int *arr, const int size)
{
    for (int *p1 = arr, *p2 = arr + size - 1; p1 < p2; p1++, p2--)
        *p1 ^= *p2 ^= *p1 ^= *p2;
}
 
int main()
{
    int arr[] = {1, 2, 3, 4};
    const int size = sizeof(arr) / sizeof(*arr);
    foo(arr, size);
    for (int i = 0; i < size; i++)
        std::cout << *(arr + i) << " ";
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2017, 14:52

Описать процедуру Invert(A, N), меняющую порядок следования элементов вещественного массива A размера N на противоположный
Описать процедуру Invert(A, N), меняющую порядок следования элементов вещественного массива A...

Написать процедуру, меняющую порядок следования элементов массивов A, B и C на противоположный
Написать процедуру, меняющую порядок следования элементов массивов A, B и C, состоящих из NA, NB и...

Описать процедуру InvIntFile, меняющую порядок следования элементов файла целого типа на противоположный
Описать процедуру InvIntFile(S), меняющую порядок следования элементов файла целого типа с...

Процедуры. Описать процедуру InvertIntFile(s), меняющую порядок следования элементов файла целого типа с именем S на противоположный
Описать процедуру InvertIntFile(s), меняющую порядок следования элементов файла целого типа с...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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