- Yettel topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Android szakmai topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- iPhone topik
- Huawei Watch Fit 5 Pro - jó forma
- Apple iPhone 17e – mágnesek ereje
-
1800 - 1701
6397 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-04-25 14:12 Téma összefoglaló
Új hozzászólás Aktív témák
-
bpx
őstag
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!

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
-
cucka
addikt
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!

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

-
bpx
ő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
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
-
Gyuri16
senior tag
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
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]
-
Korcsii
őstag
"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?

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
-
shev7
veterán
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...
"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?

-
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...
-
doc
nagyúr
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....
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

-
shev7
veterán
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....
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:
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Karma
félisten
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....
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.
-
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....
-
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 ! -
j0k3r!
őstag
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 : )) -
Retekegér
MODERÁTOR
-
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). -
Retekegér
MODERÁTOR
elore is bocsanat, ha nagy baromsagot irok, mar reg c-ztem...
itt egy link
en hianyolom a srandot, ha mar "veletlen" szamokrol van szo.srand != randomize?

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 -
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. -
j0k3r!
őstag
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 */
}elore is bocsanat, ha nagy baromsagot irok, mar reg c-ztem...
itt egy link
en hianyolom a srandot, ha mar "veletlen" szamokrol van szo. -
bpx
őstag
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.a "C++ gyors segítség kellene" akkor mi a bánat ha nem külön c++ topic?

-
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. -
Jester01
veterán
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 */
}Hát ennek így valóban nincs más értelme azon túl, hogy nem csak egész számokat generál.
-
Retekegér
MODERÁTOR
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 */
} -
Jester01
veterán
-
Karma
félisten
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.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.
-
Retekegér
MODERÁTOR
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. -
Karma
félisten
Szerintem ez egy remek példája a magic bullshit numbernek.
Semmi funkciója nincs egy ilyen szorzásnak. -
Retekegér
MODERÁTOR
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
-
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.
-
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.
-
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?
-
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.
-
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.
-
Sk8erPeter
nagyúr
-
Dealer
tag
Igen...
a kutya itt volt elásva utólag rájöttem 
Csak megnyitottam a c fájlt a vs2008-al aztán annyi. Mostmár megy rendesen minden. -
sghc_toma
senior 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...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..
-
shev7
veterán
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...hat step overre nem hiszem hogy elo kene ugrania....
-
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... -
shev7
veterán
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...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

-
Sk8erPeter
nagyúr
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...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?
-
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... -
shev7
veterán
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

mit akarsz disassembelni? nem a sajat kododat debuggolod?
-
Dealer
tag
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.
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

-
Tussky
tag
-
Karma
félisten
-
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...
-
Sk8erPeter
nagyúr
Sziasztok!
A feladat az lenne,hogy egy filet soronként beolvassak és a megfelelő sorokból kinyerjem az adatokat.Addig eljutottam,hogy csak a megfelelő sorokat kinyerem,itt kéne az adott helyen lévő adatokat kimásolnom egy másik fájlba,azonban egy olyan problémval találkozok,amivel nem nagyon tudok mit kezdeni.
Konkrétan a program:
#include <fstream>
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main(){
string line, filename = "valami.txt";
ifstream file;
file.open(filename.c_str());
while (file.is_open() && file.eof()==false){
getline(file,line);
if( (line.compare(0,4,"HAMB")==0) && (line.compare(12,14,"TO")==0) ){
cout << line << endl;
}
}
file.close();
return 0;
}Valakinek van ötlete,hogy az if miért nem jó ? Fordításnál nincs gond,de amint futtatom terminated.Igazából,ha az if-es sor jó lenne,akkor tovább tudnék lépni,de nem jövök rá,hogy miért nem megy.A probléma az,hogyha két külön if-re bontom se boldogul a sorral.
Előre is kösz a válaszokat!
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.
-
Tussky
tag
-
doc
nagyúr
Sziasztok!
A feladat az lenne,hogy egy filet soronként beolvassak és a megfelelő sorokból kinyerjem az adatokat.Addig eljutottam,hogy csak a megfelelő sorokat kinyerem,itt kéne az adott helyen lévő adatokat kimásolnom egy másik fájlba,azonban egy olyan problémval találkozok,amivel nem nagyon tudok mit kezdeni.
Konkrétan a program:
#include <fstream>
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main(){
string line, filename = "valami.txt";
ifstream file;
file.open(filename.c_str());
while (file.is_open() && file.eof()==false){
getline(file,line);
if( (line.compare(0,4,"HAMB")==0) && (line.compare(12,14,"TO")==0) ){
cout << line << endl;
}
}
file.close();
return 0;
}Valakinek van ötlete,hogy az if miért nem jó ? Fordításnál nincs gond,de amint futtatom terminated.Igazából,ha az if-es sor jó lenne,akkor tovább tudnék lépni,de nem jövök rá,hogy miért nem megy.A probléma az,hogyha két külön if-re bontom se boldogul a sorral.
Előre is kösz a válaszokat!
a "TO" nem 14 karakter hosszu

-
Tussky
tag
Sziasztok!
A feladat az lenne,hogy egy filet soronként beolvassak és a megfelelő sorokból kinyerjem az adatokat.Addig eljutottam,hogy csak a megfelelő sorokat kinyerem,itt kéne az adott helyen lévő adatokat kimásolnom egy másik fájlba,azonban egy olyan problémval találkozok,amivel nem nagyon tudok mit kezdeni.
Konkrétan a program:
#include <fstream>
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main(){
string line, filename = "valami.txt";
ifstream file;
file.open(filename.c_str());
while (file.is_open() && file.eof()==false){
getline(file,line);
if( (line.compare(0,4,"HAMB")==0) && (line.compare(12,14,"TO")==0) ){
cout << line << endl;
}
}
file.close();
return 0;
}Valakinek van ötlete,hogy az if miért nem jó ? Fordításnál nincs gond,de amint futtatom terminated.Igazából,ha az if-es sor jó lenne,akkor tovább tudnék lépni,de nem jövök rá,hogy miért nem megy.A probléma az,hogyha két külön if-re bontom se boldogul a sorral.
Előre is kösz a válaszokat!
-
Dealer
tag
Hali! Tudnátok linkelni nekem valami értelmes tutorialt hogy hogyan lehet profin debuggolni c+ progit Visual Studio 2008 vagy 2006-ban? Eddig a sima Borland TC-hez voltam hozzászokva ott teljesen egyértelmü volt hogy mit is csinálok de ezen a VS-en nemtudok kiigazodni
...
köszi! -
Gyuri16
senior tag
hehe

1) milyen ajanlok Qt-hoz? Qt creatort, adja magat, az integralt Designer miatt nem is kell "kivulre" menni
2) milyet hasznalok? semmilyet
vim-ben kodolok regota (Qt-t is), imadom, egyelore nem talaltam meg olyan szerkesztot ami a nyomaba erhet, pedig probaltam parat (IDE-kbol pl. Dev-C++, Code:
locks, KDevelop, Qt Creator stb). a Creatorban van ugyan "fake vim", de csak a legeslegalapvetobb vim-es feature-oket tudja, semmi olyan nincs benne implementalva amitol a vim igazan hasznalhato es zsenialis 
3) vim guru nem vagyok, de hasznalom es szeretem regota
debugolni nem szoktam vim alol, bar ha jol tudom siman megoldhato, en altalaban vagy trace-elek, vagy ha muszaj szo szerint debugolni, akkor gdb
a kodban ugralassal meg szerintem a ctags-re gondolsz, ehhez nem kell semmi kulonleges, csak legeneralni a tags file-t (a forrasaid legfelso konyvtaraban ctags -R *), aztan a vim-nek elmagyarazni hogy ha az aktualis konyvtarban nem talal tags file-t, akkor menjen feljebb: set tags=tags;
(a vegere a ; kell!)SZERK: 'ugrani' ugy tudsz, hogy az osztaly(vagy barm imas)nevre allva CTRL+] -t nyomsz, visszalepni meg CTRL-t
orulok, hogy mas is hasznal vimet

igen ctags-ra gondolok, kicsit jatszottam vele (foleg azert, mert autocompletionhoz is kell), mas tapasztalata alapjan konnyebb beallitani ezeket a dolgokat. sajnos a dokumentacio egyes pluginokhoz eleg keves.
debuggolasra probaltam yavdb-t, de nem sikerult beizzitani (leiras alapjan nem tudtam megcsinalni)
gdb nekem mar tul fapadosugralos dolgot mindjart kiprobalom
-
doc
nagyúr
milyen IDE-t ajanlasz/hasznalsz Qt-hoz? (olyan wysiwyg csodara gondolok)
egyelore c-t vimben irok, ami szuper, viszont grafikus cuccot nem igazan tudom elkepzelni vele
(btw ha van itt vim guru, szivesen elbeszelgetnek vele
foleg debuggolas erdekel vim alol, illetve olyan -nem tudom a nevet- cucc ami odaugrik egy fuggveny kodjara, illetve vissza, ha egy fuggvenyhivasrol megnyomok egy gombot)hehe

1) milyen ajanlok Qt-hoz? Qt creatort, adja magat, az integralt Designer miatt nem is kell "kivulre" menni
2) milyet hasznalok? semmilyet
vim-ben kodolok regota (Qt-t is), imadom, egyelore nem talaltam meg olyan szerkesztot ami a nyomaba erhet, pedig probaltam parat (IDE-kbol pl. Dev-C++, Code:
locks, KDevelop, Qt Creator stb). a Creatorban van ugyan "fake vim", de csak a legeslegalapvetobb vim-es feature-oket tudja, semmi olyan nincs benne implementalva amitol a vim igazan hasznalhato es zsenialis 
3) vim guru nem vagyok, de hasznalom es szeretem regota
debugolni nem szoktam vim alol, bar ha jol tudom siman megoldhato, en altalaban vagy trace-elek, vagy ha muszaj szo szerint debugolni, akkor gdb
a kodban ugralassal meg szerintem a ctags-re gondolsz, ehhez nem kell semmi kulonleges, csak legeneralni a tags file-t (a forrasaid legfelso konyvtaraban ctags -R *), aztan a vim-nek elmagyarazni hogy ha az aktualis konyvtarban nem talal tags file-t, akkor menjen feljebb: set tags=tags;
(a vegere a ; kell!)SZERK: 'ugrani' ugy tudsz, hogy az osztaly(vagy barm imas)nevre allva CTRL+] -t nyomsz, visszalepni meg CTRL-t
-
Gyuri16
senior tag
csatlakozom a kollega urhoz
bar az nem derult ki, hogy konkretan milyen grafikara gondoltal. ha "ablakos" programokat akarsz irni, akkor sima C-hez meg a GTK passzol (amit mondjuk szivbol ruhellek, de mas normalis valasztas nem nagyon van)a Qt meg hatalmas tutisag

lassan meg a kenyerpiritora is portoljak, csillio nyelvbol hasznalhato (akar Java, Python, Perl, Ruby, Haskell, anyamkinja 1.0)milyen IDE-t ajanlasz/hasznalsz Qt-hoz? (olyan wysiwyg csodara gondolok)
egyelore c-t vimben irok, ami szuper, viszont grafikus cuccot nem igazan tudom elkepzelni vele
(btw ha van itt vim guru, szivesen elbeszelgetnek vele
foleg debuggolas erdekel vim alol, illetve olyan -nem tudom a nevet- cucc ami odaugrik egy fuggveny kodjara, illetve vissza, ha egy fuggvenyhivasrol megnyomok egy gombot) -
doc
nagyúr
csatlakozom a kollega urhoz
bar az nem derult ki, hogy konkretan milyen grafikara gondoltal. ha "ablakos" programokat akarsz irni, akkor sima C-hez meg a GTK passzol (amit mondjuk szivbol ruhellek, de mas normalis valasztas nem nagyon van)a Qt meg hatalmas tutisag

lassan meg a kenyerpiritora is portoljak, csillio nyelvbol hasznalhato (akar Java, Python, Perl, Ruby, Haskell, anyamkinja 1.0) -
D.e.x.
csendes tag
Köszi a segítséget. Jövőhéten vetek egy nagyobb pillantást az SDL-re.
D -
D.e.x.
csendes tag
Ejj, ettől tartottam... Feltételezem, a VS nem tartalmaz alapból grafika használatára alkalmas fv-eket... (asszem a conio.h-t sem...
)
Tudsz ajánlani esetleg valamit a grafikához, vagy térjek át C++-ra (arra találtam .cpp fájlokat, amelyek segíthetnek...)? -
Korcsii
őstag
A Borland és a Turbo is két antik retek, amit csak azért nyomnak az iskolákban, mert a tanárok lusták művelni magukat. Ahogy az előbb is említettem, csak DOS-ban működő móka mind a kettő.
A Dev-C++ teljesen korrekt választás, bár én annyira nem szeretem azt az IDE-t. Anno Code:
locks-ot használtam első félévben, azóta meg XCode-ot.Jah, közben láttam, hogy pont előttem írtad
csak amikor elkezdtem írni, még nem volt ott...Kösz, akkor marad a Dev-C++ egyelőre

-
Karma
félisten
Sziasztok!
Nos én is csatlakoznék a C klubhoz

