-
IT café
Új hozzászólás Aktív témák
-
sztanozs
veterán
Vesszo, pontosvesszo (mezo-elvalaszto) lehet barmelyik mezoben, pl. cegnevben?
Valaki, masvalaki es "tarsai" bt.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
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[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
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)
[ Szerkesztve ]
Mess with the best / Die like the rest
-
sztanozs
veterán
Probald ki a tesztkodot amit kuldtem. A sorok valtozo lehet egy text reader ami sorokat olvas be.
$sorok = Get-Content "c:\temp\test.csv" -Encoding "UTF8"
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
-
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))[ Szerkesztve ]
Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs
-
sztanozs
veterán
válasz Zola007 #20106 üzenetére
$d = $firstLine.Substring(0, 11).ToLower() -split "/"
$newFileName = ($d[2], $d[0], $d[1]) -join "-"[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
hiperFizikus
aktív 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 ?
[ Szerkesztve ]
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
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...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
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
}
Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs
-
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
}
}[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
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')
}
}[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Zola007
veterán
válasz sztanozs #20111 üzenetére
Köszi!
Biztos hogy ez az első sor, egy halom naplófájl.Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs
-
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. -
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.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
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.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz pmonitor #20117 üzenetére
Igazából tényleg nem mind1, hogy valaki 6 kék(1.5%-os) tejet ad meg 1 kék és 5 piros(2.8%-os) tej helyett. De aki ezt meg meri csinálni legalább 1 felügyelő pénztáros + kamerák ellenére, és még le sem bukik, az szerintem meg is érdemli a termékeket.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
coco2
ő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.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
VikMorroHun
senior tag
válasz pmonitor #20119 üzenetére
Őszintén szólva, amikor meghallottam, hogy valaki PS4-et vett ugyanannyi kg banán helyett (és csak azért bukott le, mert másnap visszament, hogy még egyszer eljátssza ugyanezt), elgondolkodtam rajta, hogy milyen hatékonysággal működhetnek a kamerák...
Nem lehet körökre osztott módba váltani, mert a karakter halott.
-
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.
[ Szerkesztve ]
-
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...
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
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
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...
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
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).
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
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.
[ Szerkesztve ]
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
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...http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
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
A militarizmust én sem kívánnám. Ettől függetlenül is vannak olyan dolgok, amiket nem lehet áttranszformálni olyan alakra, ami nyilvánosságra hozható lenne, pedig a valóságot írnák le. Így meg nehéz. De ez van.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
-
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.http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
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;
}
[ Szerkesztve ]
-
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][ Szerkesztve ]
-
pmonitor
aktív tag
válasz axioma #20138 üzenetére
Azért van 1-2 rendezési algoritmus.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz dabadab #20142 üzenetére
Itt újabban lehet személyeskedni? Mert ha igen, akkor nekem is lenne mondanivalóm is, meg kérdésem is. Személyeskedni én is tudok/tudnék... Csak nekem valszeg. nem szabad.
Inkább oldanátok meg úgy, hogy nem használjátok az ott szereplő egyik algoritmust sem...
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
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.[ Szerkesztve ]
-
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.
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
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.[ Szerkesztve ]
-
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ó.
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
-
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.
-
axioma
veterán
-
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.
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
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.
-
VikMorroHun
senior tag
Szerintem az önkiszolgáló kasszáknál beragadt az offtopic gomb.
Nem lehet körökre osztott módba váltani, mert a karakter halott.
-
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.[ Szerkesztve ]
-
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...
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
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?
[ Szerkesztve ]
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
hiperFizikus
aktív tag
egy új rokon topik nyílt : #3
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
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
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Autós topik
- Óvodások homokozója
- Telekom mobilszolgáltatások
- AMD Radeon undervolt/overclock
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- bb0t: Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- Python programozás
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- BestBuy topik
- Külföldi rendelések: boltok, fizetés, postázás
- További aktív témák...
- Saitek X52 Professional Hotas Joystick + Throttle
- 5 db 840 G1 (i5-4300) bontásra,alkatrésznek,vagy felépítésre egyben eladó
- BESZÁMÍTÁS! ÁRGARANCIAI! Új nVidia Quadro Tesla Radeon Pro videokártyák rendelésre 3 év gar. 27% áfá
- Apple MacBook Air 13.3 M2 Chip 8GB 256GB Space Grey magyar (47 ciklus)
- ASUS TUF GAMING F17 FX706HF -17,3"FHD 144Hz - i5-11400H - 8GB - 512GB - RTX 2050 -Win10 -2,5 év Gari
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest