- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- bb0t: Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- sziku69: Fűzzük össze a szavakat :)
- antikomcsi: Való Világ: A piszkos 12 - VV12 - Való Világ 12
Hirdetés
-
Íme az Assassin's Creed Shadows első előzetese
gp A teljes játék novemberben érkezik, az előrendelések már elindultak.
-
Retro Kocka Kuckó 2024
lo Megint eltelt egy esztendő, ezért mögyünk retrokockulni Vásárhelyre! Gyere velünk gyereknapon!
-
30 TB-ot meghaladó HDD-ket demonstrál a Toshiba
ph Az egyik HAMR, a másik MAMR technológiával éri el a komoly tárkapacitást.
Új hozzászólás Aktív témák
-
Ereshkigal
őstag
válasz #36268800 #5230 üzenetére
Az else ág csak akkor hajtódik végre, ha az if-ben szereplő állítás hamis volt. Mivel itt egymást kizáró feltételek vannak, lehet külön is írni az if-eket, mindig csak egy lesz igaz, így mindkét esetben azt csinálja a program, amit szeretnénk, de az if-else megoldás a jobb (nem vizsgáljuk mindig mind a három feltételt feleslegesen).
[ Szerkesztve ]
-
dabadab
titán
válasz #36268800 #5230 üzenetére
"A kérdésem az volna ezzel kapcsolatban, hogy mi a különbség az egyszerű "if" és az "else-if" között?"
Az, hogy sima if-eknél (megfelelő feltételek esetén) a program akár az összes if-be belemehet, if-else-eknél viszont legfeljebb csak egybe. Neked itt pont az else-if kell, mert egymást kölcsönösen kizáró feltételeid vannak.
"Esetleg valamelyik gyorsabban lefut?"
Ez is benne van, ha if-else-eknél belemegy valamelyik ágba, akkor utána a komplett blokk végére ugrik, nem nézi meg a többi feltételt. Mondjuk ez olyan különbség, ami tipikusan olyan kicsi, hogy mérések sem mutatják ki.
"A Microsoft Visual Studio-t használom, hol találom benne a program gyorsaságát?"
VS 2013-ban van profiler, de őszintén szólva nem hiszem, hogy jelenleg neked erre bármi szükséged lenne. Az ekkora programok futási ideje bőven mérési hibán belül van.
"Mi a véleményetek a kódom tagoltságáról?"
Így azért jóval olvashatóbb (ez az else-if szokásos írásmódja):
int main(void)
{
float num1, num2;
printf("Enter two numbers\nFirst: "); scanf("%f", &num1);
printf("Second: "); scanf("%f", &num2);
if (num1 == num2)
{
printf("They are equal: %f = %f", num1, num2);
}
else if (num1 > num2)
{
printf("They are not equal, %f > %f", num1, num2);
}
else
{
printf("They are not equal, %f < %f", num1, num2);
}
getch();
return 0;
}Ezen túlmenően ekkora kódnál azért különösebb tagoltságról nem lehet beszélni
ÁLtalános megjegyzésként még annyi, hogy lebegőpontos számoknál a == csak nagyon korlátozottan használható (itt mondjuk pont igen), mert ott a kerekítési hibák miatt előfordulhat, hogy két érték, aminek elméletben azonosnak kellene lennie, mégsem lesz pont ugyanannyi.
DRM is theft
-
nagyúr
válasz #36268800 #5237 üzenetére
Fuggvenybe olyan funkcionalitast celszeru kiszervezni, amiket a kod tobb pontjan is hasznalsz. Az, hogy feldarabolsz egy adott funkciot tobb reszre, eleg ertelmetlen (bar sokan azt valljak, hogy egy fuggveny ne legyen hosszabb X sornal, de ez szerintem butasag).
while (!sleep) sheep++;
-
buherton
őstag
válasz #36268800 #5269 üzenetére
Ha Linux felé szeretnél orientálódni, akkor bármelyik program forráskódja publikus, pl. grep, vagy ha beágyazott vonalon indulnál el Linux alatt, akkor: [link] és itt bármelyik driver.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
Karma
félisten
válasz #36268800 #5279 üzenetére
Nem a double-int konverzióval van baj, sokkal nagyobb probléma, hogy a 34. és a 43. sorban a számítás végző függvényeket (pointerként) adod be a printf-nek, nem pedig meghívod őket.
A double kockázat megoldása annyi, hogy a 7. és a 14. sorban a hányadost 2-ről 2.0-ra átírod.
“All nothings are not equal.”
-
dabadab
titán
válasz #36268800 #5285 üzenetére
Isten hozott a lebegőpontos számok világában!
Alapvetően két csúnya dolog van velük:
1. a pontosságuk korlátozott, vagyis előbb-utóbb lesznek kerekítési hibák
2. nem tizes, hanem kettes számrendszert használnak, így a tizes számrendszerben kevés tizedesjegyből álló számok simán lehetnek végtelen tizedestörtekHa kiíratnád a MAXP*0.57 értékét, akkor valószínűleg valami olyasmit látnál, hogy 0,57000001. Emiatt lebegőpontos számoknál számolni kell azzal, hogy az egyenlőség nem fog működni és nem egzakt egyenlőséget vizsgálni, hanem azt, hogy az adott szám benne van-e valamilyen tartományban.
DRM is theft
-
sztanozs
veterán
válasz #36268800 #5418 üzenetére
1. Utánanázel a RAR tömörítési eljárársnak
2. Utánanézel a RAR titkosításnak
3. Eldöntöd, hogy milyen jelszótörőt írsz (saját jelszótörő az alapoktól, vagy plugin valamelyik meglevő jelszótörőhöz)
4. MegírodJOGI 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...
-
alapz@j
tag
válasz #36268800 #5427 üzenetére
Írj egy one time pad alkalmazást. Egy hex és base64 kódolót/dekódolót. Aztán valami egyszerűbb ciphert (pl. rot13) használó kis programot. Aztán írj egy programot, amiben egy külső titkosító könyvtár (wincrypto, libnettle, openssl, akármi) egyszerű szimmetrikus titkosítását használod (xxtea, aes, chacha, stb.). Közben ismerkedj meg a secure random, a kriptográfiai hash, a keyed hash fogalmával és használatával. Ezután jöhet az authenticated titkosítás, a nyilvános kulcsú kriptográfia és a többi finomság. És mindeközben sajátítsd el azt, hogyan lehet biztonságos C programot írni, amelyik nem szivárogtat ki információkat az általa kezelt adatokról.
-
Ver'alor
tag
válasz #36268800 #5489 üzenetére
Azért szeretném így, mert eredetileg ezzel az integerrel számolni szeretnék, és ha beír egy szót, akkor pl kiad egy hibaüzenetet (most mem szimplán azza gondolok, hogy annak függvényében ágazik el a program, hogy betűket írt be szám helyett, hanem egy konkrét szót, szóval nem az isaplha-ra gondolok)
May the 4th be with you!
-
DrojDtroll
addikt
válasz #36268800 #5603 üzenetére
akkor ha a fájlbeolvasást le akarod egyszerűsíteni akkor beírod a fájl elejére hogy hány sor van benne
először beolvasod ezt a számot majd indítasz két egymásba ágyazott ciklust.
a külső addig meg ahány sor van, a belső pedig az öt számot olvassa be,
ha szóköz van közte az a legjobb mert akkor elég egy sima scanf
-
dobragab
addikt
válasz #36268800 #5609 üzenetére
Igen, jó lehet.
(#5611) DrojDtroll
Igen, általában jobb. Lehet a feof-ot is jól használni, de a helyes használata többnyire macerásabb, mint a visszatérési értékek vizsgálata.
[ Szerkesztve ]
Tudom, tudom, akasszak a tökömre egy lámpát, hogy sötétben is tudjak kaszálni.
-
dobragab
addikt
válasz #36268800 #5614 üzenetére
Vagy legalább a Programkód formázást így.
void sztring (char*, char*);
int main()
{
char str1[]="AEBCD", str2[37]= {0};
sztring (str1,str2);
return 0;
}
void sztring (char *p1, char *p2)
{
int i=0;
while (*p1)
{
if (*p1=='A' || *p1=='E')
{
if (! (i%2) )
{
*p2=*p1;
p2++;
i++;
}
}
if (*p1=='B' || *p1=='C' || *p1=='D')
{
if (i%2)
{
*p2=*p1;
p2++;
i++;
}
}
p1++;
}
}[ Szerkesztve ]
Tudom, tudom, akasszak a tökömre egy lámpát, hogy sötétben is tudjak kaszálni.
-
EQMontoya
veterán
válasz #36268800 #5618 üzenetére
Írjsz egy függvényt, ami megmondja egy char-ról, hogy magánhangzó-e:
#include <ctype.h>
#include <stdio.h>
static char * maganhangzok = "aeiou";
int maganhangzo(char c)
{
int i = 0;
for(; i < strlen(maganhangzok); ++i)
{
if(maganhangzok[i] == tolower(c)) return 1;
}
return 0;
}Ha ez megvan, akkor az eredeti tömbbön végigfutsz ezzel, és megnézed, hogy mennyi magánhangzód van.
Ezt követően azt szétszeded két tömbre, amit aztán használsz.
Utána pedig a feltöltésnél karbantartasz két indexet, és azokat lépteted annak függvényében, hogy a ciklusváltozód páros vagy páratlan.int i=0;
int msh_idx = 0;
int mgh_idx = 0;
for(;i<celtomb_hossza -1 ; ++i)
{
if(i%2 == 0)
{
celtomb[i] = msh_tomb[msh_idx];
msh_idx = (msh_idx + 1) % msh_tomb_hossza; //strlen?
}
else
{
celtomb[i] = mgh_tomb[mgh_idx];
mgh_idx = (mgh_idx + 1) % mgh_tomb_hossza; //strlen?
}
}
//lezaro nulla ne maradjon le! :)[ Szerkesztve ]
Same rules apply!
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Genshin Impact (PC, PS4, Android, iOS)
- Apple notebookok
- A fociról könnyedén, egy baráti társaságban
- Azonnali informatikai kérdések órája
- Mobil flották
- Reklámblokkolók topikja
- Íme az Assassin's Creed Shadows első előzetese
- Kerékpárosok, bringások ide!
- Kipróbáltuk a Xiaomi 14 Ultra fotós szettjét
- LED világítás a lakásban
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs