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

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

Восстановить пароль Регистрация
 
Almat29
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 26
29.11.2013, 05:49     Рекурсивная сортировка массива. #1
Помогите срочно!
Дан массив в 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     Рекурсивная сортировка массива.
Посмотрите здесь:

Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов. C++
Рекурсивная функция произведения элементов массива C++
C++ рекурсивная функция печати массива
C++ Рекурсивная функция. Посчитать среднее арифметическое элементов массива
C++ Рекурсивная функция для нахождения минимального элемента массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,180
Завершенные тесты: 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
Модератор
Эксперт С++
 Аватар для Croessmah
11834 / 6813 / 769
Регистрация: 27.09.2012
Сообщений: 16,886
Записей в блоге: 2
Завершенные тесты: 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
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,180
Завершенные тесты: 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++
C++ Рекурсивная функция для вычисления индекса максимального элемента массива
Рекурсивная функция печати массива C++

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

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

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