Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.
Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.
Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování
… více »Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.
Americký prezident Donald Trump se v pondělí osobně setkal s generálním ředitelem firmy na výrobu čipů Intel Lip-Bu Tanem. Šéfa podniku označil za úspěšného, informují agentury. Ještě před týdnem ho přitom ostře kritizoval a požadoval jeho okamžitý odchod. Akcie Intelu v reakci na schůzku po oficiálním uzavření trhu zpevnily asi o tři procenta.
Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.
V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.
Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.
WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.
Řešení dotazu:
nakopnuti:
bud nahodny vyber z pole/monziny, kde pocet vyskytu nejakeho prvku je umerny vaze prvku
nebo udelat nejakou prevodni funkci
int prvky[N],vahy[N]; int rnd2index(int rnd) { int i,tmp = 0; for(i=0;i<N;i++) if((tmp+=vahy[i])>=rnd) break; return i; }
rnd
je generovano od 0
do suma(vahy)
vlastne od 1
do suma(vahy)
nebo nahradit >=
za >
a pak od 0
do suma(vahy)-1
hm je tam chyba ...
oprava:
int prvky[N],vahy[N]; int rnd2index(int rnd) { int i,tmp = 0; for(i=0;i<N;i++) { tmp+=vahy[i]; if(tmp>rnd) break; } return i; }
no myslel jsem to nejak takhle:
#include <stdio.h> #include <stdlib.h> #include <time.h> int suma(int j, int* p) { int i=0,tmp=0; for(;i<j;i++) tmp += *(p+i); return tmp; } int weightedrnd(int j, int* values, int* weights) { int i=0,tmp=0,sum=suma(j, weights),rnd=rand(); for(;i<j;i++) { tmp += weights[i]; if(tmp>rnd%sum) break; } return *(values+i); } int main(int argc, char** argv) { int i,*v,*w; if (argc<=2 || !argc%2) return -1; int n = argc/2-1; v = (int*) malloc(sizeof(int)*n); w = (int*) malloc(sizeof(int)*n); for(i=0;i<n;i++) { v[i] = atoi(argv[i*2+2]); w[i] = atoi(argv[i*2+3]); if (w[i]<=0) { free(v); free(w); return -2; } } /*for(i=0;i<n;i++) printf ("v:%d w:%d\n", v[i], w[i]);*/ srand(time(NULL)); for(i=0;i<atoi(argv[1]);i++) printf ("%d ", weightedrnd(n,v,w)); free(v); free(w); return 0; }
Tiskni
Sdílej: