Hirdetés

2024. május 1., szerda

Gyorskeresés

Hozzászólások

(#1751) doc válasza Tussky (#1750) üzenetére


doc
nagyúr

a "TO" nem 14 karakter hosszu ;)

(#1752) Tussky válasza doc (#1751) üzenetére


Tussky
tag

Valóban :D Úgy látom,sikerült félrenéznem a leírást.Kösz!

(#1753) Sk8erPeter válasza Tussky (#1750) üzenetére


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

(#1754) Tussky


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...

(#1755) Karma válasza Tussky (#1754) üzenetére


Karma
félisten

Segíts magadon, a Google is megsegít :)

“All nothings are not equal.”

(#1756) Tussky válasza Karma (#1755) üzenetére


Tussky
tag

Kösz!

Közben találtam egy nagyon egyszerű megoldást a c_str személyében :)

(#1757) Dealer válasza Sk8erPeter (#1753) üzenetére


Dealer
tag

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 :DDD

(#1758) shev7 válasza Dealer (#1757) üzenetére


shev7
veterán

mit akarsz disassembelni? nem a sajat kododat debuggolod?

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#1759) Dealer válasza shev7 (#1758) üzenetére


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 ]

(#1760) Sk8erPeter válasza Dealer (#1759) üzenetére


Sk8erPeter
nagyúr

Komolyan nem értem. Miért jön elő neked a Disassemble? :D
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 :D) (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

(#1761) shev7 válasza Dealer (#1759) üzenetére


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!''

(#1762) Dealer válasza shev7 (#1761) üzenetére


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 :DDD 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...

(#1763) shev7 válasza Dealer (#1762) üzenetére


shev7
veterán

hat step overre nem hiszem hogy elo kene ugrania....

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#1764) sghc_toma válasza Dealer (#1762) üzenetére


sghc_toma
senior tag

lehet, hogy hulye kerdes, de csinaltal rendesen project-et? nem csak valami kulonallo forrasfile-t probalsz forditani/debugolni? bar ha nincs project, akkor nem tudom, milyen binarist indit el debugolaskor..

in asm we trust

(#1765) Dealer válasza sghc_toma (#1764) üzenetére


Dealer
tag

Igen... :B a kutya itt volt elásva utólag rájöttem :DDD
Csak megnyitottam a c fájlt a vs2008-al aztán annyi. Mostmár megy rendesen minden.

(#1766) Sk8erPeter válasza Dealer (#1765) üzenetére


Sk8erPeter
nagyúr

Akkor a francnak Print Screeneltem annyit... :DDD

Sk8erPeter

(#1767) kltz


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

(#1768) Gyuri16 válasza kltz (#1767) üzenetére


Gyuri16
senior tag

programot szeretnel irni ami ezt meri, vagy csak egy kesz program kell? milyen oprendszeren?

windows alatt task manager tud ilyet, unixos rendszereknel pedig a top, vmstat es free parancsok.

Nem vagyok egoista, csak uborkagyalu!

(#1769) kltz válasza Gyuri16 (#1768) üzenetére


kltz
tag

Akkor Windows alatt nincs is esély arra a program futás(bármilyen programra gondolok) után kiírja mondjuk átlagos proci teljesítmény?

Üdv KLtz

(#1770) Jester01 válasza kltz (#1769) üzenetére


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 :U

Jester

(#1771) kltz válasza Jester01 (#1770) üzenetére


kltz
tag

Tudom ,de nekem nem C++-ban kellene hanem sima C-ben és én nem tudok róla ,hogy lenne ilyes fajta leírás c-hez.

Üdv KLtz

(#1772) Jester01 válasza kltz (#1771) üzenetére


Jester01
veterán

Légy erős, ez C API. Vagyis nem C++, de ugyanakkor nem is szabvány C hanem a windows által biztosított, C-ből (is) hívható szolgáltatás. Tehát pl. linuxon nem fog működni.

Jester

(#1773) Retekegér


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 >>

(#1774) Karma válasza Retekegér (#1773) üzenetére


Karma
félisten

Szerintem ez egy remek példája a magic bullshit numbernek.
Semmi funkciója nincs egy ilyen szorzásnak.

“All nothings are not equal.”

(#1775) Retekegér válasza Karma (#1774) üzenetére


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 >>

(#1776) Karma válasza Retekegér (#1775) üzenetére


Karma
félisten

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.”

(#1777) Jester01 válasza Karma (#1774) üzenetére


Jester01
veterán

De van. Ugyanis ebben a formában a generált véletlenszámok 12.34 egész számú többszörösei lesznek. Hogy ez miért jó azt csak a feladat ismeretében lehetne tudni.

Jester

(#1778) Retekegér válasza Jester01 (#1777) üzenetére


Retekegér
HARDVERAPRÓD

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 >>

(#1779) Jester01 válasza Retekegér (#1778) üzenetére


Jester01
veterán

Hát ennek így valóban nincs más értelme azon túl, hogy nem csak egész számokat generál.

Jester

(#1780) Sk8erPeter


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 :D), 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

(#1781) bpx válasza Sk8erPeter (#1780) üzenetére


bpx
őstag

a "C++ gyors segítség kellene" akkor mi a bánat ha nem külön c++ topic? :D

(#1782) j0k3r! válasza Retekegér (#1778) üzenetére


j0k3r!
senior tag

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...

(#1783) Sk8erPeter válasza bpx (#1781) üzenetére


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. :DDD Bocsi. :B
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

(#1784) Retekegér válasza j0k3r! (#1782) üzenetére


Retekegér
HARDVERAPRÓD

srand != randomize? :D
rand fv-t véletlen szám előállítására + randomize hívást ennek véletlenszerű inicializálására már használtam egy gondolt szám kitalálós feladathoz

<< Heimdal >>

(#1785) Karma válasza Retekegér (#1784) üzenetére


Karma
félisten

Csak a randomize nem éppen szabványos...
Mondjuk ahogy nézem a random(int) sincs a szabványban, csak a rand(void).

[ Szerkesztve ]

“All nothings are not equal.”

(#1786) Retekegér válasza Karma (#1785) üzenetére


Retekegér
HARDVERAPRÓD

Való igaz, de kénytelen voltam először a nem szabványos megoldásokkal ismerkedni a fenn említett könyvnek köszönhetően...

<< Heimdal >>

(#1787) j0k3r! válasza Retekegér (#1784) üzenetére


j0k3r!
senior tag

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...

(#1788) elfenomeno


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 !

(#1789) Korcsii


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....

:R

[ Szerkesztve ]

(#1790) Karma válasza Korcsii (#1789) üzenetére


Karma
félisten

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.”

(#1791) shev7 válasza Korcsii (#1789) üzenetére


shev7
veterán

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!''

(#1792) doc válasza Korcsii (#1789) üzenetére


doc
nagyúr

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 feladat ;)

MOD: shev7 megelozott :)

[ Szerkesztve ]

(#1793) Korcsii


Korcsii
őstag

kösz mindenkinek, este majd próbálkozok velük :R

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 ]

(#1794) shev7 válasza Korcsii (#1793) üzenetére


shev7
veterán

"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? :D

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#1795) Korcsii válasza shev7 (#1794) üzenetére


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 :)

(#1796) Gyuri16 válasza Korcsii (#1795) üzenetére


Gyuri16
senior tag

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!

(#1797) bpx válasza Korcsii (#1795) üzenetére


bpx
őstag

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ó :D) 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 :D

(#1798) Sk8erPeter


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... :B :R

"Í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) : :F
* : utána tetszőleges számú, bármilyen karakter
[0-9]+ : szám, mely legalább egyszer szerepel
W6 : W6 ... :F
. : 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? :D)
qqriq : qqriq...
(A|a) : 'A' vagy 'a' betű szerepel utána

Egy-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)... :F

Előre is köszi a segítséget! :R

[ Szerkesztve ]

Sk8erPeter

(#1799) cucka válasza Sk8erPeter (#1798) üzenetére


cucka
addikt

_* : 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.

(#1800) bpx válasza Sk8erPeter (#1798) üzenetére


bpx
őstag

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ódolsz

az 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 ]

Copyright © 2000-2024 PROHARDVER Informatikai Kft.