- Telekom mobilszolgáltatások
- Ingyen beszerezhető pár SEGA klasszikus mielőtt lekerülnek a Play Áruházból
- CMF Phone 2 Pro - a százezer forintos kérdés
- Motorola Edge 40 neo - színre és formára
- Milyen okostelefont vegyek?
- VoLTE/VoWiFi
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Mobil flották
- India felől közelít egy 7550 mAh-s Redmi
- iGO Primo
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
RexpecT #2643 üzenetére
Én speciel nem oda járok.
Jé, nahát, van, ahol gazdinfón is tanítanak C-t?Ez meglep. Haverom Corvinusra jár ugyanilyen szakra, náluk kapásból C#-pal kezdtek.
Tulajdonképpen nem is tudom, melyik a jobb módszer. Rengeteg orbitális szopást átélni kezdő programozóként a sima C-vel, vagy kicsit kevesebb szívással elkezdeni gányolni egy magasabb szintű nyelven.
Nem könnyen eldönthető kérdés, de így utólag talán azt mondanám, számomra jobban megérte C-vel kezdeni a hajtépést, és ezáltal később kicsit jobban érteni a magasabb szintű nyelvek működését - meg átérezni, hogy mennyivel kevesebb felé kell figyelni, minél "feljebb" megyünk. -
j0k3r!
őstag
válasz
RexpecT #2517 üzenetére
hello!
ha jol latom, akkor s2-be fog kerulni a mar atalakitott 'string' (mivel a szoveg fgv visszateresi erteke char *).
dinamikus memoriafoglalasnal a malloc visszateresi erteke void*, szoval felesleges castolgatni, de ez mar Jester01 is leirta a minap.
system("PAUSE"); -> [link]szerk: Gyuri16 kozben megirta a lenyeget
-
Gyuri16
senior tag
válasz
RexpecT #2517 üzenetére
A karaktertömb deklarálásánál mire szolgál *s2 mutató?
ezt az egy sort:
char s[]="TesZtSzoveg19SzovegTeSZt**éáéáéá43242SzovegszoveGszoVeg323",*s2;
at lehet irni igy is:char s[]="TesZtSzoveg19SzovegTeSZt**éáéáéá43242SzovegszoveGszoVeg323";
char *s2;deklaralsz egy char tombot (s), es egy mutatot charra (s2). utobbi a fuggvenyed visszateresi ertekere kell
Hogyan tudom kiíratni a tömb összes elemét?
gondolom itt az a kerdes, hogy honnan tudod a dinamikus tomb nagysagat. a jo megoldas az, hogy a fuggvenyednek lesz egy pointer parametere ami visszaadja az elemek szamat. (lasd pl getline fv). -
kingabo
őstag
válasz
RexpecT #2361 üzenetére
Leírom megint hátha: Legközelebb programkódként idézd a progid! (a félkövér gomb alatt van a programkód gomb
)
"Viszont azt is meg kellene oldani, hogy a csiga ne tudjon negatív irányba visszacsúszni,de erre még nem jöttem rá, hogy hogyan is kellene."
A korábban idézett megoldásodban két pozitív számot szoroztál össze, ami mindig pozitív lesz. Ha az előző hsz-emben leírt módszert használod, akkor a for ciklus-ba tegyél egy + feltételt, hogy a visszacsúszás pozitív, vagy a ciklusban miután viszacsúszás új értéket kap megvizsgálod, hogy nempozitív-e, ha igen akkor egy break;-kel kilépsz a ciklusból. Illetve a Failure-ös részbe akkor is be kell lépni, ha a visszacsúszás nempozitív.Nincs mit!
-
kingabo
őstag
válasz
RexpecT #2348 üzenetére
Tedd az u = u * f;-et a ciklus végére és nem kell az if, ill írhatod ezt is helyette u*= f;. Vagy még szebb, ha a for-ban az i++ után teszed.
"Annyi a baj, hogy mindig az első naphoz képest fárad a csiga, az én kódomban meg mindig az előzőnaphoz."
Pont fordítva. A Te progid a feladatban megadott pl-re rossz eredményt fog adni, mivel amikor kiér a csiga, Nálad akkor is visszacsúszik.
C-ben nincs konstans. A legegyszerűbb az, ha deklarálsz még 1 változót, amiben azt tárolod, hogy mennyivel mászik kevesebbet naponta a csiga és ezt vonod le az u-ból.Legközelebb programkódként idézd a progid, mert könnyebb átlátni, ha benne vannak a tabok.
(#2351) Pcmagicnet: ezt már akkor se értettem igazán, hogy mit akartál ezzel leírni. (csak kimaradt a hsz-ből)
Szerintem nem jó, mert ha pl van 10db 'a' betűd és semmi más, akkor (ha jól értem a kódod) 70% lesz az 'a'-k aránya a 100% helyett. -
Jester01
veterán
válasz
RexpecT #2314 üzenetére
Ez egy elég tökkelütött feladat
Az adott tömbben elég sokféleképpen lehet tárolni a halmazt, az egyik módot kingabo fentebb említette. Én most egy másikat mondok, ami valószínűleg közelebb áll a kérdésfeltevő korlátolt elképzeléséhez
Használjuk az x -> h[x] leképezést a számosság tárolására. Vagyis h[0] a 0 számossága, h[1] az 1 számossága, stb.
Ez alapján az adott halmaz leképezése {0, 3, 0, 3, 0} a legnagyobb tárolható elem pedig a 4.Kicsit általánosítva x -> h[f(x)] leképezés lehet, ahol a fenti példában természetesen f(x)=x. Vegyük észre, hogy ennek a leképezésnek igazából az alaphalmaz számosságára illetve az egyes elemek előfordulására van korlátja, nem pedig az elemek nagyságára. Magyarul 5 különböző elemet használhatunk, de azok bármik lehetnek. Például ha f(x)=x-1 akkor máris az {1, 2, 3, 4, 5} alaphalmazzal dolgozunk és a legnagyobb tárolható elem az 5. Mivel a példában csak 2 különböző elem van, ezért a fennmaradó 3 elemet tetszés szerint választhatjuk meg, így bármekkora elemet is tárolhatunk.
-
kingabo
őstag
válasz
RexpecT #2314 üzenetére
Tudom ez Neked nem segít, de az elemeket (érték, multiplicitás) formában szokás tárolni. Ez alapján (nekem!) az tűnik logikusnak, hogy egy indexre beírod az értéket utána a multiplicitását. vagyis: 3 3 1 3, hogy az 5. elem mi a fene lehet nem tudom.
A másik kérdést nem igazán értem, hogy mire akar célozni. A tömb egy elemének maximális értékét a típusa határozza meg, pl 32 bites gépen, int esetén 2^31-1; unsigned int esetén 2^32-1. Hogy erre gondoltak-e nemtom.szerk: elöbb nem vettem észre, hogy int típusú a tömböd. Ezeseben szerintem a max a 2^31-1. A többiek majd vagy megerősítik vagy kijavítanak.
-
Korcsii
őstag
válasz
RexpecT #2310 üzenetére
szerk:
kellett nekem belekezdeni, aztán nem tudom félreérthetetlenül megfogalmazni...i=3+1, maradjunk ennyiben... egészet osztasz egésszel, ezért az operátor az egész osztást valósítja meg (amennyiszer pontosan megvan benne), tárolni utána tárolhatnád másban is... csak mivel a tároló, és az osztandó itt ugyanaz, mégse teheted, mert ha doble lenne, akkor már engedné
-
j0k3r!
őstag
válasz
RexpecT #2268 üzenetére
ablak bezarodas ellen a program elejere (includeokhoz)
#include <conio.h>
aztan a return 0; ele uj sorba:
getch();(#2269) RexpecT: a system("pause"); egy rendszerhivas, de errol mar linkeltem korabban. a return 0; pedig a programod visszateresi erteke, ami helyes mukodes eseten 0, ellenkezo esetben mas.
-
j0k3r!
őstag
válasz
RexpecT #2265 üzenetére
bar nem sokat c-ztem eddig, de szerintem valami ilyesmi (de az okosabbak majd kijavitanak, ha nem)
#include <stdio.h>
int main()
{
float sum = 0;
int max = 3;
for(int i = 0; i < max; i++)
{
float tmp = 0;
printf("Kerem a(z) %d. szamot : ",i + 1);
scanf("%f",&tmp);
sum += tmp;
}
printf("Atlag: %f\n", sum/max);
return 0;
}system("PAUSE");
ezt meg hanyagold
[ Módosította: philoxenia ]
Ú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!
- Telefon felvásárlás!! Xiaomi Redmi 9, Xiaomi Redmi 9AT, Xiaomi Redmi 10, Xiaomi Redmi 10 2022
- Csere-Beszámítás! AMD Ryzen 7 7700 Processzor!
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo S10-2 Intel Atom retró csajszis netbook eladó
- ÁRGARANCIA!Épített KomPhone i5 13400F 32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest