



//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#include <iostream>
#include <conio.h>
using namespace std;
__ int64 silnia(__int64 n)
{
switch (n)
{
case 1:
return 1;
break;
default:
return n * silnia(n-1);
}
}
//--------------------------------------------------------------------------
int main(int argc, char* argv[])
{
int wej;
cout << "Silnie jakiej liczby obliczyc?\n";
cin >> wej;
cout << silnia(wej);
while(!kbhit());
return 0;
}
//---------------------------------------------------------------------------Edit2->Text=VarToStr(silnia(StrToInt(Edit1->Text)));
probowalam tez: Edit2->Text=silnia(StrToInt(Edit1->Text));



techew napisał(a):dlaczego mialabym krecic?
__int64 value = 1551121004333098598;
cout << value;
__int64 value =1551121004333098598*6;
Edit2->Text=value;__int64 value =silnia(33);
Edit2->Text=value;
__int64 value =silnia(33);
Edit2->Text = IntToStr(value);

__int64 value =silnia(33);
if(value == 1551121004333098598)
{
ShowMessage("Funkcja zwraca właściwą liczbę");
}
else
{
ShowMessage("Błąd konwersji");
}


//---------------------------------------------------------------------------
long double silnia(long double n)
{
if(n == 0) return 1;
return n * silnia(n - 1);
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Edit1->Text = FloatToStr(silnia(17));
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
__int64 silnia(__int64 n)
{
if(n == 0) return 1;
return n * silnia(n - 1);
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Edit1->Text = IntToStr(silnia(39));
}
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
int wej;
cout << "Silnie jakiej liczby obliczyc?\n";
cin >> wej;
cout << silnia(wej);
while(!kbhit());
return 0;
}
int main(int argc, char* argv[])
{
__int64 wej;
cout << "Silnie jakiej liczby obliczyc?\n";
cin >> wej;
cout << silnia(wej);
while(!kbhit());
return 0;
}

Cyfrowy Baron napisał(a):Stosując zmienną __int64 uzyskałem prawidłowy wynik dla n = 39
Cyfrowy Baron napisał(a):Tutaj masz błąd:
__int64. Gdzie jest błąd?
Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości