Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 05.09.2015
Сообщений: 51
1

Recursion and pointers. Array in reverse order

10.09.2015, 08:54. Показов 1127. Ответов 12
Метки нет (Все метки)

Задача:
Suppose that intArray is an array of integers, and length specifies the number of elements in intArray. Also, suppose that low and high are two integers such that 0 <= low < length, 0 <= high < length, and low < high. That is, low and high are two indices in intArray. Write a recursive definition that reverses the elements in intArray between low and high.

Пишет данную ошибку:
undefined reference to rec(int*, int, int)
,подскажите как исправить.

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>
using namespace std;
 
 
int rec(int array[], int low, int high);
 
int main()
{
 
     int size;
     
     cout << "Enter the length of the array";
     cin >> size;
     cout <<endl;
     
     int * arra = new int[size];
 
 
    cout <<"enter elements into the array";
    for(int i=0; i<size;i++)
    {
        cin >>arra[i];
    }
 
    rec(arra ,0,4);
     
 
}
 
void rec(int* array[], int low, int high)
    {
        if(low<=high)
        cout << "Reverse order: " << array[high] << " ";
        rec(array,low, high -1);
}
0

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

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2015, 08:54
Ответы с готовыми решениями:

Display given sequence in reverse order
Given a positive integer N and sequence of N elements. You have to display given sequence in...

Почему array reverse на указателях медленнее, чем обычный?
Всем привет. Решил сравнить скорость работы алгоритма реверса массива. Думал на указателях...

HSQL запрос. Что не так? "from hiberdata.Order order where order.clientId=?"
public List loadOrdersByClientId(Integer clientId) { return getHibernateTemplate().find( 'from...

Qt smart pointers vs std smart pointers
В каких случаях лучше использовать Q*Pointer, а в каких std::*_ptr, или с наследниками QObject...

12
150 / 138 / 61
Регистрация: 08.09.2014
Сообщений: 1,212
10.09.2015, 09:03 2
В хедере опиши функцию
0
0 / 0 / 1
Регистрация: 05.09.2015
Сообщений: 51
10.09.2015, 09:07  [ТС] 3
Не помогло
cannot convert 'int*' to 'int**' for argument '1' to 'int rec(int**, int, int)'
0
150 / 138 / 61
Регистрация: 08.09.2014
Сообщений: 1,212
10.09.2015, 09:17 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
void rec(int array[], int low, int high)
    {
        if(low<=high)
        cout << "Reverse order: " << array[high] << " ";
        rec(array,low, high -1);
}
 
int main(int argc, char* argv[])
{
int size;
 
     cout << "Enter the length of the array";
     cin >> size;
     cout <<endl;
 
     int * arra = new int[size];
 
 
    cout <<"enter elements into the array";
    for(int i=0; i<size;i++)
    {
        cin >>arra[i];
    }
 
    rec(arra ,0,4);
 
 
     
}
Проверено

Добавлено через 5 минут
Ошибок нет но с функцией беда
Чесно я твою функцию не понял
0
Эксперт PHP
2994 / 2512 / 1183
Регистрация: 14.05.2014
Сообщений: 7,087
Записей в блоге: 1
10.09.2015, 09:19 5
Цитата Сообщение от Rabbit Посмотреть сообщение
C++
1
int rec(int array[], int low, int high); // прототип
Цитата Сообщение от Rabbit Посмотреть сообщение
C++
1
void rec(int* array[], int low, int high) // реализация
найдите 10 отличий
0
Администратор
Эксперт .NET
9116 / 4390 / 746
Регистрация: 17.04.2012
Сообщений: 9,153
Записей в блоге: 14
10.09.2015, 09:33 6
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
найдите 10 отличий
Нашёл 2
1
150 / 138 / 61
Регистрация: 08.09.2014
Сообщений: 1,212
10.09.2015, 09:51 7
Была бы здесь только беда
0
Эксперт PHP
2994 / 2512 / 1183
Регистрация: 14.05.2014
Сообщений: 7,087
Записей в блоге: 1
10.09.2015, 09:54 8
Цитата Сообщение от Игорь1986 Посмотреть сообщение
Была бы здесь только беда
согласен, там еще и бесконечная рекурсия.
0
0 / 0 / 1
Регистрация: 05.09.2015
Сообщений: 51
10.09.2015, 10:00  [ТС] 9
Помогите пжл исправить беду

Добавлено через 5 минут
Как я понимаю последний элемент выводится как он есть, а остальные элементы меняются местами?
0
150 / 138 / 61
Регистрация: 08.09.2014
Сообщений: 1,212
10.09.2015, 10:00 10
Насколько я понял из задания, надо сделать 2 массива элементов, а затем переставить местами между массивами вроде,
0
Эксперт PHP
2994 / 2512 / 1183
Регистрация: 14.05.2014
Сообщений: 7,087
Записей в блоге: 1
10.09.2015, 10:07 11
Rabbit,
C++
1
2
3
4
5
6
7
8
void reverse_array(int *arr, int low, int high)
{
    if (low < high)
    {
        std::swap(arr[low], arr[high]);
        reverse_array(arr, low+1, high-1);
    }
}
0
0 / 0 / 1
Регистрация: 05.09.2015
Сообщений: 51
10.09.2015, 10:09  [ТС] 12
intArray = [1 2 3 4 5 6] ,low =0, high =5 -> the function must reverse the array [1 2 3 4 5 6] to become [6 5 4 3 2 1]
If intArray = [1 2 3 4 5 6] ,low =2, high =4 -> the function must reverse the array [3 4 5] to become [5 4 3]
0
150 / 138 / 61
Регистрация: 08.09.2014
Сообщений: 1,212
10.09.2015, 10:15 13
Так желательно чтобы и ввод low, high тоже был, а то явно задал
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2015, 10:15

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

recursion with variadic template
#define NOT_COMPILE 1 #if NOT_COMPILE // так не компилится template &lt;class Type, unsigned...

Recursion. 2 integers are multiplied together
Объясните пжл выполнение данной рекурсии пошагово. Например, возьмем recur(3,2) и recur(2,4) ...

Maximum recursion depth exceeded in comparison
Решил проверить время сортировки на разных по длине списках. При 10 и 100 элементах работает...

Pointers
Здравствуйте, не могу понять принцип указателей, можете пожалуйста объяснить почему в этом коде ...


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

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

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