Így az érettségire való jelentkezési határidő előtt nemsokkal úgy döntöttem, hogy pascal helyett C-ben fogok programozni (már ha emeltre megyek, mert még ez se biztos). Előzmények: érettségin turbo pascalt nem lehet már használni, csak free pascalt, amivel viszont még nem sikerült barátságot kötnöm - egyrészt nem tudom működésre bírni itthon, másrészt a suliban csak a tanári gépen írja ki a hibákat, a többi gépen csak a hibák számát, és rejtély hogy mért... éppen ezért a két héttel ezelőtti kis próbaérettségi szerűségen nem is tudtam megcsinálni a programozási feladatot (nem röhög: a program neve ugyan az volt, mint az egyik változó neve... hibaüzenettel én is kiszúrtam volna)... mivel félek, hogy a vizsgahelyszínen (emelt szint miatt más iskolában írjuk) sem lesz minden rendben vele, így jobbnak láttam, hogy nyár helyett már most nekiállok a C-nek. Nem, nem őrültem meg, tudom, hogy ez nem megy egyik napról a másikra, de úgy gondoltam, hogy kb egy év Pascal, és több mint 4 év PHP után össze tudom rakni a két nyelvet (előbbiből a programozási tételek, szemlélet, utóbbiból a kinézet, felépítés jött jól).
Az érettségi szoftverlistában Borland, Turbo, és Dev-C++ van felsorolva.
Ezek közül a legutolsót telepítettem fel két hete, és eddig meg is vagyok vele elégedve ("tanulás" közben írtam vele 10 apró programot, ami a fő funkciók/parancsok próbálgatása volt, azután egy program tele prog. tételekkel, majd egy hosszabb program, majd két korábbi érettségi). Szóval úgy néz ki, hogy ok lesz a dolog, de azért megkérdezem:
Ti melyik programot ajánljátok a fenti 3 közül? Avagy kérdezhetném úgy is, hogy van valami ellenjavallat a Dev-C++ ellen? Van valami, amiben a többi program jobb (választás lenne)?
Előre is kösz

A Borland és a Turbo is két antik retek, amit csak azért nyomnak az iskolákban, mert a tanárok lusták művelni magukat. Ahogy az előbb is említettem, csak DOS-ban működő móka mind a kettő.
A Dev-C++ teljesen korrekt választás, bár én annyira nem szeretem azt az IDE-t. Anno Code:
locks-ot használtam első félévben, azóta meg XCode-ot. -
Korcsii
őstag
Sziasztok!
Nos én is csatlakoznék a C klubhoz

Így az érettségire való jelentkezési határidő előtt nemsokkal úgy döntöttem, hogy pascal helyett C-ben fogok programozni (már ha emeltre megyek, mert még ez se biztos). Előzmények: érettségin turbo pascalt nem lehet már használni, csak free pascalt, amivel viszont még nem sikerült barátságot kötnöm - egyrészt nem tudom működésre bírni itthon, másrészt a suliban csak a tanári gépen írja ki a hibákat, a többi gépen csak a hibák számát, és rejtély hogy mért... éppen ezért a két héttel ezelőtti kis próbaérettségi szerűségen nem is tudtam megcsinálni a programozási feladatot (nem röhög: a program neve ugyan az volt, mint az egyik változó neve... hibaüzenettel én is kiszúrtam volna)... mivel félek, hogy a vizsgahelyszínen (emelt szint miatt más iskolában írjuk) sem lesz minden rendben vele, így jobbnak láttam, hogy nyár helyett már most nekiállok a C-nek. Nem, nem őrültem meg, tudom, hogy ez nem megy egyik napról a másikra, de úgy gondoltam, hogy kb egy év Pascal, és több mint 4 év PHP után össze tudom rakni a két nyelvet (előbbiből a programozási tételek, szemlélet, utóbbiból a kinézet, felépítés jött jól).
Az érettségi szoftverlistában Borland, Turbo, és Dev-C++ van felsorolva.
Ezek közül a legutolsót telepítettem fel két hete, és eddig meg is vagyok vele elégedve ("tanulás" közben írtam vele 10 apró programot, ami a fő funkciók/parancsok próbálgatása volt, azután egy program tele prog. tételekkel, majd egy hosszabb program, majd két korábbi érettségi). Szóval úgy néz ki, hogy ok lesz a dolog, de azért megkérdezem:
Ti melyik programot ajánljátok a fenti 3 közül? Avagy kérdezhetném úgy is, hogy van valami ellenjavallat a Dev-C++ ellen? Van valami, amiben a többi program jobb (választás lenne)?
Előre is kösz

-
Karma
félisten
Sziasztok!
A prog. előadás oldaláról leszedtem a Turbo C-t, és tartalmaz pár hasznos könyvtárat (első sorban ezért szedtem le).
Viszont a kezelő felület nem valami felhasználóbarát, illetve a fordított fájlok csak DOS-Box alatt futnak...
Van rá mód, hogy a graphics.lib, graphics.h, valamint a hozzájuk tartozó BGI fájlokat beépítsem egy Visual Studio projektbe? (Ha sehogy sem lehet megoldani, akkor az is elég lenne, ha a TC úgy fordítaná, hogy ne csak DOS-ban menjen. Vagy a grap. könyvtár kizárólag dos-ra van?)Köszi a segítséget!
DAz egész Turbo C úgy ahogy van csak DOS-ra van.
A grafikus könyvtára meg végképp, nem szabványos, hanem Borland-specifikus, amivel nem tudsz mit csinálni.
-
D.e.x.
csendes tag
Sziasztok!
A prog. előadás oldaláról leszedtem a Turbo C-t, és tartalmaz pár hasznos könyvtárat (első sorban ezért szedtem le).
Viszont a kezelő felület nem valami felhasználóbarát, illetve a fordított fájlok csak DOS-Box alatt futnak...
Van rá mód, hogy a graphics.lib, graphics.h, valamint a hozzájuk tartozó BGI fájlokat beépítsem egy Visual Studio projektbe? (Ha sehogy sem lehet megoldani, akkor az is elég lenne, ha a TC úgy fordítaná, hogy ne csak DOS-ban menjen. Vagy a grap. könyvtár kizárólag dos-ra van?)Köszi a segítséget!
D -
Devdi
aktív tag
-
Karma
félisten
Sziasztok.
Mostanában újra el kezdtem programozni...
Nemsoká jön az új félév aztán nem árt feleleveníti a régi dolgokat. Code Blocks-ban programozok és az a baj vele, hogy valamiért mikor azt akarom, hogy az eof-ig kérjen be számokat és írassa ki pl azt, hogy mennyi karaktert írattam be akkor utána mikor nyomok neki egy ctrl+c-t akkor kilép a programból éppen, hogy csak látom, hogy mennyi volt az érték. Azt hiszem, hogy régebben úgy volt, hogy ezt az értéket mindig láttam szóval nem lépett ki azonnal a programból. Ezt hol lehet beállítani a codeblocks-ban vagy inkább valami pause szerűséget használjak?
Ha igen akkor azt hogy? 
Az EOF az nem Control+C, hanem Control+Z

