- Androidos tablet topic
- Vezeték nélküli fülhallgatók
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Hobby elektronika
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen videókártyát?
- Milyen egeret válasszak?
- Milyen TV-t vegyek?
- Amazon Kindle
Hirdetés
-
Rossz üzlet az EV-kölcsönzés
it Küszködik az EV-kölcsönzés miatt a Hertz Global, még több EV-t adnak el.
-
Miniképernyős, VIA-s Epomaker billentyűzet jött a kábelmentes szegmensbe
ph A megfizethető, szivacsokkal jól megpakolt modell ötfajta kapcsolóval és kétféle színösszeállítással/kupakprofillal szerezhető be.
-
Free Play Days 2024 - 17. hét: Railway Empire, Prison Architect
gp Extraként a TramSim: Console Edition című játékot is kipróbálhatják az érdeklődők.
Új hozzászólás Aktív témák
-
Lortech
addikt
válasz FehérHolló #5 üzenetére
Amire reakcióként az illető moderátornak jeleztem is, hogy nem egészen jók azok a topikok, amiket linkelt (először csak a C++ és a VS C# topikokat linkelte, később az ajánlásom hatására a linuxos c topikot is beralta), mivel elég jelentősen eltérnek ezek a nyelvek gyakorlati szempontból, és sokszor feleslegesen keveredik a kettő (c/c++) és ez félreértésekre adhat okot. Felvetette válaszában, hogy moderátor kollégáival megbeszélik és majd idővel rendbe szedik a szoftverfejlesztés részt.
Szerintem igencsak fáférne már a ph-ra a szoftverfejlesztés rész rendberakása. Legalább minden nyelvnek vagy jól elkülönülő témakörnek egy külön topik, normális kezdőhozzászólással (mint pl ebben a topikban), nem olyanokkal, amik pl. egy házifeladat megoldásában kérnek segítséget, aztán úgy maradtak, és nagy topikokká váltak.Thank you to god for making me an atheist
-
Lortech
addikt
válasz kicsitomi88 #67 üzenetére
Dehogynem. A 2. számot beviszed egy enterrel, a szám megy a változóba, a sorvége meg benne marad a pufferben, és a %c meg egyből behúzza.
Gányolás megoldás: scanf("%c%c", &c,&c);szerk: amúgy meg a scanf monnyon le.
[ Szerkesztve ]
Thank you to god for making me an atheist
-
Lortech
addikt
válasz kicsitomi88 #69 üzenetére
Megnéztem normális megoldást is: scanf("%1s", &c);
(Csak hogy ne az előző maradjon meg. )Thank you to god for making me an atheist
-
Lortech
addikt
válasz kicsitomi88 #71 üzenetére
A néhány éves forráskódjaimban.
Annyit csinál, hogy átugorja a white-space-eket, ha vannak, és az első nem white-space-t teszi a c-be.
Thank you to god for making me an atheist
-
Lortech
addikt
Nyilván nincs rá beépített függvény, ha lenne, nem ez lenne a feladatod.
Neked kell megírnod.Gondold végig (ha eddig nem tetted volna), hogyan áll össze egy szám tetszőleges számrendszerben általánosan, majd azt, hogyan lehet átváltani egy decimális számot másik számrendszerbe (pl binárisba). Nincs nehéz dolgod, mert eléggé le van egyszerűsítve a feladat.
A fv. kb 10 sor cicomázással együtt. A fő rész egy ciklus, benne két db értékadás.[ Szerkesztve ]
Thank you to god for making me an atheist
-
Lortech
addikt
A hibaüzenet azért van, hogy ki tudj indulni belőle.
Ha be van includeolva a math.h, működnie kéne első ránézésre (annak a sornak). Miért log(2)? Miért nem log(b)? A ciklusban az első értékadás fordítva van. Ráadásul ha egy karaktertömbnek elemének értékül adsz egy int-et, akkor nem a megfelelő szám karaktere kerül bele, hanem a kódja.
szerk: while () után pontosvessző.[ Szerkesztve ]
Thank you to god for making me an atheist
-
Lortech
addikt
Minek utaztatod meg a stringeket?
Hiszen csak a char*-okra mutató pointereket kell kicserélni ahhoz, hogy **matrixban kialakuljon a helyes a sorrend:if (strcmp(matrix[i], matrix[j]) < 0)
{
char *sp = matrix[i];
matrix[i] = matrix[j];
matrix[j] = sp;
}De ha mégis úgy kéne, akkor pl :
#include <stdio.h>
#include <string.h>void rendez(char **matrix)
{
int i, j;
char ideiglenes[20]="";for(i = 0; i < 10; i++)
for(j = 0; j < 10; j++)
{
if (strcmp(matrix[i], matrix[j]) < 0)
{
strcpy(ideiglenes, matrix[i]);char *segedp;
segedp = (char *)realloc(matrix[i], strlen(matrix[j]) + 1);
matrix[i] = segedp;
strcpy(matrix[i], matrix[j]);segedp = (char *)realloc(matrix[j], strlen(ideiglenes) + 1);
matrix[j] = segedp;
strcpy(matrix[j], ideiglenes);
}
}
printf("\nRendezve: \n\n");
for(i = 0; i < 10; i++)
printf("%s\n",matrix[i]);}
int main(void)
{char *automarkak[10];
automarkak[0]=(char *)malloc(strlen("Mercedes") + 1);strcpy(automarkak[0], "Mercedes");
automarkak[1]=(char *)malloc(strlen("Ferrari") + 1);strcpy(automarkak[1], "Ferrari");
automarkak[2]=(char *)malloc(strlen("Audi") + 1);strcpy(automarkak[2], "Audi");
automarkak[3]=(char *)malloc(strlen("Lada") + 1);strcpy(automarkak[3], "Lada");
automarkak[4]=(char *)malloc(strlen("Chevrolet") + 1);strcpy(automarkak[4], "Chevrolet");
automarkak[5]=(char *)malloc(strlen("Ford") + 1);strcpy(automarkak[5], "Ford");
automarkak[6]=(char *)malloc(strlen("Ferrari") + 1);strcpy(automarkak[6], "Skoda");
automarkak[7]=(char *)malloc(strlen("Suzuki") + 1);strcpy(automarkak[7], "Suzuki");
automarkak[8]=(char *)malloc(strlen("Opel") + 1);strcpy(automarkak[8], "Opel");
automarkak[9]=(char *)malloc(strlen("Chrysler") + 1);strcpy(automarkak[9], "Chrysler");rendez(automarkak);
}[ Szerkesztve ]
Thank you to god for making me an atheist
-
Lortech
addikt
-
Lortech
addikt
A .c-n mit akarsz futtatni? Az a forráskódod (elvileg ). Azért írja ki, hogy hozzáférés megtagadva, mert nincs beállítva rá az x attribútum (futtatható). //de még egyszer mondom, egyébként sincs értelme futtatni, mert nem futtatható állomány, csak a forráskód.
"gcc filenev -o filenev.c -lncurses" még véletlenül sem jó, mert nem a filenev nevűt kéne fordítanod, hanem a filenev.c nevű forráskódodat a filenev nevű binárisba, azaz
gcc filenev.c -o filenev -lncurses, még egyszer: ahol filenev.c a forráskódod, filenev pedig az a fájlnév, amiben a lefordított programod szeretnéd látni.
Ezután futtatás ./filenev-vel.
Ha még így is hibaüzenet a válasz, akkor a hibaüzenetet másold be, mert anélkül nem tudok segíteni.[ Szerkesztve ]
Thank you to god for making me an atheist
-
Lortech
addikt
Házikkal legyetek szivesek máshova fáradni, ez nem az "itt a házim csináld má' meg" topik!
Ha elkezditek, látni valamit, hogy próbáljátok megoldani, biztos lesz segítség is.Thank you to god for making me an atheist
-
Lortech
addikt
válasz feherpeter #234 üzenetére
traits of turbo c
8. oldal: 15.12.2 delay( ) pont.Thank you to god for making me an atheist
-
Lortech
addikt
válasz feherpeter #236 üzenetére
Nem a gépeddel van a "baj", hanem a rutinnal. Mai ( és "tegnap előtti" ) gépeken nem fog megfelelően futni, mert túl gyorsak.
De ott van leírva jól a probléma, és lehetséges alacsonyszintű megoldási módok is. Jobban, jobbat én se tudok írni.
Hardver / operációs rendszer / fordítófüggetlen, jó megoldás nem nagyon van erre az egyszerűnek tűnő problémára.Turbo C + DOS-ról van szó egyáltalán? A legemészthetőbb megközelítés talán az, hogy egy ciklusban lekéred az aktuális időt addig, amíg a kiinduláshoz képest megfelelő idő eltelt. Ez azért nem jó megoldás, mert hiába nem csinál semmi hasznosat a program, a várakozás közben folyamatosan terheli a gépet.
Thank you to god for making me an atheist
-
-
Lortech
addikt
válasz Retekegér #277 üzenetére
Normális olyan értelemben, hogy vsz. nem bug. Nem normális olyan értelemben, hogy gondolom nem ezt szeretnéd. Esetleg bennemarad a pufferben valami az előző beolvasásokból, ezért egyből lefut a beolvasás. Ha bemásolod a kódot, akkor egyértelművé tehető. A system("PAUSE"); a program végén nem szép megoldás, és kerülendő is valódi alkalmazásoknál, de tesztelni és tanulgatni megteszi az előbbi figyelembevételével.
[ Szerkesztve ]
Thank you to god for making me an atheist
-
Lortech
addikt
válasz Retekegér #279 üzenetére
Uff. Szóval if után nem teszünk ;-t, hacsak nem egy üres utasítást akarsz szimbolizálni.
Itt most az történt, hogy az igaz ágadban lett egy üres utasítás (;). Majd jön egy blokk ( {} )ami mindig lefut az előbbi if-től függetlenül, így persze egyből kilép az exit miatt.
Meg az ilyen exit(-1) is felesleges, egy if () {} else {} megoldás szimpibb.De hozzán legközelebb az áll, hogy ha a két param sikeresen beolvasódott, akkor csinálsz valamit, egyébként meg nem (nincs else ág sem), és végetér a program a main blokk végén.
[ Szerkesztve ]
Thank you to god for making me an atheist
-
Lortech
addikt
Például létrehozol egy egyszerű structot két mezővel:
int szam;
char * szo;Aztán implementálsz egy neked szimpatikus dinamikus adatszerkezetet (pl láncolt lista) melynek elemtípusa az előbbi struct és amelyben tudsz keresni a "szo" mezo szerint. Aztán feldolgozod a szavakat, és ha van már egy adott szó a listában, akkor a megfelelő elem szam mezőjéhez hozzáadsz egyet, ha nincs, akkor befűzöl a lista végére egy új elemet. Nyilván itt keményen memóriát kell kezelni, de ez alap.
Thank you to god for making me an atheist
-
Lortech
addikt
1, int x, i, j = 0;
Ez nem azt jelenti, hogy x = 0 i = 0, j= 0, hanem x és y = meghatározatlan és j =0.
2, amiért nem fordul a programod az az, hogy i és j a cikluson kívül is deklarálva van, meg a ciklus fejében is.
3, minek ide a double? Ha %d-vel akarsz kiiratni, akkor pl int-ként deklaráld illetve fordítva, ha double-t akarsz kiiratni akkor "%f" a szimbólum.
Thank you to god for making me an atheist
-
Lortech
addikt
válasz Wizardmon #349 üzenetére
Nyiss egy cmd ablakot (parancssor), és ott futtasd le a kapott exe fájlt, és látni fogod a programod kimenetét, ha volt neki.
Ennek kell történnie, amit leírtál, mivel a program befejeződik felhasználói interakció nélkül, és a parancssor bezáródik, ezért nem látod az eredményt.Thank you to god for making me an atheist
-
Lortech
addikt
válasz Wizardmon #362 üzenetére
scanf("%1s", &b);
Bennemarad az inputban az előző beolvasásból az enter és azt húzza be a karakter beolvasásánál.
scanf(" %c",&b) is jó (szóköz a c előtt), de ez csak egy db white-spacet küszöböl ki.
Ha pl. azt írod, hogy számnak, hogy:
1 szóközszóközszóköz akkor már nem jó.Thank you to god for making me an atheist
-
Lortech
addikt
Ahogy a kolléga mondja, azzal a kiegészítéssel, hogy ha én lennék a tanárod, biztos belekötnék az inicialiázatlan változóra hivatkozásba. Ami akár véletlenszerűen meg is egyezhet a kitalálandó számmal, így nem is kér tippet. Szóval kicsit át kéne variálni.
[ Szerkesztve ]
Thank you to god for making me an atheist
-
Lortech
addikt
Inicializálás ~ kezdőértékadás, nem pedig deklarálás, amit az említett sorban csináltál.
Ezzel a sorral létrejött a két változó, lefoglalódott nekik a típusuknak megfelelő memóriahely, de ez nem járt explicit értékadással, az lesz innentől a változók értéke, ami a lefoglalt memóriarészben maradt (random szemétként kezelendő). Így elméletileg lehetséges, hogy a tipp értéke megegyezik azzal, amit majd a rejtett változóba bekérsz, így a program hibás.
tipp:
int rejtett, tipp;
beolvasás
tipp=rejtett + 1
ciklus..Thank you to god for making me an atheist
-
Lortech
addikt
válasz Fire/SOUL/CD #455 üzenetére
Nem azért, de te vs. 2008-ban managed c++ projektet nyitottál, nem natívat.
Egyébként ~ugyanaz a kód lefordítható vele mint amit devcpp-hez írtál.Thank you to god for making me an atheist
-
Lortech
addikt
válasz Fire/SOUL/CD #457 üzenetére
Én pedig csak bátorkodtam jelezni, hogy hiányos információid miatt nevetgélsz a WriteLine-on és félrevezeted a kérdezőt tisztelt 12 éve végzett rendszerprogramozó kolléga.
Thank you to god for making me an atheist
-
Lortech
addikt
válasz Fire/SOUL/CD #462 üzenetére
Örülök, hogy sikerült.. Te CLR projektet hoztál létre (.NET managed kód, amit írtam), ami .NET BCL-ből dolgozik, ezért volt WriteLine.
Natív win32 projekt teljesen más tészta.
ui: Nem rendszerprogramozó, hanem simán okleves programozó (programtervező informatikus).Thank you to god for making me an atheist
-
Lortech
addikt
válasz Fire/SOUL/CD #465 üzenetére
Megmondom őszintén, azt hittem, hogy elírtad, majd helyesbítettél az utóiratodban. amargo kifejtette már: értelmetlen a kérés / kérdés.
Thank you to god for making me an atheist
Ú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!
- LG NanoCell 55NANO766QA Halvány píxel csík
- Philips 58PUS8545/12 1 ÉV GARANCIA Játék üzemmód
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5