Ahoj, potřebuji poradit: k jedné seminárce potřebuji seznam čísel v rozmezí 0 až 9999, celkem by jich mělo být 1000. jako seznam, seřazeny náhodně. Je na to nějaký algoritmus? Nedaří se mi nic najít.
Příspěvky odeslané z IP adresy 90.183.36.–
Snažím se pochopit pointery a na netu jsem našel tenhle kód:
Sice mi to funguje, má to počítat jakýsi integral, takže když zadám 3 čísla, vyhodí to výsledek, ale nechápu, jak to funguje.
Může mi to někdo vysvětlit?
double simpson(double x){
return 3*x*x-2*x+0.2;}
double funkce(double(*f)(double), double a, double b, int N){
double X=0,h=(b-a)/(double)N;
for(int i=1;i<=N;i++)
X+=h*(f(a+(i-1)*h)+4*f(a-h/2.0+i*h)+f(a+i*h))/6.0;
return X;}
int main(){
using namespace std;
cout << "Vypocet: ";
double a,b,n,integral;
cout << "Zadej a: ";
cin >> a;
cout << "Zadej b: ";
cin >> b;
cout << "Zadej n: ";
cin >> n;
integral = funkce(simpson,a,b,n);
return 0;}
int i(int u)
{
int L=0;
while ((u/=10)!=0)
{
L++;
}
return L+1;
}
mohl by mi někdo vysvětlit, co dělá tahle podmínka? zvláště rozdíl mezi L++ a return L+1? Díky.
A taky, co je u/=10 != 0 - proč to musí být v programu zrovna takhle? když dám jinou podmínku, např. u/=10 > 0 && u/=10 < 0, tak to nefunguje a program se zacyklí. Stejně jako když dám místo 10 jiné číslo
Můžete mi někdo vysvětlit, co znamená v kódu c++ např. "%c"?
např.
# int main()
# {
# int cislo, cifra;
# scanf("%d", &cislo); /* Načtení čísla */
# if (cislo < 0)
# cislo = cislo*(-1);
#
# do {
# cifra = cislo %10; /* Zbytek po dělení 10 */
# printf("%d", cifra); /* Výpis zbytku */
# cislo = cislo / 10; /* Celočíselné dělení 10 */
# } while (cislo > 0);
# return 0;
# }