kanarex 2022-11-24 20:24:38 +0
Mirki #programowanie od jakiegoś miesiąca uczę się od zera, traktuję to jako łamigłówki, jak gry logiczne.

Zrobiłem program który oblicza jaką max liczbę może przechować podana przez nas objętość w bitach.
Pytanie, czy użyte pętle da się zapisać jako funkcje?
Chodzi mi o to, żeby funkcja zawierała tylko warunek for(...) a wnętrze pętli było wpisywane jako parametr.
Chciałbym skrócić kod.

#include
#include
using namespace std;

long long potega( int y)
{
return pow(2,y);
}


int main()
{
int x;
long long suma;
cout << "Podaj liczbe bitow: " << endl;
cin>>x;
cout << endl;

long long tab[x];

for (int i=0;i<=x;i++)
{
tab[i]=potega(i);
}
cout << endl;
for (int i=0;i
h.....s 2022-11-24 20:36:29 +3
long long tab[x];

@kanarex: w C++ deklarowanie tablic ze zmiennej to błąd, dodaj do kompilatora flagę "-pedantic" szczególnie jak zaczynasz z C++, powinno wypluć coś takiego

warning: ISO C++ forbids variable length array ‘arr’ [-Wvla]
DanteMorius 2022-11-24 20:31:10 +2
@kanarex: taka maluteńka porada - nie używaj polskiego w kodzie - ja wiem, że to ćwiczenie, do szuflady itp. Ale im wcześniej zaczniesz wyrabiać sobie dobre nawyki tym lepiej ( ͡º ͜ʖ͡º)
Wyrewolwerowanyrewolwer 2022-11-24 20:28:50 +1
Pytanie, czy użyte pętle da się zapisać jako funkcje?

@kanarex: Jasne, że się da, ale nie idź w tę stronę jeszcze bo się mocno zagrzebiesz. Ogólnie to czego szukasz to
1. generyki
2. wskaźniki (wskaźniki funkcyjne zdaje się to w C++ nazywa, dawno nie używałem).
Wyrewolwerowanyrewolwer 2022-11-24 20:32:32 +1
@kanarex: Zamiast tego możesz pomyśleć o innym podejściu do problemu, na przykład tutaj podpowiem że możesz spróbować użyć przesunięcia bitowego.
W spoilerze masz odpowiedź, ale spróbuj sam do tego dojść:
kanarex [OP] 2022-11-24 20:33:09 +1
@Wyrewolwerowanyrewolwer: @DanteMorius: dziękować za rady :)
kanarex [OP] 2022-11-24 20:33:39 +0