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

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

Войти
Регистрация
Восстановить пароль
 
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
#1

Рекурсивная сортировка массива. - C++

29.11.2013, 05:49. Просмотров 669. Ответов 10
Метки нет (Все метки)

Помогите срочно!
Дан массив в c++ {'A','B','C','D','E','F','G'}, надо написать код через int или void чтобы пользователь мог ввести два индекса и элементы между двумя этими индексами и включая сами индексы поменяли порядок на обратный.Все это должно выполнятся с помощь рекурсии!

например: {'A','B','C','D','E','F','G'} => вводим индексы 2 и 5 => получаем {'A','B','F','E','D','C','G'}

Облазил форум, ничего подобного не нашел!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 05:49     Рекурсивная сортировка массива.
Посмотрите здесь:

Рекурсивная функция печати массива - C++
Напишите рекурсивную функцию печати массива, которая принимает массив и размер массива как аргументы и ничего не возвращает. Функция должна...

рекурсивная функция печати массива - C++
Напишите рекурсивную функцию печати массива, которая принимает массив и размер массива как аргументы и ничего не возвращает. Фунцкия должна...

Рекурсивная функция произведения элементов массива - C++
Здесь функция произведения "proizv" считает произведение всех элементов массива, как сделать её рекурсивной? #include <iostream> ...

Рекурсивная функция поиска максимального элемента массива - C++
Написать рекурсивную функцию для вычисления максимального элемента массива из п элементов. выдает ошибки: использована...

Рекурсивная функция определения минимального элемента массива - C++
Задан одномерный массив вещественных чисел. Написать программу определения минимального элемента массива x, содержащую рекурсивную функцию...

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

Рекурсивная функция. Посчитать среднее арифметическое элементов массива - C++
Нужно с помощью рекурсивной функции посчитать среднее арифметическое элементов массива.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
29.11.2013, 09:07     Рекурсивная сортировка массива. #2
C++
1
2
3
4
5
6
7
8
9
char str[]="ABCDEF";
int is=2;
int ie=5;
for(int i=is-1;i<=is-1+(ie-is)/2;i++)
{
     char t=str[i];
     str[i]=str[ie-i];
     str[ie-i]=t;
}
Croessmah
Модератор
Эксперт CЭксперт С++
13063 / 7326 / 817
Регистрация: 27.09.2012
Сообщений: 18,085
Записей в блоге: 3
Завершенные тесты: 1
29.11.2013, 09:40     Рекурсивная сортировка массива. #3
zss,
Цитата Сообщение от Almat29 Посмотреть сообщение
Все это должно выполнятся с помощь рекурсии!
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
29.11.2013, 09:44     Рекурсивная сортировка массива. #4
Вот пожалуйста решение с использованием рекурсии (функция Swap_char).

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
#include <iostream>
 
using namespace std;
 
void Swap_Char(char *str, int begin, int end)
{
    char tmp = str[begin];
    str[begin] = str[end];
    str[end] = tmp;
    if (end - begin != 0 && end - begin != 1) Swap_Char(str, ++begin, --end);
}
 
int main()
{
    char str[] = "ABCDEFG";
    int f, s;
    cout << "Please enter first index" << endl;
    cin >> f;
    cout << "please enter second index" << endl;
    cin >> s;
    Swap_Char(str, f, s);
    cout << str<<endl;
    system("pause");
}
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
29.11.2013, 09:46     Рекурсивная сортировка массива. #5
Цитата Сообщение от Almat29 Посмотреть сообщение
Все это должно выполнятся с помощь рекурсии!
Тогда еще проще:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void revers(char* str,int is,int ie)
{
    if(is>=ie || is>=strlen(str) || ie>=strlen(str) )
       return;
    else
    {
        char t=str[is];
        str[is]=str[ie];
        str[ie]=t;
        revers(str,is+1,ie-1);
    }
}
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
29.11.2013, 11:18  [ТС]     Рекурсивная сортировка массива. #6
Цитата Сообщение от D3fend0r Посмотреть сообщение
Вот пожалуйста решение с использованием рекурсии (функция Swap_char).

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
#include <iostream>
 
using namespace std;
 
void Swap_Char(char *str, int begin, int end)
{
    char tmp = str[begin];
    str[begin] = str[end];
    str[end] = tmp;
    if (end - begin != 0 && end - begin != 1) Swap_Char(str, ++begin, --end);
}
 
int main()
{
    char str[] = "ABCDEFG";
    int f, s;
    cout << "Please enter first index" << endl;
    cin >> f;
    cout << "please enter second index" << endl;
    cin >> s;
    Swap_Char(str, f, s);
    cout << str<<endl;
    system("pause");
}
Спасибо большое, очень помог! Ты на английском разговариваешь?
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
29.11.2013, 12:36     Рекурсивная сортировка массива. #7
Цитата Сообщение от Almat29 Посмотреть сообщение
Ты на английском разговариваешь?
Нет, просто в универе требуют коменты писать на английском, плюс для практики письма на англ. полезно.
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
29.11.2013, 12:38  [ТС]     Рекурсивная сортировка массива. #8
Цитата Сообщение от D3fend0r Посмотреть сообщение
Нет, просто в универе требуют коменты писать на английском, плюс для практики письма на англ. полезно.
а ты в классах разбираешься? Если да, мог бы помочь? Срочно надо.
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
29.11.2013, 22:24     Рекурсивная сортировка массива. #9
Если только без ооп, то напиши постараюсь помочь.
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
29.11.2013, 22:45  [ТС]     Рекурсивная сортировка массива. #10
Цитата Сообщение от D3fend0r Посмотреть сообщение
Если только без ооп, то напиши постараюсь помочь.
Можешь мне в ЛС скинуть свой мэйл или контакт? Я тебе туда напишу
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2013, 06:50     Рекурсивная сортировка массива.
Еще ссылки по теме:

Рекурсивная функция для нахождения минимального элемента массива - C++
Помогите!Нужно написать рекурсивную функцию для нахождения минимального элемента массива

Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов. - C++
Всем привет. Друзья, подскажите - необходимо написать на С++ рекурсивную подпрограмму вычисления суммы элементов массива, состоящего из...

Рекурсивная функция для вычисления индекса максимального элемента массива - C++
Написать рекурсивную функцию для вычисления индекса максимального элемента массива из n элементов

Рекурсивная функция: вычислить среднее арефметическое элементов одномерного массива - C++
прошу помочь с программой с помощью рекурсивной функции вычислить среднее арефметическое элементов одномерного массива

Указатели массива и сортировка массива - C++
Доброго времени суток, вот бьюсь над проблемой, нужна программа которая б сортировку динамического массива (ввод с клавиатуры) из 10...


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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13063 / 7326 / 817
Регистрация: 27.09.2012
Сообщений: 18,085
Записей в блоге: 3
Завершенные тесты: 1
30.11.2013, 06:50     Рекурсивная сортировка массива. #11
Цитата Сообщение от Almat29 Посмотреть сообщение
Можешь мне в ЛС скинуть свой мэйл или контакт? Я тебе туда напишу
Правила форума
Цитата Сообщение от Правила
Обсуждение вопросов - только в теме на форуме. Приглашения к обсуждению еще где-либо (в том числе и с помощью системы личных сообщений) запрещены, за исключением коммерческих разделов.
Yandex
Объявления
30.11.2013, 06:50     Рекурсивная сортировка массива.
Ответ Создать тему
Опции темы

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