Hirdetés
Új hozzászólás Aktív témák
-
kispx
addikt
válasz Retekegér #2688 üzenetére
Inkább Code:: Blocks. A Dev-C++ kicsit bugos, és ha jól látom akkor már fejlesztik tovább.
[ Szerkesztve ]
-
kispx
addikt
Üdv,
Az alábbi kódrészletet miért lehet lefordítani? Mármint definiálunk egy switch szerkezetet, majd az egyik case ágában egy do-while ciklust írunk és ebben a ciklusban folytatjuk tovább a case ágakat.switch (count % 8) {
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while ((count -= 8) > 0);
}[ Szerkesztve ]
-
kispx
addikt
válasz kovacsakos91 #3069 üzenetére
-
kispx
addikt
válasz kovacsakos91 #3076 üzenetére
Kisebb játékot akarsz írni? Vagy milyen témájút? Több fórumon is láttam, hogy ezt a kérdést felraktad, és gyakorlatilag az összes használható feladatgyűjteményt felsoroltuk.
Esetleg egy-két házi van még, amit az egyetemen kaptunk.
-
kispx
addikt
válasz hruodnand #3095 üzenetére
Nos, debuggoltam egy kicsit a Code :: Block alatt és ugyanaz a hiba mint neked. Egy pár említésre méltó érdekesség:
1) ha a tömbdeklaráció után egy printffel kiíratom az u3 tömb egyik elemét, akkor a deklarálásnál mindkét tömböt normálisan kinullázza.
2) ugyanúgy kinullázza az u3 tömböt, ha az u1 tömb egyik elemét íratom ki
3) a szokásos memset(u1, 0, N); memset(u3, 0, N) kezdőértékadásnál is a deklarációnál kinullázza a tömböket.[ Szerkesztve ]
-
kispx
addikt
válasz Jester01 #3098 üzenetére
De akkor miért nullázza ki az egyiket és miért nem a másikat? Főleg, hogy ha a két változódeklarálást felcserélem akkor pont a másikat nem nullázza ki, azaz mindig a második tömb az inicializálatlan.
(Megjegyzem a MinGW ritkán fent nálam, most is csak azért mert beadandót kell készíteni, szóval nem ismerem ezt a fordítót)
Egyébként ott a pont
-
kispx
addikt
válasz cooldongo #3221 üzenetére
Meddig jutottál el benne?
shinodas
http://stevenkobes.com/ctest.html
Ebben egy-két feladatot érdekesnek találtam (személy szerint). Viszont ez csak tesz jellegú-[ Szerkesztve ]
-
kispx
addikt
válasz cooldongo #3223 üzenetére
A feltételt nem értem, mert "van egy fv amely paraméterként kap egy stringet és egy betűt"
gondolom akkor a függvény hívása így néz ki
fv ("ez itt a string", 'e')int fv(const char* p, char c)
{
int i = 0;
int v=-1;for (; i< strlen(p); i++)
if (p[ I ]== c)
{v = i; break;}return v;
}Szerk.: jelenleg nem tudom kipróbálni, mert nem olyan gép előtt vagyok amin van C fordító, de kb így néz ki az a, a b-t meg már innen be tudod fejezni.
[ Szerkesztve ]
-
kispx
addikt
válasz cooldongo #3235 üzenetére
Ha paraméterként kapja meg annak azt a két kör aminek a középpontját összeakarod hasonlítani, akkor miért definiálsz két másik kört?
A paraméterként kapott köröknek kell a középpontját összehasonlítani.b = kor1.x==kor2.x && kor1.y==kor2.y ? egybeesik : nem;
Gondolom előtte van egybeesik, és nem nevű konstansod definiálva. És ezekkel az értékekkel mikor tér vissza? (kell egy return b utasítás). És mi a függvény visszatérési típusa?[ Szerkesztve ]
-
kispx
addikt
válasz cooldongo #3240 üzenetére
még egy valami:
"írjon fv-t amely paraméterként kap két kor típusú struktúra címet és visszaadja hogy a két kör középpontja egybeesik vagy nem"
az fv függvény ha jól látom nem a kor címét várja.
És a memórialefoglalásnál és a for cikluson belül is bajok vannak.
És a feladat szerint a b feladatban definiált függvény meg kéne hívni
[ Szerkesztve ]
-
kispx
addikt
válasz shinodas #3314 üzenetére
A függvényed így néz ki:
int massal_magan (char result[], int *magan, int *massal)
Tehát második paraméterként egy int-re mutató pointert vár.A függvényhívásod így néz ki:
int *magan=0;
//...
massal_magan(result, *magan, massal);A második paraméternél a mutatott objektumot adtad át és nem a rá hivatkozó pointert.
Röviden nem kell az índirekció művelete. ( * )Szerk.: de érdekes, hogy a 3. paraméternél jól használtad a mutatót.
[ Szerkesztve ]
-
kispx
addikt
Listát vagy tömböt ad vissza? Első látásra én inkább a tömbre tippelnék..
"a kerdesem az lenne, hogy a fgv masodik parametere (**handleList) mi akar lenni?"
Egy kis olvasnivaló. A tömb nulladik elemére mutató pointer címe. Pl. (Szerk.: felesleges példa, jobbat írtak, de azért meghagyom)void f(int **y)
{
cout << **y;
}
int main()
{
int *x = (int*)calloc(10, sizeof(int)); //A tömb nulladik elemére mutat
int **ptr = &x;
f(ptr); /*vagy*/
f(&x);
return 0;
}"vagyis ket int-et ad vissza az fgv" (a mondat második felét nem értettem )
Nem feltétlenül ad vissza két int-et a fv. Az első paraméter tuti, hogy egy unsigned-ra mutató pointer lesz. (Hogy módosítja az értéket vagy sem az nem derül ki, ehhez kellett volna a dokumentációs is). A második paramétert meg fent kifejtettem.
[ Szerkesztve ]
-
kispx
addikt
Jah, megnéztem a forráskódot és az előző hozzászólásom tárgytalan. Este van
int main(){
int a=5, b=2;
a= b ? b=b+(a=a+b--) : b+++--a;
a b nem nulla volt azért a kif1 ? kif2 : kif3 operátor a kif2 kifejezés kiértékelődésével folytatódik.
b=b+(a=a+b--) Értékadó kifejezés a kif jobb oldalának a kiértékelődésével kezdődik.
(a=a+b--)
a = 5+2 majd a b értéke a zárójeles kif kiért. után csökken eggyel. Ez okozza, hogy a végén a két szám eggyel eltér.
b=2+6 (mert a zárójeles kifnél csökkent a b értéke eggyel)
Majd végül
a = 2+7Szerk.: (bocs a megfogalmazásért, fáradt voltam )
[ Szerkesztve ]
-
kispx
addikt
-
kispx
addikt
válasz shinodas #3402 üzenetére
Hogy érdemben is válaszoljak:
Jelenleg Qt Creatort-t használok a Qt része miatt. Kényelmes IDE, ha megszokod.
Egyetemi éveim alatt egy fél évig Netbeans-t használtunk C-hez. Nem volt vele probléma. De úgy vettem észre, hogy egy kicsit lomha a CB-hez képest, de lehet, hogy egy jobb gép is kelletett volna. (2-3 éve volt, szóval az akkori verzióról beszélek, nem tudom, hogy azóta mennyit fejlődött)[ Szerkesztve ]
-
kispx
addikt
-
kispx
addikt
válasz bandi0000 #3442 üzenetére
Nem kellettett volna szétbontanod. Bekéred egy int-be. Utána...
1) ha 1000, akkor kiiratod az "M" sztringet
2 ha nem 1000 akkor
megnézed, hogy nagyobb mint 500, ha igen akkor kiiratod a "D" sztringet, majd ebből a számból kivonsz 500-ataz így kapott számot ellenőrized, hogy nagyobb mint 100, ha igen akkor kiiratod a "C" sztringet, majd ebből a számból kivonsz 100-at (Ha jól emlékszem, három C lehet egymás mellett, szóval ezt a lépést 3X csináld meg)
az így kapott számot ellenőrized, hogy nagyobb mint 50, ha igen akkor kiiratod a "L" sztringet, majd ebből a számból kivonsz 50-et
.... stb, egyészem 1-ig
[ Szerkesztve ]
-
kispx
addikt
válasz sztanozs #3447 üzenetére
Jogos, egy gyors wikipedia keresés alapján mondtam
És még egy kiegészítés, nem x>500 hanem x>=500
(#3446) Bobrooney
A WinForms-nak nincs magyar nyelvű irodalma. De tudtommal már nem fejlesztik tovább.(#3452) bandi0000
(#3447) sztanozs hozzászólásában szereplő számokat is tedd bele, mert a wikiből nem jól mondtam én sem. És vannak olyan számok pl I ami háromszor is előfordulhatnak, szóval azokat rakd bele egy ciklusba.[ Szerkesztve ]
-
-
kispx
addikt
válasz bandi0000 #3469 üzenetére
Na kerestem egy IDE-t a gépen. Elbeszéltünk egymás mellett
#include <stdio.h>
int main()
{
int x = 566;
printf("Szam = ");
scanf("%d", &x);
if(x>=1000)
{
printf("M");
x=x-1000;
}
while(x>900)
{
printf("CM");
x=x-900;
}
while (x >= 500)
{
printf("D");
x = x - 500;
}
while (x>=400)
{
printf("CD");
x=x-400;
}
while (x>=100)
{
printf("C");
x=x-100;
}
while (x>=90)
{
printf("XC");
x=x-90;
}
while (x>=50)
{
printf("L");
x=x-50;
}
while (x>=40)
{
printf("XL");
x=x-40;
}
while (x>=10)
{
printf("X");
x=x-10;
}
while (x>=9)
{
printf("IX");
x=x-9;
}
while (x>=5)
{
printf("V");
x=x-5;
}
while (x>=4)
{
printf("IV");
x=x-4;
}
while (x>0)
{
printf("I");
x = x - 1;
}
return 0;
}Nekem ez a 660-at jól írja ki.
MÁS:
A Qt Creator miért nem ír ki semmit sem debugolás alatt? Ha terminálból futtatom csak akkor ír ki valamit ez a program. -
kispx
addikt
válasz bandi0000 #3479 üzenetére
Akkor kezdjük az elejétől.
"bekérek egy legfeljebb 4 jegyű számot"
A legnagyobb 4 jegyű szám 9999, ami binárisan 10011100001111 (14 karakter ha jól számolom). Tehát lefoglalsz egy 14 elemű karaktertömböt, ebbe rakod a végeredményt.Az eljárás: (úgy mint papíron)
bekéred a számod (legyen x)x-et elosztod kettővel. A maradékot (0 vagy 1-et beleírod a karaktertömbbe)
A hányadost megint elosztod kettővel és a maradékot megint beleírod a karaktertömbbe.
.
.
.
Egészen addig csinálod míg a hányados nulla nem lesz. Végül a karaktertömböt fordítva írod ki.Tehát példával illusztrálva:
x = 5
5 / 2 == 2 (maradék 1)
2 / 2 == 1 (maradék 0)
1 / 2 == 0 (maradék 1)101
[ Szerkesztve ]
-
kispx
addikt
-
kispx
addikt
válasz Retekegér #3586 üzenetére
Tömbbe kell beszúrni vagy a képernyőre kiírni? (Bár ez nem sokat számít)
Az alg. szerkezete nagyjából így néz ki:
while ()
{
ch = getchar() //vagy getch() ?
if ( strchr("öüóaéáűíÖÜÓŐÚ...", ch) != NULL) ;
{
//hozzáfűzöd a tömbhöz vagy kiaratod a 'v+'ch karaktereket
}
}[ Szerkesztve ]
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- DJI Air 2s drón (Fly More Combo)++ FMC - 5,4k video, 1" SONY CMOS - 4 akku
- HP EliteBook x360 1030 G4 i5-8365U 16GB RAM 512GB SSD világító MAGYAR bill érintő képernyő LTE modul
- AKCIÓS áron Dobozos ÚJ Asus Tuf FX506LHB /I5-10300H/16GB/512 GB SSD/GTX1650 4GB/FHD/IPS/144Hz/Gari
- HP EliteBook 830 G8 i5-1135G7 16GB RAM 512GB SSD MAGYAR BILL
- Playstation 4 Pro Spider-Man edition CUH-7116B
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: Ozeki Kft
Város: Debrecen