Nyomkodd azt, és valószínűleg jobb lesz.UNIX-szerű rendszereken meg Ctrl+D van.
-
Devdi
aktív tag
Sziasztok.
Mostanában újra el kezdtem programozni...
Nemsoká jön az új félév aztán nem árt feleleveníti a régi dolgokat. Code Blocks-ban programozok és az a baj vele, hogy valamiért mikor azt akarom, hogy az eof-ig kérjen be számokat és írassa ki pl azt, hogy mennyi karaktert írattam be akkor utána mikor nyomok neki egy ctrl+c-t akkor kilép a programból éppen, hogy csak látom, hogy mennyi volt az érték. Azt hiszem, hogy régebben úgy volt, hogy ezt az értéket mindig láttam szóval nem lépett ki azonnal a programból. Ezt hol lehet beállítani a codeblocks-ban vagy inkább valami pause szerűséget használjak?
Ha igen akkor azt hogy? 
-
Gyuri16
senior tag
Tehát, ha jól értelmezem az errno, hiba esetén felvesz egy adott értéket, aminek alapján belehet azonosítani a hibát. Ezt az adott értéket a hiba helye határozza meg? és létezik valamilyen lista a kódszám azonosítására
altalaban ugy mukodik, hogy meghivod a fuggvenyt, ha hibat csinal akkor beallitja az errno-t olyan ertekre amibol a programozo valamit megtudhat, es visszater -1-el. az errno egy szam lesz, ezek minden ilyen fuggvenynel le vannak irva a manualban. a linken amit legutobb adtam fel vannak sorolva omlesztve a hibakodok. a kod nem a hiba helyet adja meg, hanem a "fajtajat". tehat pl malloc. kaphatsz ENOMEM hibakodot, ez az jelenti, hogy nincs mar hely, es ne is nagyon bizz benne, hogy lesz, mig EAGAIN azt jelenti, hogy most nem sikerult lefoglalni a helyet, de majd probald meg kesobb.
-
Scroll Lock
tag
nem kell deklaralnod. hasznalni ugy kell hogy eloszor nullazod (ez foleg akkor kell, ha a fuggvenyed amit majd hivsz ha -1et ad vissza, nem feltetlenul hibat jelent). azutan meghivod a fuggvenyed, ha -1-el ter vissza akkor az errno-ban lesz a hiba oka. ezt nem rossz rogton feldolgozni, mert sok fuggveny modosithatja, igy aztan megvaltozhat az erteke
van egy par specialis eset, ezeket nem rossz megnezni a manualban. ugyanitt megtalalod a hibakodokat is
Tehát, ha jól értelmezem az errno, hiba esetén felvesz egy adott értéket, aminek alapján belehet azonosítani a hibát. Ezt az adott értéket a hiba helye határozza meg? és létezik valamilyen lista a kódszám azonosítására
-
D.e.x.
csendes tag
az okozza, hogy nincsenek fent az adott gepen a te forditodnak megfelelo runtime library-k.. ket lehetoseged van:
- feltelepititek a runtime-ot (vcredist.exe neven valahol ott van a Visual Studio konyvtaraban, vagy MS-tol is le lehet tolteni)
- statikusan linkeled a runtime-ot az exe-dhez (Project Properties | C/C++ | Code Generation | Runtime Library, es itt /MD helyett /MT)Köszi, így már indul gond nélkül.

-
Vasinger!
nagyúr
-
ArchElf
addikt
Kéne egy kis segítség. Sajna lemaradtam egy óráról, ahol elég sok minden fontos anyagot vettünk. Adott is házit a tanár, de azt nem tudom megcsinálni. Ha valaki leírná mit kéne beírnom, megköszönném.
C# -ban Console Application-ben kéne.
A feladat:
Beolvasni egy kitalált nevet, a szöveget és elé tenni, hogy Dr.
Beolvasunk egy stringet és ezeket megtisztítjuk a szóközöktől és kiíratni, hogy hány van.(gondolom karakter)
Beolvasunk egy nevet és csak a keresztnevet írja ki.Így írták le az osztálytársaim is. A sztringkezelő eljárásokat, függvényeket vettük.
Köszönöm előre is a segítséget!

Inkább ide.
AE
-
Vasinger!
nagyúr
Kéne egy kis segítség. Sajna lemaradtam egy óráról, ahol elég sok minden fontos anyagot vettünk. Adott is házit a tanár, de azt nem tudom megcsinálni. Ha valaki leírná mit kéne beírnom, megköszönném.
C# -ban Console Application-ben kéne.
A feladat:
Beolvasni egy kitalált nevet, a szöveget és elé tenni, hogy Dr.
Beolvasunk egy stringet és ezeket megtisztítjuk a szóközöktől és kiíratni, hogy hány van.(gondolom karakter)
Beolvasunk egy nevet és csak a keresztnevet írja ki.Így írták le az osztálytársaim is. A sztringkezelő eljárásokat, függvényeket vettük.
Köszönöm előre is a segítséget!

-
sghc_toma
senior tag
Sziasztok! Azt mi okozza, hogy lefordítok egy .c fájlt (vagy többet egy projecthez) Visual Studio 2008 Pro-ban, és amikor a létrehozott .exe fájlt valakinek elküldöm, akkor asszem valami Configuration error-ral nem indul. Viszont van akinél indul.
A rendszerem 64 bites, de nem x64-re fordít, ugyanis akinél ment, 32 bites redszer van. És neki is akadt hasonló problémája, hogy az exe fájl nem volt hordozható (nálam viszont ment az övé).
VS beállítási gond lehet?
Ha kevés az információ, akkor igyekszem minél hamarabb pótolni.
Köszi a segítséget!
Daz okozza, hogy nincsenek fent az adott gepen a te forditodnak megfelelo runtime library-k.. ket lehetoseged van:
- feltelepititek a runtime-ot (vcredist.exe neven valahol ott van a Visual Studio konyvtaraban, vagy MS-tol is le lehet tolteni)
- statikusan linkeled a runtime-ot az exe-dhez (Project Properties | C/C++ | Code Generation | Runtime Library, es itt /MD helyett /MT) -
Gyuri16
senior tag
Sziasztok!
Olvastam a netet ugyan de nem igazán akkor leesni, hogy az <errno.h> hogyan kell pontosan használni, meg eléggé sürget az idő Tehát deklarálok egy ilyen nevű változót és hiba esetén hol fog megjelenni a hibakód? Az object file-ban?
Másik kérdésem, hogy az EDOM, ERANGE makrók is hasonlóan működnek? Ha valaki egy rövid leírást adna a témával kapcsolatban azt megköszönném.nem kell deklaralnod. hasznalni ugy kell hogy eloszor nullazod (ez foleg akkor kell, ha a fuggvenyed amit majd hivsz ha -1et ad vissza, nem feltetlenul hibat jelent). azutan meghivod a fuggvenyed, ha -1-el ter vissza akkor az errno-ban lesz a hiba oka. ezt nem rossz rogton feldolgozni, mert sok fuggveny modosithatja, igy aztan megvaltozhat az erteke
van egy par specialis eset, ezeket nem rossz megnezni a manualban. ugyanitt megtalalod a hibakodokat is
-
D.e.x.
csendes tag
Sziasztok!
Olvastam a netet ugyan de nem igazán akkor leesni, hogy az <errno.h> hogyan kell pontosan használni, meg eléggé sürget az idő Tehát deklarálok egy ilyen nevű változót és hiba esetén hol fog megjelenni a hibakód? Az object file-ban?
Másik kérdésem, hogy az EDOM, ERANGE makrók is hasonlóan működnek? Ha valaki egy rövid leírást adna a témával kapcsolatban azt megköszönném.Ha jól tudom, az errno-t a matematika függvények használják (másról nem tudok). A matek könyvtárnak van három fontos makrója: EDOM (értelmezési tartomány hiba), ERANGE (értékhatár átlépés, pl ha a tangens argumentuma nagyon közel van Pi/2, -Pi/2-höz, ahol ugye nincs értelmezve), HUGE_VAL (túlcsordulás). Ha valamelyik előfordul egy fv. hívásánál, akkor a fv. az errno értékét a megfelelőre állítja. Így pl. a biztonság kedvéért le tudod ellenőrizni, hogy nem volt-e valami hiba, ami rossz irányba befolyásolná a futást.
Úgy tudom, hogy a könyvtárak deklarálják (extern int asszem), szóval ezzel nem kell bajolni. -
Scroll Lock
tag
Sziasztok!
Olvastam a netet ugyan de nem igazán akkor leesni, hogy az <errno.h> hogyan kell pontosan használni, meg eléggé sürget az idő Tehát deklarálok egy ilyen nevű változót és hiba esetén hol fog megjelenni a hibakód? Az object file-ban?
Másik kérdésem, hogy az EDOM, ERANGE makrók is hasonlóan működnek? Ha valaki egy rövid leírást adna a témával kapcsolatban azt megköszönném. -
D.e.x.
csendes tag
Sziasztok! Azt mi okozza, hogy lefordítok egy .c fájlt (vagy többet egy projecthez) Visual Studio 2008 Pro-ban, és amikor a létrehozott .exe fájlt valakinek elküldöm, akkor asszem valami Configuration error-ral nem indul. Viszont van akinél indul.
A rendszerem 64 bites, de nem x64-re fordít, ugyanis akinél ment, 32 bites redszer van. És neki is akadt hasonló problémája, hogy az exe fájl nem volt hordozható (nálam viszont ment az övé).
VS beállítási gond lehet?
Ha kevés az információ, akkor igyekszem minél hamarabb pótolni.
Köszi a segítséget!
D -
shev7
veterán
Annyira nem szigorúak, csak ha, meg van adva egy feladat, akkor pontosan olyannak kell lennie a kimenetnek mint, ami a példában szerepel, valamint néha kikötnek ezt-azt, hogy azt ne használjuk. A lezáró '\0' jogos, de az én kódomban a gépen szerepel, úgy, hogy vagy töröltem innen lányos zavaromban, vagy csak egy korábbi állapotot másoltam be

Amúgy köszömöm, fgets-et tanulmányozom akkor picit.semmi

-
Dead_slow
tag
ha a tanaraid szigoruak, akkor meg van par dolog amit lehet ezen javitani:
1. gets nem egy tul jo fuggveny, mert nem ellenorzi a buffer es a bemenet hosszat. buffer overrun lehet a vege. helyette inkabb fgets ajanlott
2. a programod jol lefut, ha olyan bemenetet kap, mint amilyet var, viszont ha csak egy vesszo van a mondat-ban, akkor csunya dolgokat csinal. a while ciklusaidban jo lenne a mondat veget jelzo \0-t is figyelni (ilyenkor valami hibakoddal kilepni)
ez ervenyes az i=i+2-re is
3. a masodik es harmadik stringet nem zarod le \0-valAnnyira nem szigorúak, csak ha, meg van adva egy feladat, akkor pontosan olyannak kell lennie a kimenetnek mint, ami a példában szerepel, valamint néha kikötnek ezt-azt, hogy azt ne használjuk. A lezáró '\0' jogos, de az én kódomban a gépen szerepel, úgy, hogy vagy töröltem innen lányos zavaromban, vagy csak egy korábbi állapotot másoltam be

Amúgy köszömöm, fgets-et tanulmányozom akkor picit. -
Karma
félisten
ha a tanaraid szigoruak, akkor meg van par dolog amit lehet ezen javitani:
1. gets nem egy tul jo fuggveny, mert nem ellenorzi a buffer es a bemenet hosszat. buffer overrun lehet a vege. helyette inkabb fgets ajanlott
2. a programod jol lefut, ha olyan bemenetet kap, mint amilyet var, viszont ha csak egy vesszo van a mondat-ban, akkor csunya dolgokat csinal. a while ciklusaidban jo lenne a mondat veget jelzo \0-t is figyelni (ilyenkor valami hibakoddal kilepni)
ez ervenyes az i=i+2-re is
3. a masodik es harmadik stringet nem zarod le \0-val"1. gets nem egy tul jo fuggveny, mert nem ellenorzi a buffer es a bemenet hosszat. buffer overrun lehet a vege. helyette inkabb fgets ajanlott"
A tanáraik már bizonyították, hogy fogalmuk sincs a C-ről, a tankönyvük pedig gets-t használ, gyanítom azért erőltetik azt.

-
Gyuri16
senior tag
Köszönöm, így már értem

#include<stdio.h>
char mondat[100];
char elso[100];
char masodik[100];
char harmadik[100];
int i,j,k,l;
int main(){
printf("adatok: ");
gets(mondat);
i=0;
do{
elso[i]=mondat[i];
i++;
}while(mondat[i]!=',');
elso[i+1]=='\0';
i=i+2;
j=0;
do{
masodik[j]=mondat[i];
i++;
j++;
}while(mondat[i]!=',');
i=i+2;
j=0;
do{
harmadik[j]=mondat[i];
i++;
j++;
}while(mondat[i]!='\0');
printf("%s\n",elso);
printf("%s\n",masodik);
printf("%s\n",harmadik);
system("pause");
return 0;
}ha a tanaraid szigoruak, akkor meg van par dolog amit lehet ezen javitani:
1. gets nem egy tul jo fuggveny, mert nem ellenorzi a buffer es a bemenet hosszat. buffer overrun lehet a vege. helyette inkabb fgets ajanlott
2. a programod jol lefut, ha olyan bemenetet kap, mint amilyet var, viszont ha csak egy vesszo van a mondat-ban, akkor csunya dolgokat csinal. a while ciklusaidban jo lenne a mondat veget jelzo \0-t is figyelni (ilyenkor valami hibakoddal kilepni)
ez ervenyes az i=i+2-re is
3. a masodik es harmadik stringet nem zarod le \0-val -
Dead_slow
tag
"nem fogadták el, mondván, hogy a név állhat simán 3 részből is"
az nem gond. amit en irtam az az utolso reszt elolvassa a \n-ig, tehat ilyen is jo lesz:
valami, 2, Abc Efg Hijaz viszont igaz, hogy ezt nem igy kellene megcsinalni, amint azt Jester01 is irta.
azzal amit irtal az a gond, hogy elso, masodik es harmadik stringjeidet i-vel indexeled, ami egyre nagyobb. az elso jo lesz, de a masodikban mar nem a nulladik helyrol kezded feltolteni a stringet.Köszönöm, így már értem

#include<stdio.h>
char mondat[100];
char elso[100];
char masodik[100];
char harmadik[100];
int i,j,k,l;
int main(){
printf("adatok: ");
gets(mondat);
i=0;
do{
elso[i]=mondat[i];
i++;
}while(mondat[i]!=',');
elso[i+1]=='\0';
i=i+2;
j=0;
do{
masodik[j]=mondat[i];
i++;
j++;
}while(mondat[i]!=',');
i=i+2;
j=0;
do{
harmadik[j]=mondat[i];
i++;
j++;
}while(mondat[i]!='\0');
printf("%s\n",elso);
printf("%s\n",masodik);
printf("%s\n",harmadik);
system("pause");
return 0;
} -
Gyuri16
senior tag
Köszönöm, összehoztam bár nem láncolt listával.
Nemrég kérdeztem itt, hogy lehetne beolvasni egy ilyen formátumú(pamacs, 7, Vnev Knev) stringet úgy hogy mind a három adatot külön tárolja el, akkor írtál egy scanf-es megoldást, de azt nem fogadták el, mondván, hogy a név állhat simán 3 részből is, csináljam gets-el ezt mondták. Gondoltam feldarabolom, de valamiért nem akar működni, tudom alap dolog, de mégsem jó, az elsőt még kiírja, de a másodikat illetve a harmadikat már nem. Itt a main fv-m.
int main(){
printf("adatok: ");
gets(mondat);
i=0;
do{
elso[i]=mondat[i];
i++;
}while(mondat[i]!=',');
i=i+2;
do{
masodik[i]=mondat[i];
i++;
}while(mondat[i]!=',');
i=i+2;
do{
harmadik[i]=mondat[i];
i++;
}while(mondat[i]!='\0')
printf("%s\n",elso);
printf("%s\n",masodik);
printf("%s\n",harmadik);
system("pause");
return 0;
}"nem fogadták el, mondván, hogy a név állhat simán 3 részből is"
az nem gond. amit en irtam az az utolso reszt elolvassa a \n-ig, tehat ilyen is jo lesz:
valami, 2, Abc Efg Hijaz viszont igaz, hogy ezt nem igy kellene megcsinalni, amint azt Jester01 is irta.
azzal amit irtal az a gond, hogy elso, masodik es harmadik stringjeidet i-vel indexeled, ami egyre nagyobb. az elso jo lesz, de a masodikban mar nem a nulladik helyrol kezded feltolteni a stringet. -
Karma
félisten
Köszönöm, összehoztam bár nem láncolt listával.
Nemrég kérdeztem itt, hogy lehetne beolvasni egy ilyen formátumú(pamacs, 7, Vnev Knev) stringet úgy hogy mind a három adatot külön tárolja el, akkor írtál egy scanf-es megoldást, de azt nem fogadták el, mondván, hogy a név állhat simán 3 részből is, csináljam gets-el ezt mondták. Gondoltam feldarabolom, de valamiért nem akar működni, tudom alap dolog, de mégsem jó, az elsőt még kiírja, de a másodikat illetve a harmadikat már nem. Itt a main fv-m.
int main(){
printf("adatok: ");
gets(mondat);
i=0;
do{
elso[i]=mondat[i];
i++;
}while(mondat[i]!=',');
i=i+2;
do{
masodik[i]=mondat[i];
i++;
}while(mondat[i]!=',');
i=i+2;
do{
harmadik[i]=mondat[i];
i++;
}while(mondat[i]!='\0')
printf("%s\n",elso);
printf("%s\n",masodik);
printf("%s\n",harmadik);
system("pause");
return 0;
}Azért ez üt... "mondván, hogy a név állhat simán 3 részből is".
Semmi szépet nem tudok elmondani az oktatásunk állásáról.Egyébként az lehet baj például, hogy a masodik és harmadik tömbökbe az i. helytől kezdesz el írni, így az első i-1 karakterben vagy szemét van.
Egyáltalán ezek mik? Hogy vannak deklarálva?
-
Dead_slow
tag
amit irsz, igy ranezesre jo. tehat tegyuk fel, hogy a beolvasas megvan.
a listaz fv-ben megallapitod a min es max evet amit majd a kimenetbe irsz. itt egy kis bug szerintem, a max-ban a tavozast kellene nezni, nem az erkezest.tovabb az en javaslatom:
lesz egy tombod amit az evvel indexelsz ( (ev-min)-nel konkretan, hogy uljenek az indexek). ez a tombod jegyzi meg az evben ott levo elefantok nevet. Ezt szerintem legegyszerubb lancolt listaval (mivel elore nem tudod, hogy mennyi elefant lesz az adott evben, igy elore nem tudnad a tombot lefoglalni. persze lehet lefoglalni tobbet..)
szoval a tombod minden eleme egy lancolt lista elejere fog mutatni. a lista elemei lehetnek mutatok az elefant structokra. egy ciklusban vegigmesz az osszes elefanton, es az eves tombodbe a listakba hozzaadod a megfelelo evekhez.ha nincs kedved a lancolt listahoz, lehet csinalni tombbel is, akkor lefoglalsz akkora tomboket mint amennyi elefant osszesen van.
ha pedig csak kiiratni kell, akkor lehet akar egyenesen stringbe is gyujteni a neveket evek szerint, ez is kicsit maceras, hiszen oda kell figyelni, hogy eleg hely legyen lefoglalva
lehet mashogy is csinalni, de gondolom nincs egy elefantfarmod ahol tenyleg futna a program
Köszönöm, összehoztam bár nem láncolt listával.
Nemrég kérdeztem itt, hogy lehetne beolvasni egy ilyen formátumú(pamacs, 7, Vnev Knev) stringet úgy hogy mind a három adatot külön tárolja el, akkor írtál egy scanf-es megoldást, de azt nem fogadták el, mondván, hogy a név állhat simán 3 részből is, csináljam gets-el ezt mondták. Gondoltam feldarabolom, de valamiért nem akar működni, tudom alap dolog, de mégsem jó, az elsőt még kiírja, de a másodikat illetve a harmadikat már nem. Itt a main fv-m.
int main(){
printf("adatok: ");
gets(mondat);
i=0;
do{
elso[i]=mondat[i];
i++;
}while(mondat[i]!=',');
i=i+2;
do{
masodik[i]=mondat[i];
i++;
}while(mondat[i]!=',');
i=i+2;
do{
harmadik[i]=mondat[i];
i++;
}while(mondat[i]!='\0')
printf("%s\n",elso);
printf("%s\n",masodik);
printf("%s\n",harmadik);
system("pause");
return 0;
} -
Jester01
veterán
amit irsz, igy ranezesre jo. tehat tegyuk fel, hogy a beolvasas megvan.
a listaz fv-ben megallapitod a min es max evet amit majd a kimenetbe irsz. itt egy kis bug szerintem, a max-ban a tavozast kellene nezni, nem az erkezest.tovabb az en javaslatom:
lesz egy tombod amit az evvel indexelsz ( (ev-min)-nel konkretan, hogy uljenek az indexek). ez a tombod jegyzi meg az evben ott levo elefantok nevet. Ezt szerintem legegyszerubb lancolt listaval (mivel elore nem tudod, hogy mennyi elefant lesz az adott evben, igy elore nem tudnad a tombot lefoglalni. persze lehet lefoglalni tobbet..)
szoval a tombod minden eleme egy lancolt lista elejere fog mutatni. a lista elemei lehetnek mutatok az elefant structokra. egy ciklusban vegigmesz az osszes elefanton, es az eves tombodbe a listakba hozzaadod a megfelelo evekhez.ha nincs kedved a lancolt listahoz, lehet csinalni tombbel is, akkor lefoglalsz akkora tomboket mint amennyi elefant osszesen van.
ha pedig csak kiiratni kell, akkor lehet akar egyenesen stringbe is gyujteni a neveket evek szerint, ez is kicsit maceras, hiszen oda kell figyelni, hogy eleg hely legyen lefoglalva
lehet mashogy is csinalni, de gondolom nincs egy elefantfarmod ahol tenyleg futna a program
Láncolt lista elefántokból:


