Új hozzászólás Aktív témák
-
addikt
Sziasztok,
Suliban most kezdtuk a C nyelv tanulasat s lenne egy feladat, amiben elsokent megkellene allapitanom, hogy egy bemenetkent kapott char tipusu ertek megfelelo-e vagy sem.
Tehat pl. a,b,c az elfogadhato s meg kell allapitani, hogy mondjuk a kapott "d" az helyes-e.
Ezt csak switch case-el lehet megcsinalni vagy van valami jobb modszer ra(gondolom van )?
Azon gondolkoztam, hogy enum-kent kellene letrehozni a karaktereket vagy egy char tipusu tombot, csak nem vagom meg lehet-e vizsgalni, hogy a kapott karakter szerepel-e a tomb elemi kozott, valami contains szerure gondolok.[ Szerkesztve ]
-
addikt
válasz WonderCSabo #2876 üzenetére
Ja igen, a string.h es a math.h headerek nem hasznalhatoak, elvileg csak az stdio.h es az stdlib.h, bocs, ezt elfelejtettem leirni.
Korcsii: Itt int-e konvertalja majd a char-t s azert lehet hasznalni a "<=" muveletet, igaz?
Nekem meg eleg fura, hogy szinte minden visszavezetheto es kezelheto int-kent.[ Szerkesztve ]
-
addikt
Ertem, koszi mindkettotoknek.
-
addikt
Ez biztos hulye kerdes lesz, de van valahol egy osszefoglalo arrol, hogy mik a C-ben hasznalt "modosito" karakterek es melyik mire valo a kulonbozo szituaciokban?
Gondolok itt olyanokra, hogy:char *p
FILE be*
fscanf(stream, "%d%*[^\n]", &valtozo)
for(p=str;*p&&*p!=10;p++); *p=0;Ezek csak ilyen hirtelen kiragadott peldak, tudom, hogy magukban nincs sok ertelmuk, de remelem ertitek mire gondolok.
Mikor doksit keresgetek nem nagyon latom ezek jeloleset, csak altalanos leirast pl. a char tipusrol.
Peldakodokat nezegetve is mindig az a bajom, hogy nem vagom ezek mit csinalnak, ugy meg nehez megerteni.
Ha tudnatok ehhez egy jo linket ajanlani azt megkoszonnem. -
addikt
válasz Sk8erPeter #2930 üzenetére
Nem, az ilyen *,& stb-re gondoltam.
Mondjuk most a legjobban az erdekelne, hogy hogyan lehet a matematikai fuggvenyeket hasznalni "-lm" kapcsolo nelkul forditaskor, mert a biro nem fogja hasznalni, en meg nem igazan tudok pl. egy sqrt()-t megirni, de meg csak neten se talalok sehol egy hasznalhato fuggvenyt.
-lm nelkul meg undefined reference to `sqrt' hibat dob, mondjuk a vicc az, hogy ha ugyanabban a sorban printf("%f\n", sqrt(16)) formaban hasznalom akkor fordul, de a valami = sqrt(16)-al mar nem s ez az egy akadalyoz meg abban, hogy kesz legyek a kot. progival.[ Szerkesztve ]
-
addikt
válasz WonderCSabo #2932 üzenetére
Persze, includeoltam, gugliban rakeresve kismillio helyen irjak ezt a problemat, a megoldas mindenhol az, hogy forditsuk a "-lm" kapcsoloval, amivel valoban mukodik, de igy nem adhatom be a bironak mert nem azzal fogja forditani.
Kosz a linket, ha mar tudom, hogy melyik fogalmat takarja a jeloles akkor utananezek a fogalomnak(pl. kozbe rajottem, hogy a "char *valami" egy pointer, megneztem mik a pointerek s igy mar vilagos(abb)), de addig nehez.
[ Szerkesztve ]
-
addikt
válasz Sk8erPeter #2934 üzenetére
"A kötelező programot a Bíró fogja kiértékelni. Feltöltés után a Bíró programot a gcc fordítóval
-static -O2 paraméterezéssel lefordítja, majd a programot 10 különböző tesztesetre futtatja."Szoval feltoltom a .c fajlom, de fix parameterekkel forditja(ugye a biro is egy program), emiatt ilyenkor csak ennyit ad vissza:
"Fordítási hiba!
További információk a compile.txt állományban olvashatók."
Ezert mikozben irom/tesztetelem en is mindig
"gcc -O2 -static -o progineve forras.c -Wall -pedantic"
kapcsolokkal forditom, hogy ne erjen meglepetes.Korcsii: 10-szer adhato be s kiprobaltam, lasd ezen hsz-em egy kicsit feljebb.
[ Szerkesztve ]
-
addikt
Meghackeltem, a Biro is megkajalta max pontszammal, vegre.
Mivel nekem csak "int"-kent volt szuksegem a negyzetgyokre, igy a kovetkezo hack bevalt:int f_sqr(int szam){
return szam*szam;
}
int f_sqrt(int szam){
int i, hatvany;
for(i = 1; hatvany < szam ; i++){
hatvany = f_sqr(i);
}
return i - 1;
} -
addikt
válasz WonderCSabo #2938 üzenetére
Valoban, jelzett is a gcc, de akkor nem ertettem hirtelen mi a baja, most mar felfogtam, koszi.
[ Szerkesztve ]
-
addikt
válasz Sk8erPeter #2940 üzenetére
Ez csak warning volt, nem error, gondolom emiatt fogadta el, meg ettol meg most pont jol mukodott, szerencsemre.
Biro ha jol tudom csak azt nezi, hogy a kimenet egyezik-e az elore definialtal, itt legalabbis, kesobb gondolom komolyabbak lesznek az elvarasok, de ez meg csak az 1. szemeszter. -
addikt
Becopyznád a jelenlegi teljes programodat?
Mert en most megneztem az eredeti kododdal, meg a javitasokkal is, de mar a linkelt pdf-ben szereplo peldat hasznalva is helytelen eredmenyt ad...
Meg milyen kornyezetben probaltad te ezt?
En egy kabinetes gepen futtattam s ott adott vissza rosszat s ugye a Biro is ugyanilyen kornyezetben futtattja majd.Szerk: Latom Jester01 megelozott.
[ Szerkesztve ]
-
addikt
válasz Jester01 #3021 üzenetére
Nem tudom, hogy hova masolod ki, nekem Notepad++-ba, meg vim-be is 3 szokoz maradt.
A kolleganak tovabbra is ajanlom, hogy ha nem is kabinetes gepen irja meg, de mindenkepp ott forditsa es ellenorizze a progit, mert ott azonnal kitunt, hogy tobb szokoz van a kelletenel s a Bironal is valszeg ezert hasal el.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- AMD GPU-k jövője - amit tudni vélünk
- LG LCD és LED TV-k
- Diablo 3
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Xbox Series X|S
- Milyen okostelefont vegyek?
- Villanyszerelés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Amlogic S905, S912 processzoros készülékek
- További aktív témák...