- Milyen monitort vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Házimozi belépő szinten
- Melyik tápegységet vegyem?
- Milyen notebookot vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Bluetooth hangszórók
- Sony MILC fényképezőgépcsalád
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
-
PROHARDVER!
Új hozzászólás Aktív témák
-
pmonitor
aktív tag
válasz
Marky18 #20196 üzenetére
Végülis a memóriakezelés lényegét össze lehet foglalni asm ismeret nélkül is.
Egy osztály úgy épül fel, hogy a referencia a típus azonosítóra mutat(érték típusoknál nem). Ezután jönnek a típus esetleges jellemzői(ha van). Érték típus esetén ilyen sincs. Majd jön maga a típus.
De így kb. csak olyan tudja összedfoglalni, aki előtte asm-ben debuggolt. Vagy valahol olvasta(mint pl. az én leírásomban).
Végül is ez a lényege a memóriában tárolt adattípusoknak. -
-
pmonitor
aktív tag
válasz
galaxy55 #20194 üzenetére
Nyilván nem C#. De a C# fejlesztőkörnyezetének 1 menüpontjáról beszélünk. Ha vki. ismeri az asm alapokat, akkor meg tudja ismerni a C# memória kezelését. És nem ír olyan blődségeket, hogy pl. 1 int-nek a szülője 1 osztály. Igazából ez jól jönne, amíg az emberke tanul. Hogy tudja, kb. hogy a C# hogy építi fel a memóriát. Sztem. ez csak előnyére válik vkinek.
-
pmonitor
aktív tag
Hogy mi köze van? A VS-ben ha egy metódusba teszel 1 breakpoint-ot, és debug módban futtatod, akkor a debug -> window -> disassembly menüponttal megjelenik az asm kód, vmint a regiszterek/memória tartalmát is meg tudod nézni. Na hogy ebben eligazodjál, ahhoz alap asm ismeret szükséges. Vagy szted. csak dísznek van ott az a "disassembly" menüpont? Mert sztem nem.
A C alapok meg ahhoz szükségesek, hogy pl. az unsafe kódot tudd használni. Szted. ez is dísznek van? De C-ben tudsz natív .dll-t is írni.
Most így made in hirtelen ezek jutottak eszembe. -
nyunyu
félisten
válasz
pmonitor #20189 üzenetére
Nem teljesen értem, hogy miért akarnál egy magas szintű nyelvről szóló könyvtől gépi kód oktatást várni.
C# az gyakorlatilag egy modernizált C++, amit a Java konkurensének szántak.
Könnyen, gyorsan, biztonságosan fejlesszünk benne alkalmazásokat a lényege, nem az, hogy teljesítmény legyen, mint az alacsony szintű nyelveknél (ASM, valamelyest a C) -
pmonitor
aktív tag
-
pmonitor
aktív tag
Én a magyar változatot olvastam.
Egész jó könyv.
-
VikMorroHun
őstag
válasz
VikMorroHun #20185 üzenetére
Ok, rájöttem. A
SelectedVersion
-t kell figyelni. -
VikMorroHun
őstag
A következő problémába futottam:
try
{
if (SelectedVersion!.Version == null)
return;
}
catch (Exception ex)
{
Log($"Error! {ex.Message}");
}Ez így nem működik, mert a
SelectedVersion!.Version
null reference exceptiont dob (hiszen üres). Épp azt akarom elérni, hogy ha üres, akkor kilépjen, ne is próbáljon tovább menni. Miért nem jó? (Try-Catch nélkül is ugyanez volt.) -
coco2
őstag
C#-ről ismerek egész jó átfogó könyvet, mint pld ezt. Java-ról van hasonló átfogó könyv?
Olyasmi kellene, amit valaki olvasott saját maga, és tudja róla, hogy elég jó a könyv alapműnek nevezni.
-
coco2
őstag
válasz
nyunyu #20179 üzenetére
A probléma azzal az lesz, hogy a kódlapok egy hátrahagyott koncepció, míg az utf a mindenhol feltételezett alap. Ahol és ami még nem utf, azt jobb lenne konvertálni. Különben ezerszer fog visszaköszönni ugyan az a probléma.
A windows-ban van egy kapcsoló utf támogatást adni. Be kellene kapcsolni azt is.
@Zola007:
Edit: A fat32 file rendszer utf16-ot használ, az ntfs nem biztos
Viszont a hatásos kimenetet az az utf kapcsoló szabályozza a windows beállításaiban.
-
nyunyu
félisten
válasz
Zola007 #20178 üzenetére
Miért akarnád a Windows beállításokat piszkálni?
Egyszerűbb a notepadban mentés máskéntet nyomni, aztán alul Kódolás legördülőben kiválasztani az ANSIt.
Akkor egy bájton menti a magyar ékezetes karaktereket, nem kettőn, mint az UTF8-nál, így minden nem UTF8-at használó rendszerben ugyanúgy fog működni, nem fog szétesni a string.De nem szeretem, ha figyelmetlen kollégák szkriptjei által elrontott DB kommenteket, meg ügyfélszolgálatnak szánt figyelmeztetéseket kell utólag olvashatóvá tennem a DBben
-
nyunyu
félisten
1252 a nyugat európai kódlap, amiben nincs ő/ű.
1251 a cirill betűs (orosz, szerb, stb.)
1250 a kelet európai.(DOS alatt a 850 volt a nyugat, 852 a kelet európai.)
Ha notepadban ANSI kódolással mentem magyar Win alatt a futtatandó SQL szkriptjeimet, akkor az ó/ű helyesen megy be a Win1250-re állított Oracle DBbe.
Ha default UTF8-on felejtem, akkor pont úgy néznek ki az ékezetek, ahogy a példádban. -
nyunyu
félisten
válasz
Zola007 #20174 üzenetére
Be kéne állítani, hogy a Win kódlapnak megfelelően kezelje az ékezetes stringeket UTF akármi helyett.
Ha jól értelmezem a leírtakat, akkor 'ansi' a Windows mindenkori területi beállításainak megfelelő kódlap. (magyar -> win1250?)
-
Zola007
veterán
válasz
sztanozs #20171 üzenetére
nem kell teljes egyezés, elég részleges, mert különböző hosszúak
pl. Ford Fiesta, Opel Astra 2 vagy Citroen Berl
csak példa volt a 12Marky18: köszönöm, megoldottam
$FilesToMove = 'D:\autok'
$TargetPath = 'D:\autok'
$Files = Get-ChildItem -Path $FilesToMove -File
foreach ($File in $Files) {
$PathToMove = Get-ChildItem -Path $TargetPath -Directory -Filter "$(($File.Basename).Substring(0,12))*" | Select-Object -First 1
Write-Output "Moving File $File to $PathToMove"
Move-Item -Path $File.FullName -Destination "$($PathToMove.Fullname)\$($File.Name)"
}
-
Zola007
veterán
batch/Powershell útján szeretnék kötegelten fájlokat áthelyezni könyvtárakba, amelyeknél a könyvtárnév egy része(pl. első 12 karaktere) megegyezik a fájl első 12 karakterével.
pl.
Ford Fiesta 2003 valami.pdf
Ford Fiesta 2003 masvalami.pdf
Ford Fiesta 2003 harmadik.pdf
Opel Astra 2008 valami.pdf
Opel Astra 2008 masvalami.pdfaz alábbi mappákba
- Ford Fiesta 2003
- Opel Asta 2008 -
pmonitor
aktív tag
válasz
nyunyu #20168 üzenetére
Mivel ez itt off topic, ezért itt reflektáltam rá.
-
nyunyu
félisten
válasz
pmonitor #20136 üzenetére
De pl az önkiszolgáló kasszák esetén sem értem, hogy miért nem jutott senkinek az eszébe az, hogy legkésőbb a nyugta nyomtatása előtt árucikkenként összesítenék a darabszámot. Csak ezzel mennyi papírt meg lehetne takarítani országosan? Hozzáteszem, hogy ezt nem csak az önkiszolgáló kasszákra, hanem a hagyományos pénztárakra is lehetne alkalmazni. Összefutottam olyan pénztárossal is, aki 14 darab táblás csokit egyesével csippantott le(úgy, hogy én 2 x 7 - es sorba készítettem elő neki). Na, aaz ilyeneket is kiszűrhetné a program. Azért nem mind1, hogy 14 sorba nyomtatja ki a gép, vagy max. 2 sorban.
Ennek nagyon egyszerű oka van: pénztárgép és taxaméter rendelet.
Ez kellően szőrszálhasogató módon specifikálja egy pénztárgép minden műszaki, funkcionális aspektusát, nyugta, számla tartalmát, kinézetét.
Alapvetés: ami egyszer bekerül az adóügyi egység memóriájába, az utólag már nem módosítható, maximum stornózni tudod, de az új tétel, ellentétes árral
Alapvetés2: nyomtatót, vevőkijelzőt az adóügyi egység vezérli, nem kötheted direktben a számítógépre, pláne nem vezérelheted a saját fejed szerint.Nem tudom most milyen adóügyi egységet használnak az áruházak, mivel utoljára 15 éve foglalkoztam ezzel.
Mi anno a BBOX Pocok4 aztán Pocok8 modulját illesztettük az éttermi szoftverünkhöz. (Auchan akkoriban még az eJournal nélküli, 2 példányos mátrixnyomtatós Pocok2-t használta)Ez nagyon leegyszerűsítve úgy működött, hogy soros porton etetted parancsokkal:
- nyugta nyitás: új nyugta generálása, ekkor kinyomtatta a nyugta fejlécet a kötelező elemekkel (bolt neve, telephely címe, cégnév, cég székhelye, dátum, nyugta szám...)
- új tétel: megadtad a tétel nevét, darabszámát, mennyiségi egységét, egységárát, ÁFA kulcsát (A-E) ekkor letárolta a zárolt memóriába és kinyomtatott egy sort.
- ha rontottad, akkor tétel stornót kellett küldeni negatív árral, ez új tételként jelent meg a memóriában, és ismét kinyomtatott egy sort.
- ha végeztél, akkor nyugta zárás parancs, itt megadtad a fizetésmódot (KP, bankkártya, utalvány... Milyen címlet), ekkor összeszámolta az ÁFA kulcsonkénti részösszegeket, végösszeget, visszajárót és a nyugta lábléccel együtt kinyomtatta, valamint lezárta a memóriában a nyitott nyugta rekordot.De ez még az online pénztárgép című őrület 2012-es bevezetése előtt volt, de gondolom a mostani műszaki követelmények is hasonló működési módot írnak le, csak a sallangok változtak. (Pl. nem kell éves zárást nyomtatni, és papíron vagy az éves eJournalt pénztárgép szervizzel CDre kiíratva leadni a NAVnak, hanem az online cucc úgyis lejelenti nyugtánként, legkésőbb a napi zárásnál az integrált mobilneret használva
Vagy 2005-ben még csak 5000 napnyi/műszaknyi nyugtát kellett tudnia eltárolnia egy adóügyi egységnek, 2009 körül ezt 10000-re duplázták, mostani online verzió már 20000 napnyi memóriát követel, közben meg 3-5 évente kidobatják a hardvert új jogszabályi követelmények miatt
Pl. 2006-ban levizsgázott Pocok4-es rendszerünk 2009-ben már nem kapott engedély hosszabbítást, mert "kevés volt a memóriája", cserélhettük mindent Pocok8-ra.
5 év alatt, ha napi 3x van műszak váltás a 24/7-ben működő bolt/benzinkút pénztáránál, az 5x365x3=5475 napzárás.
Átlag sarki boltban évente 300-365 napot zárnak, simán elketyegne 8-10 évig is egy 5000 napos adómemória, mielőtt cserélni kéne benne az epoxival kiöntött EPROMot, de akkor sem a komplett vezérlő egységet...)Eredeti kérdésedre visszatérve:
Program valószínűleg azt csinálja, hogy vonalkód lehúzásnál automatikusan küldi a vonalkódhoz rendelt terméknevet, mennyiséget (1db), egységárat, ÁFAkulcsot új tételként az AEE-nek, aminek nincs mérlegelési lehetősége, új sorban nyomtatja.Másik megoldás az lenne, hogy a pénztáros kiválasztja a terméket, megnyomja a mennyiség gombot, tapiképernyőn bepötyögi/mérleggel leméreti a mennyiséget, aztán enterrel zárja, és ekkor kerülne át a termék neve, ára, pontos mennyissége, egységára, ÁFA kulcsa az AEE-be.
(Pékárú vagy a gyümölcs így működik az önkiszolgáló kasszáknál, amikor rádobod a 3 almát a mérlegre, aztán kiválasztod, hogy jonatán.)De sokkal gyorsabb 7 csokit egyesével áthúzni a vonalkódolvasón, mint a mennyiség gombbal babrálni az érintőképernyőn, meg nem kell a pénztárosnak ide-oda fordulnia közben.
Aldi/Lidl kaliberű cégeknél meg komolyan mérik a pénztárosok gyorsaságát, hány vásárlót szolgálnak ki óránként.
Így náluk fel sem merül, hogy ezzel nyugtánként 3-5-10 centi papírt pazarolnak, lényeg az, hogy hárommal több vásárlót préseljenek át a pénztáron óránként, annyival kevesebb pénztárost kell fizetni.
(Már rég nem néztem, mennyi most egy pénztárgépekbe való 80mmx80m-es hőpapír. 500Ft/guriga? az 500/80 = 6,25Ft/méter.
Nyugtánként 10 centi papír felesleg az 62,5 fillér.) -
coco2
őstag
Documentation-First Development
A dátum szerint kb 1 éves blog. Vajon milyen sebességgel fog sikerülni a mai világban újrafeltalálni a spanyolviaszt?
-
PeterUr
csendes tag
Kérdés Google "office" programozásról valamilyen pdf vagy nyomtatott könyv létezik? Tudom van sugó és egész jó de ruhellem hogy olyan doksi nincs amit feltudok ütni ha kell
-
hiperFizikus
senior tag
egy új rokon topik nyílt : #3
-
coco2
őstag
Webshop témát néztem, és találtam például ezt a godaddy oldalt. A "nagy" webshop-ra írja, hogy havi üzemeltetési költség 11-22 font. Egy kicsit pislogok. Sajnos nem találtam arról adatot, hogy egy "nagy"-nak nevezett webshop esetében havi hány látogatót feltételeznek?
-
pmonitor
aktív tag
válasz
VikMorroHun #20157 üzenetére
Ide mehetnek az ebben a topic-ban off-nak számító dolgok/rizsázás/stb...
-
axioma
veterán
Nyilvan, ha szukseges... itt szukseges? Es megforditva, ha valahol szukseges, biztos hogy asm a megoldas nyelve?
Ertelemszeruen megoldhato, de azt ismerd el, hogy egy sortedlist-tel me'g code complexity hatranytol eltekintve, az adott mennyisegu adatnal (exhas: millioig) varhatoan lassabb lenne az eredmeny, mint egy "buta" buborekkal.
Amugy ha n*log(n) kell, akkor inkabb 2 heap-be epitve a szamokat (direkt mean calc-hoz egy max egy min) megoldast valasztanam, az kezelheto legjobban asm-ben sima tombokben. De nem biztos, hogy jobb mint mashonnan lemasolni egy quicksort-ot keszen (production-ben tuti nem irnam meg a szep heap-est a reuse helyett, ha nincs tobb hasznalat).
@VikMorroHun: alapvetoen igazad van, csak az asm eleg retegtema, azert hagyom igy en is. -
VikMorroHun
őstag
Szerintem az önkiszolgáló kasszáknál beragadt az offtopic gomb.
-
kovisoft
őstag
válasz
pmonitor #20154 üzenetére
Az asm program az inputot kapja mondjuk az stdin-ről. Ez lehet a user által éppen begépelt adat, de lehet egy file-ba már előzetesen beírt adat is, aminek a tartalma pipe-olva van az asm program stdin-jébe. Tehát ezen logika alapján az első esetben nem rendezést végez az asm program, hiszen az adat még nem létezik a program indulásakor. A második esetben viszont rendezést végez, hiszen a rendezendő adat már létezik egy file-ban a diszken. Érdekes megközelítés lenne, főleg, hogy amúgy mindkét esetben maga a program ugyanazt csinálja.
-
pmonitor
aktív tag
válasz
kovisoft #20152 üzenetére
akkora fájlt kell rendezni, ami nem is fér el egyszerre a memóriában
Ott meg a fájl mérete konstans sztem. Végül a példádban is azt kell rendezni, nem a memóriában lévő dolgot. Tehát a file mérete attól még ismert(az az idő előre haladtával sem változik) hogy részenként olvasod be. De felőlem aztán nevezhetitek rendezésnek. Én nem annak tartom.
axioma: végülis asm-ben is magas szintű struktúrákat valósítasz meg. Csak valszeg. csökkentett funkciókkal, meg gyorsabban.
-
axioma
veterán
-
kovisoft
őstag
válasz
pmonitor #20150 üzenetére
Természetesen ez is rendezés, mégpedig beszúrásos rendezés. Nincs olyan definíció, hogy egy rendezésnél a rendezendő lista vagy tömb teljesen ott kell legyen a memóriában, mielőtt elindulna a rendezési folyamat. Ellenkező esetben pl. nem beszélhetnénk rendezésről olyan esetben, amikor akkora fájlt kell rendezni, ami nem is fér el egyszerre a memóriában, azaz csak részenként, több menetben hajtható végre.
-
pmonitor
aktív tag
válasz
axioma #20149 üzenetére
Sztem. ez nem sorba rendezési algoritmus. Mégpedig azért nem, mert mindig növekszik a tömb hasznos hossza. Rendezési algoritmusoknál a tömb hossza mindig konstans. Legalábbis én még nem láttam olyan rendező algoritmust, ahol a tömb mérete növekszik(vagy csökken). Ha nem érdekes a sebesség, akkor ez is jó.
-
axioma
veterán
válasz
pmonitor #20148 üzenetére
Es az mi ha nem sorbarendezes? Attol h menet kozben csinalod, pont ugyanaz az ido- es kodolasi igeny [kiveve olyan nyelvekben, ahol a kesz tombre meghivod a sort-ot, ott rosszabb.]
Raadasul megint az inputtal foglalkozol, a megoldasresz ettol nem lesz ujrafelhasznalhato, nem eleg altalanos.
Ha a gyakorisagos megoldast mondtad volna, az otletes, es idohatekony [tarhelyben viszont mas, nagy konstans a linearis helyett]. Me'g az is lehet, h asm-ben kevesebb kod, es az egymasba agyazott ciklus kihagyasaval kovethetobb is. Persze az is csak 'jo' inputtipusokra fog mukodni - de legalabb valami elonyert cserebe.
Ez is, marmint a megoldas altalanossaga egy olyan tetel, ami miatt szoftverfejleszto es kodgyarto kozott kulonbseg van. Big picture kell, egy hazinal is, abbol alakul majd a modul/projektszintu, stb. -
pmonitor
aktív tag
válasz
axioma #20147 üzenetére
Nem erre gondoltam. Ha nekem lenne házim, akkor a tömb feltöltésekor, a következő adat hozzáadásakor már sorba lenne. Gyakorlatilag egy 1 nagyon 1szerű SortedList-et valósítanék meg 1D tömbre. És egyrészt így 1szerre csak 1 ciklus megy, másrészt meg talán díjazná a prof, hogy használtam a szürkeállományom.
Voy15: Bár költői kérdésként írtad, de azért válaszolok rá. Azok a linkek egyrészt nem kitörölt/moderált posztok. Másrészt, ha valaki valamit ír, az vagy vállalja fel, amit írt, vagy módosítsa a véleményét. Harmadrészt általában az ilyen posztjaim nyom nélkül törlik is.
-
axioma
veterán
válasz
pmonitor #20143 üzenetére
Most oszinten, szerinted ebben a haziban az 1..1000 a kulcs, vagy az csak tesztadat, a lenyeg az altalanosan mukodo algo? Igen, gyakorisag-tablaval gyorsabb, de az ritka esetben [viszonylag alacsony darabszamu es elore ismert ertekkeszlet] hasznalhato. Erdekessegkepp meg lehet azt is irni, de en valoszinutlennek tartom, hogy arra gondolt a kolto [tanar].
Kieg. a pivot = 500-zal is lehetne trukkozni, de egyreszt azt az algot kodolni/atlatni nehez, es nincs erdemi oktato jellege. -
pmonitor
aktív tag
-
pmonitor
aktív tag
válasz
axioma #20138 üzenetére
Azért van 1-2 rendezési algoritmus.
-
axioma
veterán
válasz
Sceemz #20137 üzenetére
Amennyire atlatom, a medianszamitas egyetlen problemaja hogy _rendezett_ tombon kene vegrehajtani. Felteszem nincs nagy sebessegigeny, buborekot csinalj rajta elotte.
[Amugy azt az elagazast hogy ps vagy pt meguszhatod: add ossze az N//2 es az (N-1-(N//2)) elemet es annak a fele a median -> az egyiknel 2x osszeadod onmagat, na bumm] -
Sceemz
újonc
Sziasztok!
A segítségeteket szeretném kérni, jelenleg egy programot írok Visual Studioban (x86 assembly). A program lényege, hogy:"Készítsen programot, ami a felhasználó által megadott elemszámú, véletlen számokkal feltöltött tömbben, megadja a következő statisztikai eredményeket: átlag, medián, szórás. Az eredményeket írja ki a képernyőre. Az elemszám megadását billentyűzetről kell bekérni."
Jelenleg a kódom nagy része már kész van és az átlag, szórás számítás tökéletesen működik, visszont a medián számítás részére nem találok megoldást, ha esetleg valaki tudna benne segíteni azt nagyon meg köszöném.
//A változók létrehozása
int N, temp;
int a;
const char* hun = "Hun";
//Setlocale
_asm
{
mov temp, esp;
//setlocale(LC_ALL, "Hun");
//"Hun" -> LC_ALL
push hun;
push LC_ALL;
call dword ptr setlocale;
mov esp, temp;
}
//Véletlen szám véletlenítése
_asm
{
mov temp, esp;
push 0;
call dword ptr time;
push eax;
call dword ptr srand;
mov esp, temp;
}
//N bekérése
const char* be_N = "Kérem adja meg a tömb elemszámát: ";
const char* intformat = "%d";
_asm
{
mov temp, esp;
rossz_N:
push be_N;
call printf;
lea eax, N;
push eax;
push intformat;
call scanf;
//N vizsgálata, hogy pozítiv-e
cmp N, 0;
jle rossz_N;
mov esp, temp;
}
// Az N elemű tömb létrehozása és feltöltése véletlen számokkal
int* A = new int[N];
//ESP mentő változó
int saveESP;
_asm
{
mov saveESP, ESP;
}
//Ciklus a feltöltéshez
_asm
{
mov esi, 0;
ciklus_feltölt:
call rand; //eax->be elteszi a rand() értékét
mov edx, 0;
mov ecx, 1000; // a legnagyobb kigenerált szám 1000 lehet
div ecx;
add edx, 1; // a legkisebb kigenerált szám az 1 lehet
mov a, edx;
mov eax, esi;
mov ebx, 4;
mul ebx;
mov ebx, eax;
mov edx, ebx;
mov ecx, dword ptr A;
add ebx, ecx;
mov eax, a;
mov dword ptr[ebx], eax;
//ciklus vége
inc esi;
cmp esi, N;
jl ciklus_feltölt;
}
const char* tomkiiras = "A feltöltött tömb: ";
const char* sortores = "\n";
const char* szam = "%d, ";
int ciklusValtozo;
// A feltöltött tömb kiírása ellenőrzésképen
_asm
{
push tomkiiras;
call printf;
pop tomkiiras;
// for ciklus
mov eax, N; // N alkalommal fut le a ciklus -> ciklusváltozó
mov ciklusValtozo, eax;
mov esi, 0; //tömbindexhez
ciklus:
// tömb elemeinek kiírása
//memóriacím kimentése változóba a dinamikus tömb eléréséhez:
mov ebx, dword ptr[A];
add ebx, esi; //eltolás hozzáadása a pontos helyhez
push dword ptr[ebx]; //érték verembe helyezés
push szam;
call printf;
add esi, 4; //int típus 4 bájtos
pop szam;
pop dword ptr[ebx];
// tömb elemeinek kiírásának vége
dec ciklusValtozo;
cmp ciklusValtozo, 0;
jne ciklus; // ha nem egyenlő az ciklusValtozo tartalma 0-val akkor folytatódi a ciklus
// for ciklus vege
push sortores;
call printf;
pop sortores;
}
// Átlag kiszámítása
float osszeg = 0.0;
float atlag = 0.0;
//A tömb átlaga
_asm
{
mov esi, 0;
ciklus_atlag:
//index kiszámítás
mov eax, esi;
mov ebx, 4; // mivel int típusú tömbünk van, 4 byte méretű elemekkel dolgozunk
mul ebx;
mov ebx, eax; //i*4 kerül az ebx-be
//-b
mov edx, ebx;
mov ecx, dword ptr A;
add ebx, ecx;
fild dword ptr[ebx]; // fild az integer értéket betölti a FPU regiszterbe
fld osszeg;
fadd;
fstp osszeg;
//ciklus vége
inc esi;
cmp esi, N;
jl ciklus_atlag;
fld osszeg;
fidiv N;
fstp atlag;
}
// Átlag kiíratása
const char* atlagText = "Átlag: ";
const char* atlagFormat = "%.1f\n";
_asm
{
mov eax, dword ptr[atlagText];
push eax;
call printf;
add esp, 4;
fld atlag; // az átlag értékének betöltése a lebegőpontos regiszterbe
sub esp, 8; // hely foglalása a veremben a kiíratáshoz
fstp qword ptr[esp]; // az átlag értékének a veremre helyezése
push dword ptr[atlagFormat];
call printf;
add esp, 12; // a hely felszabadítása a veremben
}
// Medián kiszámítása
float median;
_asm
{
mov ecx, N; // ecx-be betöltjük a tömb méretét
mov ebx, 2; // ebx-be betöltjük az 2-es értéket, hogy megkaphassuk a tömb középső elemét
cdq; // eax regisztert bővíti edx regiszterrel
idiv ebx; // az N-t osztjuk 2-vel, az eredmény az eax-ben lesz, a maradék pedig az edx-ben
mov edx, 0; // az edx-t nullázzuk, hogy ne maradjon benne az osztás eredménye
cmp edx, 0; // összehasonlítjuk a maradékot 0-val, hogy megállapítsuk, páros vagy páratlan a tömb mérete
je paros_meret; // ha a maradék 0, akkor a tömb mérete páros
// Ha a tömb mérete páratlan, a medián az N/2. elem lesz
mov ebx, N; // ebx-be betöltjük a tömb méretét
mov eax, ebx; // az N-t mozgatjuk az eax-be
sar eax, 1; // az N-et osztjuk 2-vel, az eredmény az eax-ben lesz
mov ebx, eax; // az eredményt áttesszük a ebx-be
mov edx, 0; // az edx-t nullázzuk
mov eax, dword ptr A[ebx * 4]; // az N/2. elemet betöltjük az eax-be
jmp kiir; // ugorjunk a kiíratáshoz
paros_meret:
// Ha a tömb mérete páros, a medián az N/2. és (N/2)+1. elem átlaga
mov ebx, N; // ebx-be betöltjük a tömb méretét
mov eax, ebx; // az N-t mozgatjuk az eax-be
sar eax, 1; // az N-et osztjuk 2-vel, az eredmény az eax-ben lesz
mov ecx, eax; // az eredményt áttesszük a ecx-be
add eax, 1; // az N/2-hez hozzáadjuk 1-et, az eredményt az eax-be tesszük
mov edx, 0; // az edx-t nullázzuk
mov ebx, dword ptr A[ecx * 4]; // az N/2. elemet betöltjük a ebx-be
add ebx, dword ptr A[eax * 4]; // az (N/2)+1. elemet hozzáadjuk a ebx-hez
mov eax, ebx; // az eredményt áttesszük az eax-be
sar eax, 1; // az összeget osztjuk 2-vel, az eredmény az eax-ben lesz
kiir:
movsd median, xmm0; // az eredményt áttesszük a median változóba
}
// Medián kiíratása:
cout << "Medián: " << fixed << setprecision(2) << median << endl;
// Szórás kiszámítása
float standardDeviation = 0.0;
float variance = 0.0;
int ezzelosztunk = N; // Módosítás: az ezzelosztunk változó értéke N lesz, mert a szórás számításánál N-el osztunk, nem N-1-gyel
_asm
{
// for ciklus
mov eax, N; // N alkalommal fut le a ciklus -> ciklusváltozó
mov ciklusValtozo, eax;
mov esi, 0; //tömbindexhez
szoras_ciklus:
mov ebx, [A];
add ebx, esi; //eltolás hozzáadása a pontos helyhez
fild[ebx];
fld atlag;
fsub st(1), st(0); // kivonjuk a generált számból az átlagot
fxch st(1); // st(1)-ben lévő eredményt átrakjuk st(0)-ba
fstp st(1); // st(1)-ben lévő értéket kiszedjük (töröljük)
fmul st(0), st(0); // st(0)-ban lévő értékét megszorozzuk önmagával (négyzetre emelés)
fadd variance; // a variance-hez hozzáadjuk az eredményt
fstp variance; // az eredményt elmentjük a variance-ba
add esi, 4; //int típus 4 bájtos
dec ciklusValtozo;
cmp ciklusValtozo, 0;
jne szoras_ciklus; // ha nem egyenlő az ciklusValtozo tartalma 0-val akkor folytatódi a ciklus
// ciklus vége
fld variance; // betöltjük st(0)-ba a variance változó értékét
fidiv ezzelosztunk; // elosztjuk az st(0)-ban lévő értéket N-nel
fsqrt; // gyökvonás
fstp standardDeviation; // az st(0)-ban lévő értéket eltároljuk a standardDeviation változóban
}
// Szórás kiíratása:
const char* standardDeviationText = "Szórás: ";
const char* standardDeviationFormat = "%.1f\n";
_asm
{
mov eax, dword ptr[standardDeviationText];
push eax;
call printf;
add esp, 4;
fld standardDeviation; // a szorás értékének betöltése a lebegőpontos regiszterbe
sub esp, 8; // hely foglalása a veremben a kiíratáshoz
fstp qword ptr[esp]; // a szórás értékének a veremre helyezése
push dword ptr[standardDeviationFormat];
call printf;
add esp, 12; // a hely felszabadítása a veremben
}
delete[] A; // Dynamikusan allo tomb memoria felszabaditasa
return 0;
}
-
pmonitor
aktív tag
kétlem, hogy a magyar nyelv szókincse elégtelen lenne.
De nem a magyar nyelv szókincse, hanem a magyar nyelv szókincse mínusz ez ittenke. Legalábbis ebben a fórumban. Nyilván a saját webhelyemen nagyobb a mozgástér. De azért a valóság bármelyik szegmensét nem lehet ott sem leírni.
De hogy maradjunk az itteni fórumnál, én azon is csodálkozom, hogy ez a posztod megmaradhatott. Ha én írtam volna, akkor lehet, hogy nem maradt volna meg...De pl az önkiszolgáló kasszák esetén sem értem, hogy miért nem jutott senkinek az eszébe az, hogy legkésőbb a nyugta nyomtatása előtt árucikkenként összesítenék a darabszámot. Csak ezzel mennyi papírt meg lehetne takarítani országosan? Hozzáteszem, hogy ezt nem csak az önkiszolgáló kasszákra, hanem a hagyományos pénztárakra is lehetne alkalmazni. Összefutottam olyan pénztárossal is, aki 14 darab táblás csokit egyesével csippantott le(úgy, hogy én 2 x 7 - es sorba készítettem elő neki). Na, aaz ilyeneket is kiszűrhetné a program. Azért nem mind1, hogy 14 sorba nyomtatja ki a gép, vagy max. 2 sorban. Közben meg a takarékoskodásról csevegnek az okosok(elektromos autó, zöld energia, szelektív hulladék gyűjtés stb...).
Mondjuk ezt pont le lehet írni itt is sztem. Nyilván olyant nem írok le, amit nem engednek meg, mert annak poszt törlés + kitiltás az eredménye. -
coco2
őstag
válasz
pmonitor #20131 üzenetére
Igen, a kicsit kevésbé politikailag korrekt változat úgy szól, hogy akár kard, akár szavak, mindkettővel az erősebb győz - és még mindig keresem az idézet eredeti forrását, de nem találom
A magam részéről a szólás szabadság hiányát a jelenlegi helyzetben inkább tünetnek mondanám, mint alap problémának. Az alap probléma, hogy a népek el vannak tévedve a demokrácia és a szólás szabadság alapjairól. Főleg, mert nem tanultak történelmet. Róma a rablógyilkosok társadalma volt. És az a demokrácia bölcsője. Ahhoz képest a programozók "puhák".
Azt a problémát akár csak elkezdeni kiiktatni kommunikációs központként minimum egy militáris fórum kellene. Ha lenne fórum szoftveres eszközöket militáris célra használni, konkrétan ember társaink kiírtására, abban a fórumban aligha lehetne belefolytani a szót a tényekbe. Nem passzolna a hangulat.
Namost itt a PH-n ugyan nem kérdeztem meg a modikat, de szerintem a militarizmusnak nem fognak helyet adni. Most még nem.
-
pmonitor
aktív tag
Az a helyzet, hogy nincs egy olyan platform, ahol az ember nyíltan tudna erről beszélni. Akár én, akár te, akárki más. Csak megpróbáljuk amennyire lehet nyomdafestéket tűrő keretek között megfogalmazni véleményünket. Így meg nehéz. Hogy a valóságot nem lehet leírni sehol sem. Egy ismerősöm azt szokta mondani, hogy:
A szövegelés hatalom nélkül semmit nem ér!
Nem szó szerint ezt mondta. Csak ez a nyomdafestéket tűrő változat... -
coco2
őstag
válasz
pmonitor #20128 üzenetére
>De az sztem. a programozók felelőssége kellene, hogy legyen, hogy fel'homályosítsák az ügyfelet(ebben az esetben az üzletet) a kockázatokról.
Reagálnék csak erre az egyre.
A legtöbb olyan alkalmazást, amit nagyobb cégek a jelenben használnak, általában olyan környezetben írják, ahol a programozó a száját nem meri kinyitni, mert nem csak kirúgni fogják, hanem a főnöke élve és nyersen eszi meg ott helyben - akár a rendőrség szeme láttára.
És akkor te jönnél a programozók felelősségével? Hát nem. A feltételezést is elutasítom. Szerintem a programozónak nincsen azon felelőssége.
-
pmonitor
aktív tag
válasz
pmonitor #20128 üzenetére
Ebben a könyvben pontosan a felelősségről van szó. Ha nagyon röviden akarom leírni a tartalmát, akkor a következőt mondanám: A profi programozót az különbözteti meg a kezdőtől, hogy a profi programozó felelősséget kell, hogy vállaljon a munkájáért.
Ezzel kapcsolatos az alábbi programom. Kaptam 1 e-mailt, hogy:
szeretném használni a MyCutters
kódott.
Ami eddig nagyából sikerül is.A probléma akkor van ha az
alkatrész méret és darabszám párosból több van mint 25. Erre
van megoldás kérem ossza meg velem.
Előre is köszönöm.Hozzá kell tennem, hogy a programom teljesen ingyenes. Ettől függetlenül(ha nem is azonnal, de) természetesen foglalkozni fogok a dologgal. Csak előbb inkább át szeretném írni a kódot. OOP baráttá szeretném tenni a kódot(mert jelenleg nem az).
-
pmonitor
aktív tag
Gondoltam, hogy nem írok, mert JoinR postja frappáns(nagyon jó) végszava lett volna a témának. De ha már így alakult...
Van biztonsági őr, aki figyel.
Már ahol van. Mert a konkrét esetben nincs(legalábbis jól elbújt
)
Tapsi: De az sztem. a programozók felelőssége kellene, hogy legyen, hogy fel'homályosítsák az ügyfelet(ebben az esetben az üzletet) a kockázatokról. A konkrét példámban nem tudom, hogy Y üzletlánc esetében megtörtént-e? Sztem nem. Mert akkor lehet, hogy ott sem lenne elérhető a "több darabos bevitel" funkció.
De még1szer írom: Számomra JoinR posztja a mértékadó. Vagyis hogy biztonság nem létezik. Ilyen alapon tényleg nem szabadna(szabadott volna) egyetlen önkiszolgálót sem telepíteni.
Itt axioma írta először, hogy nem programozási témakör. Meg ti is folyamatosan off-ba teszitek a posztokat(velem együtt). Kérdés, hogy pl. ez programozásról szól-e? Bár az igaz, hogy pontosan én szoktam írni, hogy a "rizsát" mellőzni kellene. Tehát látszólag ellentmondok magamnak. De ez a rizsa a felelősségről szól(na) Ami sztem. nincs.. Nem hiszem, hogy off téma...
-
coco2
őstag
válasz
pmonitor #20124 üzenetére
Van biztonsági őr, aki figyel. Ha olyat próbálsz csinálni, hogy nem húzol le egy terméket, rád szól.
Amit megtehetsz, hogy a zöldséges pultnál lemért banánért kapott címkével felül ragasztod a PS4 címkéjét, és úgy húzod le. Az aligha fog feltűnni az őrnek. De nem lehúzni valamit az gáz.
@VikMorroHun
Hogyan bukott le, aki a fenti viccet eljátszotta?
-
pmonitor
aktív tag
válasz
VikMorroHun #20122 üzenetére
De ha ilyen alapon nézzük, akkor gyakorlatilag be kellene szüntetni az összes önkiszolgáló kasszát. Mert ha én lopni akarnék és mernék is, akkor inkább olyan terméket vennék, amit nem kell a kimeneti raktérre tenni, tehát a kosaramban maradhat. Aztán az alá tenném, amit 'ingyé szeretnék elvinni.
axioma: nyilván az én nézetem. Sztem. senki nem csodálkozik, hogy én nem a te nézetedet írom le.
Egyébként maga a funkció benne van. Csak nem egy 1szerű halandó számára, hanem felügyelői kulcs kell hozzá. Innentől kezdve már a határidős érvelésed sem áll meg a lábán...
-
axioma
veterán
válasz
pmonitor #20121 üzenetére
Ez a te nezeted. Mondok egy eletszerubbet: megbizo hataridore akart valami mukodot, nem baj ha nem tud mindent de tegnapra. POC is jo lesz. (Vagy csak elfelejti belerakni a specifikacioba. Vagy feltetelezik, hogy majd ugyis felviszik a dolgozok a gyujtocsomagolasnak a vonalkodjat is. Vagy... vagy...) Ez kimegy, aztan mar nem erdekuk frissiteni [ertsd: ujra fizetni a plusz meloert es az uj delivery folyamatert] amig mukodik.
Bar sztem auchan regen n-szer huzgatos volt, most meg mar megy a szorzas, szoval van ellenpelda.Amugy veletlen nincs a ket aruhazlanc kozott olyan kulonbseg is, hogy az egyiknek van merlege, a masiknak nincs az aruk atpakolasanal? Nem mind1...
Ez nem programozasi kerdes, hanem uzleti. Nyilvan aki csinalta tudna JPE bevetessel jobbat csinalni, de ez nem jelenti azt, hogy az adott projektben ezt meg is csinalhatta.
-
VikMorroHun
őstag
-
pmonitor
aktív tag
Én a programozási részére gondoltam. Tekintve a topic címére.
A programozók(is) azt csinálnak, amit akarnak. Teljesen mind1, hogy beteszik-e a szorzós változatot az önkiszolgáló kasszákba, vagy nem. Semmiért nem felelősek. Az egyik biztonsági okra hivatkozva nem teszi bele ezt a funkciót. A másiknál meg nem biztonsági ok, ezért beleteszi.
-
pmonitor
aktív tag
-
pmonitor
aktív tag
Adott X és Y üzletláncoknak x és y példánya.
x üzlet önkiszolgáló kasszájába nem teszik lehetővé 1 1szerű halandó számára, hogy ugyanabból az árucikkből 1szerre több darabot adjon meg az ügyfél.
Biztonsági okokra hivatkoznak.
Én ebben egyedül olyan "biztonsági" kockázatot látok, hogy valaki 6 piros árucikket ad meg 3 piros és 3 kék helyett. iszonyatosan nagy biztonsági kockázat!
De oké. Elfogadom, hogy biztonsági kockázat. Akkor y üzletben miért is nem biztonsági kockázat?Komolyan mondom, hogy lassan biztonsági okokra hivatkozva bármit meg lehet csinálni. Persze csak az egyik üzletben. A másikban nem.
-
coco2
őstag
Amit akarsz, azzal van egy olyan baj, hogy miután az első hibába beleakadtál, sorfolytonosan haladva a stringben határozatlanná válik az állapot, és a program nem tudja kitalálni helyetted, hogy hol milyen határoló elemet feltételeznél.
Ha megvan az első hiba, javítsd ki programozottan, és dobd vissza a stringet a parsernek.
-
Lacc
aktív tag
Sziasztok,
Segítség kellene, mert akárhogy keresek rá a keresőben, nem azt a találatot kapom amit szeretnék.
Általános JSON validátor algoritmus érdekelne, ami képes az input string alapján megtalálni az összes JSON syntax hibát!
JavaScript-ben ott van aJSON.Parse
függvény, amitry-catch
-ben képes elkapni a hibát és megmutatni, hogy melyik sorban milyen hiba van, ami szuper, de nekem olyasmi kellene, ami az összes hibát megmutatja és nem csak egyszerre egyet.
Ugyanaz kellene, mint amit a Visual Studio Code tud, megmutatja az összes hibát.
Akárhogy keresek rá hunglish-el, mindig olyan találatot kapok, hogy használjak valamilyen lib-et vagy online toolt. -
sztanozs
veterán
válasz
sztanozs #20111 üzenetére
vagy meg egyszerubben:
# txt fileok listázása
$textFiles = Get-ChildItem -Filter *.txt
# listában szereplő fájlok átnevezése
foreach ($file in $textFiles) {
# első sor beolvasás
$firstLine = Get-Content $file.FullName -TotalCount 1
if ($firstLine -match "^(\w{3})/(\d{2})/(\d{4})") {
# Rename the file
Rename-Item -Path $file.FullName -NewName ($firstLine.ToLower() -replace '^(\w{3})/(\d{2})/(\d{4}).*$', '$3-$1-$2.txt')
}
} -
sztanozs
veterán
válasz
Zola007 #20110 üzenetére
szvsz jo lehet igy, ha biztos, hogy ez az elso sor...
ezt a csekket berakhatod az atalakitas ele, biztos, ami biztos:# txt fileok listázása
$textFiles = Get-ChildItem -Filter *.txt
# listában szereplő fájlok átnevezése
foreach ($file in $textFiles) {
# első sor beolvasás
$firstLine = Get-Content $file.FullName -TotalCount 1
if ($firstLine -match "^(\w{3})/(\d{2})/(\d{4})") {
# átrendezés
$newFileName = ($Matches[3], $Matches[1].ToLower(), $Matches[2]) -join "-"
# .txt kiterjesztés hozzáadása
$newFileName = $newFileName + ".txt"
# Rename the file
Rename-Item -Path $file.FullName -NewName $newFileName
}
} -
Zola007
veterán
válasz
sztanozs #20107 üzenetére
köszi!
loopba tettem 1000+ txt-vel, szépen működik.
Van esetleg észrevételed vagy "jóvanazúgy"?# txt fileok listázása
$textFiles = Get-ChildItem -Filter *.txt
# listában szereplő fájlok átnevezése
foreach ($file in $textFiles) {
# első sor beolvasás
$firstLine = Get-Content $file.FullName -TotalCount 1
# dátum kiválasztása
$d = $firstLine.Substring(0, 11).ToLower() -split "/"
# átrendezés
$newFileName = ($d[2], $d[0], $d[1]) -join "-"
# .txt kiterjesztés hozzáadása
$newFileName = $newFileName + ".txt"
# Rename the file
Rename-Item -Path $file.FullName -NewName $newFileName
}
-
sztanozs
veterán
válasz
hiperFizikus #20108 üzenetére
miert ne lehetne? hacsak nem bongeszoben futo JS-rol van szo es a lemezrol kellene olvasson...
-
hiperFizikus
senior tag
Ugye a .txt fájlok tartalmát nem lehet bekérni a JavaScript-ben, mert nagyon régen a VBS-ben gond nélkül lehetett ?
-
Zola007
veterán
szükségem van számos TXT fájl első sorából a dátumra powershellben
jelenlegi formátuma: Jan/24/2024
ebből szeretnék egy ilyen végleges formátumot: 2024-jan-24a dátumot még ki tudom szedni, de az átrendezés már nem megy
$newFileName = $firstLine.Substring(0, [Math]::Min(11, $firstLine.Length)) -
Louro
őstag
Szerkeszteni nem tudom már.
Ha egy idézőjelem van, akkor 3 idézőjelre kell cserélnem.
Például:
Teszt "Kft" >> Teszt "Kft"
"Teszt "Kft" >> """Teszt ""Kft""
""Teszt Kft >> """"Teszt KftDuplázás mégis jó lehet.
Amúgy optentől kapják így át adatok állítólag. Névben lehet elvileg szeparátor nem lehet . (Tab)
-
sztanozs
veterán
válasz
sztanozs #20101 üzenetére
ha nem tartalmazhat, akkor:
$sorok = @"
ID;Cégnév;Egyéb cégadatok;
124;"Kiss és társa" Kft.; egyéb adatok;
234;egyik, másik cég Bt.;egyéb adatok;
666;"másik és egyik" Zrt.;egyéb adatok;
"@ -split [Environment]::NewLine
$uj = @()
foreach ($sor in $sorok) {
$uj += ((($sor -split ";") | foreach-object {'"' + ($_ -replace '"', '""') +'"'}) -join ',')
}
$uj | ConvertFrom-Csv
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Milyen monitort vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Autós topik
- Delta Force (2024)
- exHWSW - Értünk mindenhez IS
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Házimozi belépő szinten
- Xiaomi 14T Pro - teljes a család?
- Túraautó topik
- További aktív témák...
- Iphone 14 PRO 128 GB 88% akksi
- Watch Ultra (1.st gen) szinte új
- Csere-Beszámítás! Lenovo Ideapad 3 Gamer notebook.I5 10300H / 16GB DDR4 / GTX 1650 / 250SSD +500HDD
- HP Victus 16-d10008tx 16.1" FHD IPS i7-12700 RTX 3060 16GB 512GB NVMe gar
- Lenovo Legion 5 Pro Gamer Laptop 2év garanciával (i7 13700HX, RTX 4060)
- BESZÁMÍTÁS! Sony PlayStation4 PRO 1TB fekete konzol extra játékokkal garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS H81M-PLUS H81 chipset alaplap garanciával hibátlan működéssel
- 3DKRAFT.HU - 3D NYOMTATÁS - AZONNALI ÁRAJÁNLAT - GYORS KIVITELEZÉS - 480+ POZITÍV ÉRTÉKELÉS
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged