Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 81
1

Ошибка в программе (с кучей)

23.12.2014, 22:53. Показов 1162. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите где ошибка в программе.Программа работает нормально,но в конце работы программы выдаётся ошибка Heap corruption detected
Кликните здесь для просмотра всего текста
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
37
38
39
40
41
42
43
#include <iostream>
 
using namespace std;
 
void ArrayPrint(int* A,int n){
 
    for (int i(0);i<n;i++)
        cout<<A[i];
    cout<<endl;
}
 
void Solve(int* A,int t,int n,int k){
    
    if (t>n) 
        ArrayPrint(A,n);
    else
        for (int i(0);i<k;i++){
            A[t]=i;
            Solve(A,t+1,n,k);
        }
}
 
void main(){
char repeat;
int n,k;
 
    do{
        cout<<"n = ";
        cin>>n;
        cout<<"k = ";
        cin>>k;
 
        int* A = new int[n];
 
        for(int i(0);i<n;i++)
            A[i]=0;
 
        Solve(A,0,n,k);
        delete[] A;
 
        cout<<"\nRepeat?(y/n) ";
    }while(cin>>repeat && repeat=='y');
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2014, 22:53
Ответы с готовыми решениями:

Сортировка кучей
Здравствуйте, нужно написать программу вычисления арифметических операций, с использованием сложных...

Сортировка кучей с указателями
Доброго времени суток. Есть задание реализации функции, которая сортирует массив чисел (например,...

Программа с кучей условий
Здравствуйте в общем. Преподаватель задал задание на зачете я вроде все сделала но она просто так...

Управление кучей светодиодов
Доброго времени суток) Прошу помощи в изготовление часов TokyoFtosh...

3
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
23.12.2014, 23:25 2
Цитата Сообщение от Best_Coder Посмотреть сообщение
Программа работает нормально
Как это выглядит? Что вводим?
Когда происходит выход из рекурсии? Какое допустимое значение для t? Если t станет равной n, то в 18 строке будет выход за границу массива.
1
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 81
24.12.2014, 13:56  [ТС] 3
к примеру при n=3 k=2

Добавлено через 5 часов 8 минут
т.е. n - число позиций цифр,а k-число вариаций цифр...а программа перебирает число возможных вариантов,но где то нарушено взаимодействие с памятью
0
47 / 28 / 12
Регистрация: 23.01.2013
Сообщений: 125
24.12.2014, 16:04 4
Лучший ответ Сообщение было отмечено Best_Coder как решение

Решение

Цитата Сообщение от Best_Coder Посмотреть сообщение
к примеру при n=3 k=2
#14 строка if (t>n), когда t == n будет выход за выделенную память тут A[t]=i;
1
24.12.2014, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2014, 16:04
Помогаю со студенческими работами здесь

алгоритм сортировки кучей
Указать процедуру, которая важная вовремя использования алгоритма сортировки кучей? а) поддержка...

Разобраться с кучей серваков
Привет уважаемые знатоки. Проблема в том, что у меня есть 4 серверных пк. Серверы, веб серверы....

Является ли массив кучей?
1.Пусть массив отсортирован по возрастанию. Является ли он кучей?Если да,то почему?Если нет,то...

Управление кучей контроллов
В общем суть такова: Есть в проекте куча элементов с именами controll1, controll2, controll3, ... ,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru