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

Помогите найти ошибку - C++

Восстановить пароль Регистрация
 
Katya99
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
28.11.2013, 16:08     Помогите найти ошибку #1
ЧТО ТУТ НЕПРАВИЛЬНО ?

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
#include <conio.h>
#include <math.h>
#include <cmath>
#include <stdio.h>
 
using namespace std;
 
int main()
 
{
  int  n,m,c,i,f;
 
  cout<<"n=";
  cin>>n;
 
  cout<<"m=";
  cin>>m;
 
 
  i=2;
  f=1;
 
  if(n<0)
  {
  cout<<"Resheniy net";
  return 0;
  }
 
  while (i<=n)
  {
  f(n)=f*i;
 
  i++;
  }
 
  if (i>n)
  {
  cout<<"f="<<f<<endl;
  }
 
   if(m<0)
   {
   cout<<"Resheniy net";
   return 0;
   }
 
   while (i<=m)
   {
   f(m)=f*i;
 
   i++;
   }
 
   if (i>m)
   {
    cout<<"f="<<f<<endl;
   }
 
    if((n-m)<0)
    {
    cout<<"Resheniy net";
    return 0;
    }
 
    while (i<=(n-m))
    {
    f(n-m)=f*i;
 
    i++;
    }
 
    if (i>(n-m))
    {
    cout<<"f="<<f<<endl;
    }
 
 
 
 
  if(n<m)
  {
  cout<<"Resheniy net";
  return 0;
  }
 
  if (m<=0)
  {
  cout<<"Resheniy net";
  return 0;
  }
else
  {
  c=f(n)/(f(m)*(f(n-m)));
 
  cout<<"c="<<c<<endl;
  }
 
 
  cout<<endl<<"Press any key to finish...";
 
  getch();
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 16:08     Помогите найти ошибку
Посмотрите здесь:

Помогите найти ошибку C++
C++ помогите найти ошибку
C++ помогите найти ошибку.
C++ Помогите найти ошибку
помогите найти ошибку C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
28.11.2013, 16:10     Помогите найти ошибку #2
Цитата Сообщение от Katya99 Посмотреть сообщение
ЧТО ТУТ НЕПРАВИЛЬНО ?
Неправильно следующее:
абсолютное непонимание автора, что такое функции.
Попытка изобрести какой-то свой язык программирования, вместо того,
чтоб прочитать хоть одну страницу про ФУНКЦИИ! из соответствующей главы любой книги по С++
Katya99
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
28.11.2013, 16:15  [ТС]     Помогите найти ошибку #3
ВАС ПОПРОСИЛИ СКАЗАТЬ ЧТО ИМЕННО НЕПРАВИЛЬНО.А НЕ НАЧИНАТЬ
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
28.11.2013, 16:16     Помогите найти ошибку #4
Цитата Сообщение от Katya99 Посмотреть сообщение
ВАС ПОПРОСИЛИ СКАЗАТЬ ЧТО ИМЕННО НЕПРАВИЛЬНО.А НЕ НАЧИНАТЬ
Это ладно, а что именно смущает самого?
А-то я вот на работе откомпилить не могу, а по коду может чего и подскажу.

На первый взгляд интересует, что такое f(n)?
Где определена эта функция, почему переменная типа int превратилась в функцию?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
28.11.2013, 16:17     Помогите найти ошибку #5

Не по теме:

Цитата Сообщение от Katya99 Посмотреть сообщение
А НЕ НАЧИНАТЬ
говорить что тут неправильно.



Katya99, вы можете перефразировать ваш вопрос как-то более развернуто?
Katya99
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
28.11.2013, 16:18  [ТС]     Помогите найти ошибку #6
МОЖЕТ БЫТЬ ВЫ ПОМОЖЕТЕ ЧЕМ-НИБУДЬ ?

Добавлено через 57 секунд
нам задали такое задание)
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
28.11.2013, 16:22     Помогите найти ошибку #7
Цитата Сообщение от Katya99 Посмотреть сообщение
МОЖЕТ БЫТЬ ВЫ ПОМОЖЕТЕ ЧЕМ-НИБУДЬ ?