-
Gyuri16
senior tag
Üdv!
Újra segítséget kérek a topik "lakóitól" itt a feladat: Egy elefánt menhelyre nyilvántartó programot készítünk. A program először bekéri a menhelyen megfordult elefántok számát, majd ezután bekéri és eltárolja az elefántok nevét, a menhelyre érkezés évét, valamint a menhelyről távozás évét(lásd a példát).
Eztán a program kilistázza évenkénti bontásban az adott évben a menhelyen tartózkodott elefántok nevét. A listázás a legkorábban érkezett elefánt érkezési évétől a legkésőbb távozott elefánt távozási évéig tart.Pl.:
Elefántok száma: 4
1. Neve: Trombi
Erkezes: 1998
Tavozas: 2001
2. Neve: Frédi
Erkezes: 1999
Tavozas: 2000
3. Neve: Olga
Erkezes: 1998
Tavozas: 1999
4. Neve: Helga
Erkezes: 2004
Tavozas: 2005Kimenet:
1998: Trombi, Olga
1999: Trombi, Frédi, Olga
2000: Trombi, Frédi
2001: Trombi
2002:
2003:
2004: Helga
2005: HelgaJelenleg itt tartok, persze nem biztos hogy így jó lesz:
#include<stdio.h>
struct elefant{
char nev[41];
int erkezes;
int tavozas;
};
struct elefanttar{
int db;
struct elefant *elefantok;
};
void lefoglal(struct elefanttar *pfe){
printf("kerem az elefantok szamat: ");
scanf("%d",&(*pfe).db);
(*pfe).elefantok=(struct elefant*)malloc(sizeof(struct elefant)*(*pfe).db);
}
void beker_elefant(struct elefant *pe){
printf("Neve: ");
scanf("%s",(*pe).nev);
printf("Erkezes: ");
scanf("%d",&(*pe).erkezes);
printf("Tavozas: ");
scanf("%d",&(*pe).tavozas);
}
void beker_elefanttar(struct elefanttar *pet){
int i;
for(i=0;i<(*pet).db;i++){
beker_elefant(&(*pet).elefantok[i]);
}
}
void listaz(struct elefanttar *let){
char c[41];
int sorba[200];
int max=0;
int min=10000;
int i,j,k;
for(i=0;i<(*let).db;i++){
if(max<(*let).elefantok[i].erkezes){
max=(*let).elefantok[i].erkezes;
}
}
for(j=0;j<(*let).db;j++){
if(min>(*let).elefantok[j].erkezes){
min=(*let).elefantok[j].erkezes;
}
}
}
void felszabadit(struct elefanttar *pfe){
free((*pfe).elefantok);
(*pfe).elefantok=NULL;
}
int main(){
struct elefanttar b;
lefoglal(&b);
beker_elefanttar(&b);
listaz(&b);
felszabadit(&b);
return 0;
}amit irsz, igy ranezesre jo. tehat tegyuk fel, hogy a beolvasas megvan.
a listaz fv-ben megallapitod a min es max evet amit majd a kimenetbe irsz. itt egy kis bug szerintem, a max-ban a tavozast kellene nezni, nem az erkezest.tovabb az en javaslatom:
lesz egy tombod amit az evvel indexelsz ( (ev-min)-nel konkretan, hogy uljenek az indexek). ez a tombod jegyzi meg az evben ott levo elefantok nevet. Ezt szerintem legegyszerubb lancolt listaval (mivel elore nem tudod, hogy mennyi elefant lesz az adott evben, igy elore nem tudnad a tombot lefoglalni. persze lehet lefoglalni tobbet..)
szoval a tombod minden eleme egy lancolt lista elejere fog mutatni. a lista elemei lehetnek mutatok az elefant structokra. egy ciklusban vegigmesz az osszes elefanton, es az eves tombodbe a listakba hozzaadod a megfelelo evekhez.ha nincs kedved a lancolt listahoz, lehet csinalni tombbel is, akkor lefoglalsz akkora tomboket mint amennyi elefant osszesen van.
ha pedig csak kiiratni kell, akkor lehet akar egyenesen stringbe is gyujteni a neveket evek szerint, ez is kicsit maceras, hiszen oda kell figyelni, hogy eleg hely legyen lefoglalva
lehet mashogy is csinalni, de gondolom nincs egy elefantfarmod ahol tenyleg futna a program
-
moha21
veterán
lehet azért kell neki, mert ki szeretne lépni a programból bár azt én sem értem miért kell mindekettő.
-
Dead_slow
tag
Üdv!
Újra segítséget kérek a topik "lakóitól" itt a feladat: Egy elefánt menhelyre nyilvántartó programot készítünk. A program először bekéri a menhelyen megfordult elefántok számát, majd ezután bekéri és eltárolja az elefántok nevét, a menhelyre érkezés évét, valamint a menhelyről távozás évét(lásd a példát).
Eztán a program kilistázza évenkénti bontásban az adott évben a menhelyen tartózkodott elefántok nevét. A listázás a legkorábban érkezett elefánt érkezési évétől a legkésőbb távozott elefánt távozási évéig tart.Pl.:
Elefántok száma: 4
1. Neve: Trombi
Erkezes: 1998
Tavozas: 2001
2. Neve: Frédi
Erkezes: 1999
Tavozas: 2000
3. Neve: Olga
Erkezes: 1998
Tavozas: 1999
4. Neve: Helga
Erkezes: 2004
Tavozas: 2005Kimenet:
1998: Trombi, Olga
1999: Trombi, Frédi, Olga
2000: Trombi, Frédi
2001: Trombi
2002:
2003:
2004: Helga
2005: HelgaJelenleg itt tartok, persze nem biztos hogy így jó lesz:
#include<stdio.h>
struct elefant{
char nev[41];
int erkezes;
int tavozas;
};
struct elefanttar{
int db;
struct elefant *elefantok;
};
void lefoglal(struct elefanttar *pfe){
printf("kerem az elefantok szamat: ");
scanf("%d",&(*pfe).db);
(*pfe).elefantok=(struct elefant*)malloc(sizeof(struct elefant)*(*pfe).db);
}
void beker_elefant(struct elefant *pe){
printf("Neve: ");
scanf("%s",(*pe).nev);
printf("Erkezes: ");
scanf("%d",&(*pe).erkezes);
printf("Tavozas: ");
scanf("%d",&(*pe).tavozas);
}
void beker_elefanttar(struct elefanttar *pet){
int i;
for(i=0;i<(*pet).db;i++){
beker_elefant(&(*pet).elefantok[i]);
}
}
void listaz(struct elefanttar *let){
char c[41];
int sorba[200];
int max=0;
int min=10000;
int i,j,k;
for(i=0;i<(*let).db;i++){
if(max<(*let).elefantok[i].erkezes){
max=(*let).elefantok[i].erkezes;
}
}
for(j=0;j<(*let).db;j++){
if(min>(*let).elefantok[j].erkezes){
min=(*let).elefantok[j].erkezes;
}
}
}
void felszabadit(struct elefanttar *pfe){
free((*pfe).elefantok);
(*pfe).elefantok=NULL;
}
int main(){
struct elefanttar b;
lefoglal(&b);
beker_elefanttar(&b);
listaz(&b);
felszabadit(&b);
return 0;
} -
Sk8erPeter
nagyúr
Amilyen gyorsan megtanultad, ugyanolyan gyorsan felejtsd is el

Ugyanis semmilyen hibakezelést nem végez így nagyon kiváló túlcsordulást lehet vele csinálni. Persze tehetsz bele max hosszot, de akkor meg azzal kell külön vacakolni, hogy a pufferben maradt szemetet kiolvasd (ugye a példa szerint is benne marad egy enter ami a következő beolvasást megzavarhatja) illetve hogy értelmes hibaüzenetet adj. Szóval kb házi feladat programokhoz jó, egyébként pedig egész sorokat kell olvasni és aztán szépen értelmezni. Macerás, de ez van.Hát jó, köszi, hogy felhívtad a figyelmem még idejében.

-
Jester01
veterán
Jé, ez király, ezt eddig nem is tudtam, nekem is hasznos lesz, danke schön.

Amilyen gyorsan megtanultad, ugyanolyan gyorsan felejtsd is el

Ugyanis semmilyen hibakezelést nem végez így nagyon kiváló túlcsordulást lehet vele csinálni. Persze tehetsz bele max hosszot, de akkor meg azzal kell külön vacakolni, hogy a pufferben maradt szemetet kiolvasd (ugye a példa szerint is benne marad egy enter ami a következő beolvasást megzavarhatja) illetve hogy értelmes hibaüzenetet adj. Szóval kb házi feladat programokhoz jó, egyébként pedig egész sorokat kell olvasni és aztán szépen értelmezni. Macerás, de ez van. -
Sk8erPeter
nagyúr
scanf tud olyat, hogy a formazo stringben megmondod neki milyen karaktereket matcheljen. igy kell irni: %[a-z] ez pl azt jelenti hogy mindent a-tol z-ig. negalni lehet ^ jellel, that pl ez: %[^,] azt jelenti, hogy mindent a vesszon kivul. ezt felhasznaljuk ehhez. tehat az elso kettonel (Lili, 7) az elvalaszto a vesszo lesz, a harmadiknal pedig a \n. igy fog kinezni:
#include <stdio.h>
int main() {
char a[80], b[80], c[80];
scanf("%[^,], %[^,], %[^\n]",a, b, c);
printf("%s\n%s\n%s\n", a, b, c);
}Jé, ez király, ezt eddig nem is tudtam, nekem is hasznos lesz, danke schön.

-
Gyuri16
senior tag
Üdv urak nekem is kellen egy kis segítség.
Adott egy feladat amiben az adatok bekérését olyen formán kell megadni, hogy: "Lili, 7, Szabó Gergő"
A kérdés az, hogy hogy tudnám ezt úgy beolvastatni hogy a "Lili" a "7" és a "Szabó Gergő" is egy-egy külön stringben legyen eltárolva.
Köszönöm
scanf tud olyat, hogy a formazo stringben megmondod neki milyen karaktereket matcheljen. igy kell irni: %[a-z] ez pl azt jelenti hogy mindent a-tol z-ig. negalni lehet ^ jellel, that pl ez: %[^,] azt jelenti, hogy mindent a vesszon kivul. ezt felhasznaljuk ehhez. tehat az elso kettonel (Lili, 7) az elvalaszto a vesszo lesz, a harmadiknal pedig a \n. igy fog kinezni:
#include <stdio.h>
int main() {
char a[80], b[80], c[80];
scanf("%[^,], %[^,], %[^\n]",a, b, c);
printf("%s\n%s\n%s\n", a, b, c);
} -
Dead_slow
tag
Üdv urak nekem is kellen egy kis segítség.
Adott egy feladat amiben az adatok bekérését olyen formán kell megadni, hogy: "Lili, 7, Szabó Gergő"
A kérdés az, hogy hogy tudnám ezt úgy beolvastatni hogy a "Lili" a "7" és a "Szabó Gergő" is egy-egy külön stringben legyen eltárolva.
Köszönöm
-
cellpeti
nagyúr
illetve,csak printf-et és getline-t szabad használni!
De köszönöm!
-
Sk8erPeter
nagyúr
-
shev7
veterán
de amikor bekered szavany bemenetrol akkor egybol el is tarolod. Vagy a bekeres nem megy? akkor kerdezd azt

char* str; // ez lehetne char str[50] is de akkor 50-nel nagyobb inputnal bajban vagy
scanf("%s", str); -
cellpeti
nagyúr
-
shev7
veterán
Új hozzászólás Aktív témák
-
1800 - 1701
6397 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Garanciális samsung galaxy watch 8 classic
- Samsung QVO 870 SSD (1 TB) 100/100%
- Új, bontatlan - Apple MacBook Air 13 M4 16/256GB - Sky Blue
- Új Dobozos ASUS VivoBook Go 15 Laptop 15,6" -20% Ryzen 5 7520U 16/512 Radeon Graphics FHD OLED
- Új HP ZBook Firefly 16 G10 Profi Tervező Vágó Laptop -50% i7-1355U 16/1TB FHD+ RTX A500 4GB
- BESZÁMÍTÁS! EVGA XC3 ULTRA RTX 3070Ti 8GB videókártya garanciával hibátlan működéssel
- Targus DOCK423A - USB-C Dual HDMI 4K HUB - 2 x HDMI (120Hz)
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400 F / RTX 3060Ti / 16GB DDR4 / 512 SSD
- GYÖNYÖRŰ iPhone 15 128GB Yellow -2 ÉV GARANCIA - Kártyafüggetlen, MS5346
- Telefon felvásárlás!! iPhone 17 /iPhone17e / iPhone 17 Pro/ iPhone 17 Pro Max
Állásajánlatok
Cég: aiMotive Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



)

![;]](http://cdn.rios.hu/dl/s/v1.gif)
Bocsi.

...







