Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Dehát ez C++...
(#1749) Dealer: konkrétan mi a problémád vele? Nekem VS alatt teljesen kézenfekvő volt a debuggolás, mert nem kellett külön telepíteni hozzá debuggert, és beállítgatni, CodeBlocks-hoz kellett (mondjuk az se volt bonyolult). Jól láthatóan elkülönítve rakták be a saját menüjébe, ott van a Watch ablak, stb. Amúgy biztos a saját helpjében is benne van... De ha konkrétabban kérdezed, akkor biztos itt meg tudják mondani a választ.
Sk8erPeter
-
Tussky
tag
Stringet lehet valahogy egyszerű lépésben double-á konvertálni ? Elvileg a strtod,atof stringből csinál double-t,gyakorlatilag meg char*-ból...
-
Dealer
tag
válasz Sk8erPeter #1753 üzenetére
Nekem konkrétan ez a Disassembly nem fekszik! Ehez még elég kezdő vagyok tudom, és engem teljesen bezavar. Csak sejtem hogy miaz, és hogy mire való. Állandóan valami source pathot akar tőlem kérni ahogy lépek tovább a programban. Másik problémám hogy nemtudok rendesen változókat figyeltetni vele, hozzá adom watchokat de semmi hatás. Szóval úgyahogy van semmi értelmeset nemtudok vele csinálni
-
Dealer
tag
Semmit sem akarok azzal a dissasemblyvel csinálni hát épp ezaz! De mégis állandóan oda lép be bármit csinálok.
Tegyük fel hogy a programom nem az elvárt ereményt dobja ki. Figyeltetni akarom a változókat és sorrol sorra végigmenni a programon a debug programmal hogy rájöjjek hol csináltam ökörséget.
De most akkor mit hogy csináljak hogy békén hagyjon ez az assembly ablak, és hogy lépésről lépésre tudjam figyelni a programot mikor mit csinál. Kb úgy mint a borland féle turbo C debuggere...[ Szerkesztve ]
-
Sk8erPeter
nagyúr
Komolyan nem értem. Miért jön elő neked a Disassemble?
Nem ezzel szoktam fordítani, de most gyorsan kipróbáltam a Visual C++ 2008 Express Edition-t, és itt egy pár kép róla (innen másoltam ki egy full egyszerű kódrészletet), hogyan lehet debuggolni, és watch-olni a különböző változók értékének változását; bekarikáztam pirossal a legfontosabb részeket:
1.) elhelyezgethetsz annyi breakpointot, amennyit csak akarsz (a sorok számánál mondjuk nem többet ) (klikk a sorok számozásánál, megjelenik a piros pötty), aztán Start Debugging: [KÉP1]
2.) kijelölöd, amit figyelni szeretnél, aztán jobb klikk, Add watch: [KÉP2], ekkor bal oldalt alul látható, hogy megjelenik egy Watch ablak, na itt lehet figyelgetni a változók értékeit, ahogy adott esetben értéket kapnak, cserélődnek, "memóriaszemét" van benne, stb.
3.) Continue-val nyomogathatod addig, amíg breakpointjaid vannak, vagy egyéb (véget ér a program, vagy beavatkozást igényel, stb.), és megszakíthatod a Stop Debugginggal: [KÉP3]Így már tiszta?
Sk8erPeter
-
shev7
veterán
mondjuk ha olyan utasitasokba amiknek nem te irtad a kodjat hanem pl konyvtari fuggvenyek nem akarnal belepni, hanem csak atlepnel rajta, akkor szerintem tobb szerencsed lenne
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
Dealer
tag
Köszi a segitséget srácok, de a Visual Studio 2006ba nincs ilyen hogy continue csak step into, step over, stb, ilyenek vannak amik hatására előugrik a dissasembly a 2008 meg valamiért le sem akarja compilolni a forráskódomat (szürke a gomb). Vasárnap megyek vissza koliba majd elsírom a nyügömet valami okostojásnak.
Azért thx még1x... -
kltz
tag
Hello!
Nekem egy olyan kérdésem lenne, hogy van-e arra lehetőség ,hogy mérni a CPU teljesítményt ami majd a végén kiírja kihasználtságot vagy valami hasonlót és ez memóriára is érdekelne.
Üdv KLtz
-
Jester01
veterán
Hogy a rákba ne lenne. Gondolkozz már, ha egyszer a task manager is tudja a proci terhelést akkor nyilván meg lehet csinálni. Komolyan nem értem miért olyan nagy kihívás az msdnben megkeresni. Először talán ezt tanuld meg (önállóan információt szerezni) és csak utána programozni
Jester
-
Retekegér
HARDVERAPRÓD
Adott egy tömb, melyet fel kell tölteni véletlen számokkal, a vonatkozó programrészlet:
for (i = 0; i < NELEM; i++) /* NELEM = 1000*/
*(pd + i) = random(10000)*12.34;Ezt valaki el tuná magyarázni, miért így kell? --> random(10000)*12.34
<< Heimdal >>
-
Retekegér
HARDVERAPRÓD
A Programozzunk C nyelven! c. könyv egyik példájában van, mindenféle magyarázat nélkül. Illetve a könyvtái függvények leírása között ott a random függvény: egész véletlen szám előállítása 0 és az argumentum-1 között.
Lényeg, hogy nem értettem a 12,34 számmal való szorzást, később következetesen 1,234-el szoroz.<< Heimdal >>
-
Karma
félisten
válasz Retekegér #1775 üzenetére
Sajnos attól még nem lesz semmi értelme, tényleg. Én is ezt a könyvet adtam látatlanban az öcsémnek, hogy ebből összeszedheti a nyelv alapjait, de azt tapasztaltam (legalábbis a '96-os kiadásban), hogy sokszor van, hogy nem mondja el a miértet.
Jester01: De ha csak annyi a lényeg, hogy véletlenszámokat generáljunk (ami persze ebben a formában oximoron), akkor nincs semmi értelme. Én ezt feltételeztem.
[ Szerkesztve ]
“All nothings are not equal.”
-
Retekegér
HARDVERAPRÓD
válasz Jester01 #1777 üzenetére
Itt a teljes feladat:
#include <stdio.h>
#include <stdlib.h>
#define NELEM 1000
main()
{
double *pd, sv;
int i , j, lepes;
/* Helyfoglalás ellenőrzéssel */
pd = (double *) calloc( NELEM, sizeof(double));
if (! pd) {
printf("\a\nNincs elég memória!\n");
return -1; /* Hiba történt */
}
/* A tömb feltöltése véletlen számokkal */
for (i = 0; i < NELEM; i++)
*(pd + i) = random(10000)*12.34;
/* Shell - rendezés */
for (lepes = NELEM/2; lepes >0; lepes /=2)
for (i = lepes; i < NELEM; i++)
for (j=i-lepes; j>=0 && pd[j]>pd[j+lepes]; j-=lepes)
{
sv = pd[j];
pd[j] = pd[j+lepes];
pd[j+lepes]= sv;
}
/* A lefoglalt terület felszabadítása */
free(pd);
return 0; /* Hibátlan volt a program futása */
}<< Heimdal >>
-
Sk8erPeter
nagyúr
Hali!
Csak általános jellegű kérdés, ezért is teszem OFF-ba:
ide végül is jöhetnek C++-os kérdések (aktuális félév tananyaga ), vagy azzal húzzak majd át a Programozás fórum vagy C++ gyors segitseg kellene topicba?
Külön C++ topicot nem találtam.Sk8erPeter
-
bpx
őstag
válasz Sk8erPeter #1780 üzenetére
a "C++ gyors segítség kellene" akkor mi a bánat ha nem külön c++ topic?
-
j0k3r!
senior tag
válasz Retekegér #1778 üzenetére
elore is bocsanat, ha nagy baromsagot irok, mar reg c-ztem...
itt egy link
en hianyolom a srandot, ha mar "veletlen" szamokrol van szo.some men just wanna watch the world burn...
-
Sk8erPeter
nagyúr
Jahh, rájöttem utólag, hogy azt is odaírtam, csak azt utólag találtam és biggyesztettem oda, az a mondat meg figyelmetlenségből benne maradt. Bocsi.
Csak gondoltam megkérdezem, jöhetnek-e ide is C++-kérdések, mert itt viszonylag sokan mozgolódnak. De akkor majd áthúzom a belem oda.Sk8erPeter
-
j0k3r!
senior tag
válasz Retekegér #1784 üzenetére
sejtettem, hogy keverem...
ugyemlekszem, hogy talan visual basic-ben kellett egy
randomize timer
sor, kulonben mindig ugyanazokat a "veletlen" szamokat dobta, de ebben szinten nem vagyok 100%-ig biztos, utoljara talan kozepiskolaban lattam vb-t : ))some men just wanna watch the world burn...
-
elfenomeno
csendes tag
Sziasztok!
Egy kis segítséget szeretnék kérni.
A feladat a következő: Egy sor beolvasása ,majd a convert függvény meghívása, ami azt csinálja, hogy ha 2 egyforma betű jön egymás után akkor a másodikat kihagyja ha szám jön azt megduplázza
az eredménynek a helyét a fg-be kell foglalni
na most a sor olvasása még talán megy fggets-el a stdin-ről beolvasok egy sort
a foglalás már necces 256os tömböt létrehozok a fgbe az úgy jó ??(nem kell minimális foglalás)
de a convert rész már teljesen sansztalan
remélem tudtuk segíteni és előre is köszi ! -
Korcsii
őstag
nah első prog kérdésem: van egy n elemből álló tömb:
typedef struct {
char varos[21];
char termek[21];
short int darab;
} adatok;
adatok adat[1000];nos ezt kellene az adat[i].termek szerint ABC sorrendbe rendezni...
számoknál ez nem is nagy cucc, de szövegeknél?és jó lenne mindezt egy új, mondjuk rendezes nevű eljárásba belepakolni, hogy utána vissza is lehessen rendezni az adat[i].varos szerint (igazából azt nem tudom, hogy hogyan lehetne azt megadni neki, hogy varos vagy termek alapján rendezzen... az if-nél valami értelmesebb megoldást keresek)...
na de ez már opcionális, elkínlódok majd vele, a lényeg inkább az ABC sorrend lenne....[ Szerkesztve ]
-
Karma
félisten
válasz Korcsii #1789 üzenetére
Nezd meg az strcmp fuggvenyt, azzal lehet peldaul ket karakterlancot ABC szerint osszehasonlitani.
Az mar egy kicsit nagyobb magia, hogy olyan fuggvenyt irj, ami a struktura tetszoleges tagvaltozoja szerint kepes rendezni. C++-ban tudom hogy van erre megfelelo pointertipus, sima C-ben nem tudom.
[ Szerkesztve ]
“All nothings are not equal.”
-
shev7
veterán
válasz Korcsii #1789 üzenetére
stdlib-ben vannak rendezo fv-ek (pl qsort) neked csak a rendezeshez hasznalt fuggvenyt kell megirni, (ami megmondja, hogy ket elem kozul az elso a nagyobb, a masodik a nagyobb, vagy egyenloek)
@doc:
[ Szerkesztve ]
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
doc
nagyúr
válasz Korcsii #1789 üzenetére
az stdlib.h-ban definialt qsort lesz a baratod, kell irnod egy fuggvenyt ami eldonti ket structurarol hogy melyik a nagyobb (ez nem lehet gond), aztan csak siman raengedni a tombre, es voila, kesz is
ha csinalsz ket kulon fv-t, egyet a varos, egyet a termek alapjan torteno osszehasonlitasra, akkor meg mar teljesen kesz a feladatMOD: shev7 megelozott
[ Szerkesztve ]
-
Korcsii
őstag
kösz mindenkinek, este majd próbálkozok velük
strcmp-t már használtam, de eddig csak arra, hogy megnézzem ugyan az-e a kettő... most már értem, hogy miért is viselkedik úgy, ahogy (magyarul 0, ha ugyanaz)... apropó, nincs valami php.net-hez hasonló oldal, ahol rá lehetne keresni ezekre (eddig PHP-ztam, és nagyon jól jött)?
függvény talán azért lenne szerencsésebb, mert 3x kell használni, és így elég lenne egyszer megírni... de igazán semmi ötletem nincs erre, max az, hogy egy sima váltózóból kap egy értéket, és azt megvizsgálva a megfelelőt pörgeti végig... na de ez lehet még hosszabb/rosszabb, mint ha mindenhova odaírnám...
[ Szerkesztve ]
-
shev7
veterán
válasz Korcsii #1793 üzenetére
"függvény talán azért lenne szerencsésebb, mert 3x kell használni, és így elég lenne egyszer megírni... de igazán semmi ötletem nincs erre, max az, hogy egy sima váltózóból kap egy értéket, és azt megvizsgálva a megfelelőt pörgeti végig... na de ez lehet még hosszabb/rosszabb, mint ha mindenhova odaírnám..."
Ezt csak en nem ertem mit akar jelenteni?
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
Korcsii
őstag
sry, valahogy így gondoltam:
int rendezes(int mit) {
if (mit=1) {
// rendez adat[i].varos szerint
} else if (mit=2) {
// rendez adat[i].termek szerint
} ...
}
na ez most szép és jó, de túl sok értelme nincs... de inkább hagyom, annyira nem lényeges... esetleg majd ha unatkozom, rágooglezek még párszor -
Gyuri16
senior tag
válasz Korcsii #1795 üzenetére
ezt pont igy meg lehet irni, olvasd el megegyszer shev7 es doc hszait.
a qsortnak adhatsz egy fuggvenyt, ami eldonti miszerint lesz rendezve. megirod ezt a ket fuggvenyt (varos es termek szerint), es beirod az ifedbe a megfelelo parameterekkel a qsortot
itt egy pelda: [link]
Nem vagyok egoista, csak uborkagyalu!
-
bpx
őstag
válasz Korcsii #1795 üzenetére
hát pl. az előbb linkelt megoldással qsort-tal és saját összehasonlító függvénnyel lehet rendezni, egy függvénypointer-tömbben (de szép szó ) eltárolod ezeket a fv-eket, és akkor elég a 'mit' változóval ezt a tömböt paraméterezni egy qsort hívásban
persze ha van összesen 2 fv-ed, akkor nem biztos hogy ennyire bonyolítani kell, és simán elég az amit te írtál -
Sk8erPeter
nagyúr
Hali!
Van egy program, amiben egy reguláris kifejezés helyes értelmezésével akadtak problémáim, leírom a feladatot (benne a regexpet), aztán ahogy értelmeztem, légyszi javítsatok ki, hogy jó-e..."Írjon C programot, amely a szabványos kimenetre kiír egy olyan 184 sor hosszú szöveget, amelyben pontosan 3 olyan egymástól különböző sor van, amelyre az alábbi reguláris kifejezés illeszkedik:
^[^#]_*(0x)*[0-9]+W6.*[a-z]+.+qqriq(A|a)
(Az utolsó sor végén is legyen \n karakter!)"
^ : Sor elején fordul elő a minta
[^#] : bármilyen karakter, ami nem #
_* : alsóvonás karakter után tetszőleges számú, bármilyen karakter
(0x) :
* : utána tetszőleges számú, bármilyen karakter
[0-9]+ : szám, mely legalább egyszer szerepel
W6 : W6 ...
. : egy db tetsz. kar.
* : tetszőleges számú, bármilyen karakter
[a-z]+ : a-z tartományból legalább egy betű
.+ : tetsz. kar. legalább egyszer (van ennek értelme? )
qqriq : qqriq...
(A|a) : 'A' vagy 'a' betű szerepel utánaEgy-két helyen nem ment az értelmezés.
Ezenkívül azzal van a gondom, hogy most automatikusan hogyan generáljak egy ilyen szöveget? Mert manuálisan is bevihetnék egy ilyen szöveget, amire ez illeszkedik, de lehet, hogy nem az a feladat lényege (ez nem derül ki világosan számomra)...Előre is köszi a segítséget!
[ Szerkesztve ]
Sk8erPeter
-
cucka
addikt
válasz Sk8erPeter #1798 üzenetére
_* : alsóvonás karakter után tetszőleges számú, bármilyen karakter
A * azt jelenti, hogy az előtte álló karakter(ek)ből tetszőleges számú van a mintában, tehát itt tetszőleges számú _ karakterről van szó. A tetszőleges szám bármilyen természetes szám lehet, beleértve a nullát is. Ha majd olyanról beszélnek az iskolában, hogy lezárás, vagy egy halmaz lezártja, na ez az .(0x) :
* : utána tetszőleges számú, bármilyen karakter
Lásd az előbbi, tehát erre olyanok fognak illeszkedni, hogy epszilon, 0x, 0x0x, 0x0x0x, stb.. : egy db tetsz. kar.
* : tetszőleges számú, bármilyen karakter
A . bármilyen karakterre illeszkedik, a .* tehát tetszőleges számú tetszőleges karaktert jelent..+ : tetsz. kar. legalább egyszer (van ennek értelme? )
Van.Arra még figyelj oda, hogy a minta végén nincs ott a sorvége, tehát akkor is illeszkedni fog az adott sorra a minta, ha az illeszkedő rész után további karakterek is vannak a sorban.
-
bpx
őstag
válasz Sk8erPeter #1798 üzenetére
bme prog alap 1?
manuálisan is be lehet adni az ellenőrző programnak a 3 kifejezést (+ a maradék 181 kamu sort valahogy), de mivel nálunk úgy volt, hogy a következő feladatban kaptunk egy viszonylag nagy bemenetet és el kellett dönteni, hogy melyik sorra illeszkedik a kifejezés, jobban jársz ha már most kódolszaz ellenőrzés állapotgéppel megy, ha megtalálod a jó állapotokat, akkor nyilván lehet írni egy olyan verziót is, ahol az állapotokban az ellenőrzés helyett vmi random* (a feltételeknek megfelelő) kimenetet generál
[ Szerkesztve ]
Ú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!
- Spórolós topik
- Android alkalmazások - szoftver kibeszélő topik
- Filmvilág
- Motorola Edge 40 neo - színre és formára
- Termékoldal buktatta le a Huawei Watch Fit 3-at
- TCL LCD és LED TV-k
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Politika
- Elite: Dangerous
- Milyen videókártyát?
- További aktív témák...