Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže
… více »Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »
Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »
Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.
Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.
Vývojáři z Laboratoří CZ.NIC vydali nové verze aplikací Datovka (Datovka 4.29.0, Mobilní Datovka 2.6.2). V případě desktopové verze přibyly možnosti projít všechny uložené zprávy, zkontrolovat časy expirací časových razítek a přerazítkovat datové zprávy, které lze v ISDS přerazítkovat. Novinkou je také možnost vytahovat myší ze seznamu ZFO soubory datových zpráv, tento úkon jde udělat i pomocí tlačítek Ctrl+C. Nová verze Mobilní Datovky přináší jen drobné úpravy.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.28.0. Z novinek lze vypíchnout novou třídu machine.CAN.
Michael Meeks, CEO společnosti Collabora, na apríla oznámil, nebyl to ale apríl, že nadace The Document Foundation zastřešující vývoj kancelářského balíku LibreOffice vyloučila ze svých řad všechny zaměstnance a partnery společnosti Collabora, tj. více než třicet lidí, kteří po mnoho let přispívali do LibreOffice. Nadace The Document Foundation po několika dnech publikovala oficiální vyjádření. Přiznává pochybení při zakládání
… více »Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že v úterý 14. dubna (změna!!!) od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout
… více »Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.
Dobrý den poradil by někdo s následujícím úkolem? (programovani v C)
mam zadané:
int cislo1[10] int cislo1[10] int soucin[10] int soucet[10] int rozdil[10] int podil[10]
bude se to počítat přes ukazatele, udelat uvedéné aritmeticke operace s dvěma čísly (cislo1,cislo2) a nevím jak na to, nějaké rady?
Řešení dotazu:
Jak vypadá kompletní zadání? Takhle se dá jen hádat.
Asi iterovat v cyklu for (int i = 0; i < 10; i++) a dělat výpočty s cislo1[i] … a ukládat do soucin[i] …
Před tím potřebuješ zkontrolovat, že jsou všechna pole správně dlouhá…
Domnievam sa, že ide o použitie pointrovej matematiky k prístupu k prvokom poľa. V tom prípade:
1. Ak a je pole a i je index prvku v tom poli, tak platí, že prvok poľa a[i] je na adrese a+i.
2. Keď máš adresu p, tak to, čo je na tej adrese získaš cez *p.
Z toho vyplýva, že a[i] je to isté ako *(a+i). Analogicky a[3] je to isté ako *(a+3). A teda napr. a[5]+a[6] je to isté ako (*(a+5)+*(a+6)).
Uvedené informácie by mali stačiť na to, aby si úlohu vyriešil.
jako já za tebe ten domácák udělám ale ty zase musíš udělat muj domácák na pondělí na čédinu ;D
tady je muj domácák
Proveďte grafický rozbor zadaných vět (větného pavouka) 1. Vím, že vás zajímá cizí literatura a že se s ní snažíte seznámit české čtenáře, a proto vám doporučuji tuto zajímavou práci, která obsahuje příspěvky k otázkám překládání. 2. Časem se naučil pracovat tak úsporně, že si všechno dobře rozvrhl, a proto mu ještě zbyl čas k tomu, aby se podíval na představení, které v divadle právě hráli. 3. Protože němečtí vojáci přiváděli stále posily, postavili proti nim Pražané barikády a statečně se bránili, ač měli prázdné ruce.
tady je tvuj domácák
#include <stdio.h>
#include <stdlib.h>
#define DELKA_POLE 10
int main()
{
//hádám že je máš zadaný předem jako
int cislaA[DELKA_POLE]={-4,-3,-2,-1,0,1,2,3,4,5};
int cislaB[DELKA_POLE]={-4,-3,-2,-1,0,1,2,3,4,5};
int soucet[DELKA_POLE];
int soucin[DELKA_POLE];
int rozdil[DELKA_POLE];
int podil[DELKA_POLE];
unsigned int iterace;
//předpokládám že s čísílkama pracuješ v párech
//jinak bys tam jako musel vnořit ještě jeden cyklík aby to bylo každej s každým
for(iterace=0;iterace<DELKA_POLE;iterace++)
{
//tohlencto je to skoro to samý jako int A=cislaA[iterace]
int A=*(cislaA+iterace);
int B=*(cislaB+iterace);
//takhle zase schováme čísílko do ukazatele
//je to jakože to samý co soucet[iterace]=A+B
*(soucet+iterace)=A+B;
*(soucin+iterace)=A*B;
*(rozdil+iterace)=A-B;
//se tě určitě šišlavej jouda na výpočetku pokusí napálit dělením nuličkou a nuličkou dělit normálně nejde :'(
if(B!=0)
*(podil+iterace)=A/B;
else
{
printf("nulickou nejde delit ty kantore jeden hloupej pitomej!!!\n");
exit(EXIT_FAILURE);
}
//ještě to v tý samým cyklu mužeme vypisovat a koukat na to
printf("A = %d B = %d\n",A,B);
printf("soucet[%d] = %d\n",iterace,*(soucet+iterace));
printf("soucin[%d] = %d\n",iterace,*(soucin+iterace));
printf("rozdil[%d] = %d\n",iterace,*(rozdil+iterace));
printf("podil[%d] = %d\n\n",iterace,*(podil+iterace));
}
exit(EXIT_SUCCESS);
}
int cislo1[10] = { 1, 4, 2, 8, 5, 6, 6, 8, 9, 9 };
int cislo2[10] = { 1, 2, 2, 4, 5, 6, 3, 8, 9, 3 };
int soucin[10];
int soucet[10];
int rozdil[10];
int podil[10];
#include <stddef.h>
#include <stdio.h>
int main()
{
size_t i;
for (i = 0; i < sizeof cislo1 / sizeof *cislo1; ++i) {
i[soucet] = i[cislo1] + i[cislo2];
i[rozdil] = i[cislo1] - i[cislo2];
i[soucin] = i[cislo1] * i[cislo2];
i[podil] = i[cislo1] / i[cislo2];
printf("cislo1=%i cislo2=%i soucet=%i rozdil=%i soucin=%i podil=%i\n", i[cislo1], i[cislo2], i[soucet], i[rozdil], i[soucin], i[podil]);
}
return 0;
}
bude se to počítat přes ukazatele
bude se to počítat přes ukazatele
bude se to počítat přes ukazatele
bude se to počítat přes ukazatele
bude se to počítat přes ukazatele
The definition of the subscript operator [] is that E1[E2] is identical to (*(E1+(E2))) Because of the conversion rules that apply to the binary + operator. it E1 is an array object (equivalently. a pointer to the initial element of an array object) and E2 is an integer. E1[E2] designates the E2-th element of E1 (counting from zero).
si myslim že se po nás jako fakt chce pointrová aritmetička ;D
#include <stddef.h>
#include <stdio.h>
int cislo1[10] = { 1, 4, 2, 8, 5, 6, 6, 8, 9, 9 };
int cislo2[10] = { 1, 2, 2, 4, 5, 6, 3, 8, 9, 3 };
int soucin[10];
int soucet[10];
int rozdil[10];
int podil[10];
int main()
{
int *p_cislo1 = cislo1;
int *p_cislo2 = cislo2;
int *p_soucin = soucin;
int *p_soucet = soucet;
int *p_rozdil = rozdil;
int *p_podil = podil;
for (; p_cislo1 < cislo1 + 10; ++p_cislo1, ++p_cislo2, ++p_soucin, ++p_soucet, ++p_rozdil, ++p_podil) {
0[p_soucet] = 0[p_cislo1] + 0[p_cislo2];
0[p_rozdil] = 0[p_cislo1] - 0[p_cislo2];
0[p_soucin] = 0[p_cislo1] * 0[p_cislo2];
0[p_podil ] = 0[p_cislo1] / 0[p_cislo2];
printf("cislo1=%i cislo2=%i soucet=%i rozdil=%i soucin=%i podil=%i\n", 0[p_cislo1], 0[p_cislo2], 0[p_soucet], 0[p_rozdil], 0[p_soucin], 0[p_podil]);
}
return 0;
}
Ta věta končila otazníkem – těžko říct, jestli to byla jen tazatelova domněnka nebo zadání. Proto se tu lidi ptali na původní zadání úkolu.
si myslim že napsal misto teček čárky jak byl jako zamyšlenej. když si tam ty tečky přectavíš tak to bude jakože dávat smysl ;D
Ůůůfff. Podobně jako někteří předřečníci, i já cítím potřebu odcitovat ze zadání ještě jednou:
bude se to počítat přes ukazatele
Takže je mi fakt záhadou, proč se tu objevují "řešení", ve kterých se to hemží hranatými závorkami.
Pokud jde o úkol na pointerovou aritmetiku, je rozumné předpokládat, že se má použít přímo pointerová aritmetika, ne syntactic sugar s hranatými závorkami.
Tady je to bez hranatých závorek (s výjimkou deklarací, samozřejmě):
#include <stddef.h>
#include <stdio.h>
void vypiš_pole(const char *const název,
const int *const začátek, const size_t velikost) {
printf("%s: {", název);
const int *const konec = začátek + velikost;
const int *u = začátek;
if (u < konec) {
printf("%d", *u);
for (++u; u < konec; ++u) { printf(", %d", *u); }
}
puts("}");
}
int main() {
const int číslo1[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
const int číslo2[10] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
int součin[10];
int součet[10];
int rozdíl[10];
int podíl[10];
int *součin_ukazatel = součin;
int *součet_ukazatel = součet;
int *rozdíl_ukazatel = rozdíl;
int *podíl_ukazatel = podíl;
const int *const číslo1_konec = číslo1 + sizeof(číslo1) / sizeof(int);
for (const int *číslo1_ukazatel = číslo1, *číslo2_ukazatel = číslo2;
číslo1_ukazatel < číslo1_konec;
++číslo1_ukazatel, ++číslo2_ukazatel) {
*součin_ukazatel++ = *číslo1_ukazatel * *číslo2_ukazatel;
*součet_ukazatel++ = *číslo1_ukazatel + *číslo2_ukazatel;
*rozdíl_ukazatel++ = *číslo1_ukazatel - *číslo2_ukazatel;
*podíl_ukazatel++ = *číslo1_ukazatel / *číslo2_ukazatel;
}
vypiš_pole("číslo1", číslo1, sizeof(číslo1) / sizeof(int));
vypiš_pole("číslo2", číslo2, sizeof(číslo2) / sizeof(int));
vypiš_pole("součin", součin, sizeof(součin) / sizeof(int));
vypiš_pole("součet", součet, sizeof(součet) / sizeof(int));
vypiš_pole("rozdíl", rozdíl, sizeof(rozdíl) / sizeof(int));
vypiš_pole("podíl", podíl, sizeof(podíl) / sizeof(int));
}
(Mimochodem, kdyby se to náhodou někomu (zase, tradičně, klasicky) nedařilo přeložit kvůli UCN, může si
(a) nainstalovat překladač hodný 21. století, který UCN zvládne (příklad: clang),
(b) přejmenovat identifikátory do angličtiny, která nevyžaduje diakritiku, nebo
(c) políbit prdel.)
součin_ukazatel.
Jestli ho dereferencujete pomocí operátoru * nebo pomocí pomocí syntactic sugar s hranatými závorkami je úplně jedno.
c je správně :D :D
uplně blbě jako!!!!!!! >:C >:C >:C
odkud se ty čísla maj jako načítat?? mají se nějak zadat jako argument toho programu při spuštění nebo ze standatrního vstupu?? to dělení je celošíselný nebo z tou jakože plovoucí čárkou?? je fakt těch čícel co se má zadat deset?? musíš nám o tom zadání říct jako víc tohleto je fakt jako vaření z vody :'(
upravila jsem svuj předchozí zdrojáček
#include <stdio.h>
#include <stdlib.h>
//TODO:fakt jich má bejt deset?? nemá se nás to nejdřiv zeptat kolik jich tam chceme strčit??
#define DELKA_POLE 10
int main()
{
int cislaA[DELKA_POLE];
int cislaB[DELKA_POLE];
int soucet[DELKA_POLE];
int soucin[DELKA_POLE];
int rozdil[DELKA_POLE];
int podil[DELKA_POLE];//TODO:má to bejt celočíselný dělení nebo ne?? vtom tvým výsřižku je double
unsigned int iterace;
//nejdřiv si naplníme ty políčka čísílkama ze standartního vstupu
//to jako znamená že si to pustíš v terminálku a bude to po tobě chtít
//ty čísílka zadávat
for(iterace=0;iterace<DELKA_POLE;iterace++)
{
printf("zadej %d. cislo A: ",iterace+1);
scanf("%d",(cislaA+iterace));
printf("zadej %d. cislo B: ",iterace+1);
scanf("%d",(cislaB+iterace));
}
//předpokládám že s čísílkama pracuješ v párech
//jinak bys tam jako musel vnořit ještě jeden cyklík aby to bylo každej s každým
for(iterace=0;iterace<DELKA_POLE;iterace++)
{
//tohlencto je to skoro to samý jako int A=cislaA[iterace]
int A=*(cislaA+iterace);
int B=*(cislaB+iterace);
//takhle zase schováme čísílko do ukazatele
//je to jakože to samý co soucet[iterace]=A+B
*(soucet+iterace)=A+B;
*(soucin+iterace)=A*B;
*(rozdil+iterace)=A-B;
//se tě určitě šišlavej jouda na výpočetku pokusí napálit dělením nuličkou a nuličkou dělit normálně nejde :'(
if(B!=0)
*(podil+iterace)=A/B;
else
{
printf("nulickou nejde delit ty kantore jeden hloupej pitomej!!!\n");
exit(EXIT_FAILURE);
}
//ještě to v tý samým cyklu mužeme vypisovat a koukat na to
printf("A = %d B = %d\n",A,B);
printf("soucet[%d] = %d\n",iterace,*(soucet+iterace));
printf("soucin[%d] = %d\n",iterace,*(soucin+iterace));
printf("rozdil[%d] = %d\n",iterace,*(rozdil+iterace));
printf("podil[%d] = %d\n\n",iterace,*(podil+iterace));
}
exit(EXIT_SUCCESS);
}
int i; int pole[10]; long int sum; int *p; sum=0; p=pole; for(i=0; i<10; i++, p++) sum+=*p;
nevim je to tak 50:50 si myslim ;D
neregistrovanej dooyer je určo trol ale nemusí to jako bejt původní tazatel ;D
jako že to tady je zatrolený by věděl jenom pravidelnej náštěvník abclinuxu a žádnej pravidelnej náštěvník abclinuxu by neměl s domácákem z cčka problém. si teda jako aspoň myslim že to tak je ;D
jóóóóóóóóóóó domácák z čédiny to je uplně něco jinýho. už ho máš udělanej?? sem si ho teda už dávno včera obšlehla o přestávce před čédinou ale stejně ho chci ještě jednou udělat vod tebe. kšeft je kšeft ;D
a žádnej pravidelnej náštěvník abclinuxu by neměl s domácákem z cčka problém. si teda jako aspoň myslim že to tak jeNení, prudím tady od 2007, a uvedený úkol bych zvládl až někdy od 2014.
ti ale cčkovej domácák nikdo taky nezadal ne?? si ale myslim že kdybys to tenkrát jako musel udělat tak bys to prostě udělal ;D
já tomu tvýmu taky nerozuměla a pokusila sem se jako :D :D
V ob_lném pol_ u b_lé v_l_ v_lné v_l_ chv_l_ b_l_ z ob_l_ v_nk_ v_l_ a churav_ ps_ na ně z v_l_ kv_l_vě v_l_, jako b_ je v_l_ v té chv_l_ b_val_ b_l_ b_l_.A konečně jsem měl čas trochu si pohrát a ke zde uvedeným špatným řešením přidat svoje, také špatné
#include <stdio.h>
#include <limits.h>
#define N (10)
int i, cislo1[N]={0}, cislo2[N]={0}, soucet[N], rozdil[N], soucin[N], podil[N];
int main(void)
{
printf("Zadej první sadu: ");
for (i=0; i<N; ++i) scanf("%d", cislo1+i);
printf("Zadej druhou sadu: ");
for (i=0; i<N; ++i) scanf("%d", cislo2+i);
for (i=0;i<N;++i)
*(soucet+i) = *(cislo1+i) + *(cislo2+i),
*(rozdil+i) = *(cislo1+i) - *(cislo2+i),
*(soucin+i) = *(cislo1+i) * *(cislo2+i),
*(podil+i) = *(cislo2+i)? *(cislo1+i) / *(cislo2+i): INT_MAX;
printf("\nsoucet\trozdil\tsoucin\tpodil\n");
for (i=0; i<N; ++i) printf("%d\t%d\t%d\t%d\n", soucet[i], rozdil[i], soucin[i], podil[i]);
return 0;
}
brnkačka jako :D :D
V obilném poli u bělé volá volné vole chvělo bylo z obělu venku válí a churavě psa na ně z vole kválově válo, jako by je vole v té chvále bývalo bylo bilo.
#include <stdio.h>
enum {N = 10};
void input(int n, int *n1, int *n2)
{
while (n-- > 0)
scanf("%d%d", n1++, n2++);
}
void calc(int n, int *n1, int *n2,
int *a, int *s, int *m, int *d) {
while (n-- > 0) {
*a++ = *n1 + *n2;
*s++ = *n1 - *n2;
*m++ = *n1 * *n2;
*d++ = *n1++ / *n2++;
}
}
void print(int n, int *n1, int *n2,
int *a, int *s, int *m, int *d) {
while (n-- > 0) {
printf("%d + %d = %d\n", *n1, *n2, *a++);
printf("%d - %d = %d\n", *n1, *n2, *s++);
printf("%d * %d = %d\n", *n1, *n2, *m++);
printf("%d / %d = %d\n\n", *n1++, *n2++, *d++);
}
}
int main()
{
int cislo1[N];
int cislo2[N];
int soucet[N];
int rozdil[N];
int soucin[N];
int podil[N];
input(N, cislo1, cislo2);
calc(N, cislo1, cislo2, soucet,
rozdil, soucin, podil);
print(N, cislo1, cislo2, soucet,
rozdil, soucin, podil);
return 0;
}
Tiskni
Sdílej: