Member 13995503 Ответов: 2

Как мне получить этот jmoisjdg09sjfepokf09serkperklf-ekf


#include<iostream>

using namespace std;

int fact(int);

int main()
{
    int a=5,b;
    b=fact(a);
    cout<<b;
    return 0;
}

int fact(int);
{
     int a=6,b;
    b=fact(a);
    cout<<b;
    return 0;
}

int fact(int n)
{
    int i=1,j=1;
    while(i<=n)
    {
    j=j*i;
    i=i+1;
    }
    return j;
}


Что я уже пробовал:

он показывает ожидаемый неквалифицированный идентификатор перед токеном ‘{’
{

ZurdoDev

Твой титул сломался.

2 Ответов

Рейтинг:
1

OriginalGriff

Вы объявляете функцию "прямой ссылки", которая называется fact :

int fact (int);
Вы не можете дать этому тело, иначе это не было бы прямой ссылкой!
Удалите тело (и переднюю ссылку, так как она у вас есть дважды), и ваш код будет скомпилирован:
#include<iostream>
using namespace std;
int fact (int);
int main ()
{
  int a = 5, b;
  b = fact (a);
  cout << b;
  return 0;
}

int fact (int n)
{
  int i = 1, j = 1;
  while (i <= n)
    {
      j = j * i;
      i = i + 1;
    }
  return j;
}

Но я бы заменил его на другой. while петля с а for:
int fact (int n)
{
  int j = 1;
  for (int i = 1; i <= n; i++)
    {
      j = j * i;
    }
  return j;
}


Рейтинг:
0

CPallini

Цитата:
int fact(int);
{
int a=6,b;
b=факт(a);
cout<<b;
возвращает 0;
}
Это совершенно неправильно на стольких уровнях...

Если вы удалите это, ваш код, хотя и не красивый, будет работать.