Добавлено через 57 секунд
нам задали такое задание)
Самая первая фигня которая там это, то что переменная превратилась в функцию.

Добавлено через 44 секунды
Какое задание? Дали этот код и спросили че не так?

Добавлено через 1 минуту
Вот сомнительные части кода.

Цитата Сообщение от Katya99 Посмотреть сообщение
f(m)=f*i;
Цитата Сообщение от Katya99 Посмотреть сообщение
f(n-m)=f*i;
Цитата Сообщение от Katya99 Посмотреть сообщение
c=f(n)/(f(m)*(f(n-m)));
Katya99
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
28.11.2013, 16:23  [ТС]     Помогите найти ошибку #8
Помогите найти ошибку
вот задание
Katya99
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
28.11.2013, 16:28  [ТС]     Помогите найти ошибку #9
я добавила задание ))
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
28.11.2013, 16:31     Помогите найти ошибку #10
Katya99, в следующий раз переписывайте пожалуйста задание ручками и в начале темы.
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
28.11.2013, 16:31     Помогите найти ошибку #11
Значит так, наши действия следующие:
1. Напишите функцию для расчета факториала, предварительно познакомившись с понятием функция и рекурсивый запрос, продемонстрировав результат в данной ветке
2. Вставить эту функцию в текущую программу, поможем если что, главное напиши рекурсивную функцию!!!!
Katya99
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
28.11.2013, 16:34  [ТС]     Помогите найти ошибку #12
а нам даже не говорили про рекурсивную функцию.мы делали только расчет факториала ,а потом это задание
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
28.11.2013, 16:51     Помогите найти ошибку #13
А вообще функции изучали?

Добавлено через 27 секунд
Просто хочется понять откуда взялось f(n)

Добавлено через 1 минуту
C++
1
2
3
4
int factorial(n) {
   if (n > 0) return n * factorial(n - 1)
   else return 1;
}
Вот это называется рекурсивная функция, функция которая вызывает сама себя...работает по вычислению факториала для положительных чисел.

Добавлено через 11 минут
Katya99, Вам наверное не интересно все это, поэтому держите, редактировал в блокноте, но вроде все должно быть верно

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <conio.h>
#include <math.h>
#include <cmath>
#include <stdio.h>
 
using namespace std;
 
int main()
 
{
  int  n,m,c,i,f, f1, f2, f3;
 
  cout << "n=";
  cin >> n;
 
  cout << "m=";
  cin >> m;
 
  f=1;
  
  f1=1;
  f2=1;
  f3=1;
 
  if(n < 0) {
    cout << "Resheniy net";
    return 0;
  }
  
  i = 1;
  while ( i <= n ) {
    f1 = f1 * i;
    i++;
  }
 
  if ( i > n ) cout << " f1 = " << f1 << endl;
 
  if(m < 0) {
    cout << "Resheniy net";
    return 0;
  }
 
  i = 1;
  while ( i <= m )  {
    f2 = f2 * i;
    i++;
  }
 
  if ( i > m )  cout << "f2 = " << f2 << endl;
 
  if( (n - m) < 0 ) {
    cout<<"Resheniy net";
    return 0;
  }
  
  i = 1;
  while (i <= ( n - m )) {
    f3 = f3 * i;
    i++;
  }
 
  if (i>f3) cout << "f3 = " << f3 << endl;
 
  if( n < m ) {
    cout<<"Resheniy net";
    return 0;
  }
 
  if ( m <= 0 ) {
    cout<<"Resheniy net";
    return 0;
  }
  else {
    c= f1 / ( f2 * f3 );
    cout << " c = " << c << endl;
  }
 
  cout<<endl<<"Press any key to finish...";
 
  getch();
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2013, 22:18     Помогите найти ошибку
Еще ссылки по теме:

Помогите найти ошибку C++
Помогите найти ошибку C++
Помогите найти ошибку C++

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

Или воспользуйтесь поиском по форуму:
Katya99
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
28.11.2013, 22:18  [ТС]     Помогите найти ошибку #14
Спасибо вам огромное!
Yandex
Объявления
28.11.2013, 22:18     Помогите найти ошибку
Ответ Создать тему
Опции темы

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