Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2012, 11:52   #1
Koroleva)
Новичок
Джуниор
 
Регистрация: 11.11.2012
Сообщений: 2
Восклицание не могу разобраться с ошибкой

Нарушение прав доступа при записи "0x001a0fc0" выдает такую ошибку, не могу понять в каком месте. Задачка на рекурсию.

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int F(int n, int m){
if ((n*m)%2==1) return min(n+m, m*n);
return F((n*m)/2,m)+F(n,(n*m)/2);}

int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "RUS");
int m, n;
printf ("Введите n=");
scanf ("%d", &n);
printf ("Введите m=");
scanf("%d", &m);
printf ("F=%.2d\n", F(n,m));
system ("pause");
return 0;
}
Koroleva) вне форума Ответить с цитированием
Старый 22.12.2012, 12:24   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Вам надо как-то изменить это
Код:
return F((n*m)/2,m)+F(n,(n*m)/2);}
или это
Код:
 if ((n*m)%2==1) return min(n+m, m*n);
Точнее сказать нельзя, потому как Вы не привели формулировку задачи на рекурсию.
Ведь при
Код:
if ((n*m)%2==1) return
остаток от деления m*n на два всегда будет нулевой, если хотя бы один из сомножителей четный. А значит выход из рекурсии не выполнится никогда. И как результат - вечная рекурсия и переполнение стека вызовов.
EUGY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу разобраться с ошибкой Smirnov Паскаль, Turbo Pascal, PascalABC.NET 0 17.05.2012 23:25
помогите разобраться с ошибкой Lokos БД в Delphi 0 18.12.2009 09:47
не могу разобраться с ошибкой... Shipa Помощь студентам 0 26.10.2009 14:31
с ошибкой разобраться помогите mshunter Помощь студентам 2 13.05.2009 11:47
Помогите разобраться с ошибкой Muchacho Помощь студентам 8 08.11.2008 23:39