- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- Argos: Szeretem az ecetfát
- Elektromos rásegítésű kerékpárok
- sziku69: Szólánc.
- Magga: PLEX: multimédia az egész lakásban
Új hozzászólás Aktív témák
-
Sziasztok!
Van valaki aki jártas a több magok kezelésében? Mennyire bonyolult? Vagy egyszerűen csak forditási paraméter? (Gcc -t használok)
Köszi!
-
shev7
veterán
válasz
Sk8erPeter #1993 üzenetére
"Mondjuk az azért mókás, hogy sokszor előfordul, hogy jó darabig senki nem ír választ egy kezdő kérdésre, viszont ha valaki ad egy lehetséges gyorsmegoldást, akkor arra hirtelen mindenki rárepül, mint a dögkeselyűk. "
Mert egy majdnem jo megoldast konnyebb kijavitani, mint leirni az egeszet, tulsagosan lusta vagyok
-
bpx
őstag
válasz
Sk8erPeter #1993 üzenetére
"Mondjuk az azért mókás, hogy sokszor előfordul, hogy jó darabig senki nem ír választ egy kezdő kérdésre, viszont ha valaki ad egy lehetséges gyorsmegoldást, akkor arra hirtelen mindenki rárepül, mint a dögkeselyűk.
"
ezt már én is meg akartam egyszer jegyezni poénból, de látom másnak is feltűnt
-
Korcsii
őstag
válasz
Sk8erPeter #1993 üzenetére
tegnap éjjel (azaz ma hajnalban) láttam már én is a kérdést de túl sok sebből vérzett, így gondoltam inkább tőlem profibbak magyarázzák el
strlen pedig jogos, erre nem is gondoltam...
-
Gyuri16
senior tag
válasz
Gyuri16 #1989 üzenetére
+ ha a tomb1 nincs inicializalva (es miert lenne) akkor a strlen nem jo oda. jobb lesz a sizeof. figyelni kell, hogy az utolso mezot fenntartsd a null bytenak. ez remelem mukodik akkor is, ha nem egyforma meretu a ket tomb (a feladat szerint a tomb a fuggveny parametere, tehat nem bizhatunk benne, hogy eleg nagy):
for(i=j=0; j+1<sizeof(tomb1) && i<strlen(tomb2); i++)
ezutan meg illik a tomb1 vegere rakni egy nulltSk8erPeter: mas kodjat kritizalni konyebb mint megirni
en ezert nem irok altalaban egesz megoldast, hanem inkabb szavakkal korbeirom.
-
Karma
félisten
válasz
Sk8erPeter #1993 üzenetére
Nem kell ennyire felszívni, csak segíteni akartam
-
Sk8erPeter
nagyúr
Ez így van, mint említettem, gyors megoldás volt, és közel sem tökéletes.
Legközelebb majd nem írok a topicba, ha épp nincs túl sok időm rá.
Mondjuk az azért mókás, hogy sokszor előfordul, hogy jó darabig senki nem ír választ egy kezdő kérdésre, viszont ha valaki ad egy lehetséges gyorsmegoldást, akkor arra hirtelen mindenki rárepül, mint a dögkeselyűk.
Inkább valaki írjon akkor egy tökéletes megoldást, és akkor túl is van tárgyalva. Nekem nem volt időm átgondolni, leírtam, ami jött. Bocs.(#1994) Karma: oké, nem húztam én fel magam egyáltalán, csak én is leírtam, ami a szívemet nyomta!
Amúgy nagyon kemény, hogy mennyire amatőr feladaton vitázunk, de azért jó móka.A kezdeti hsz.-em többi részét (ahol leírom, miért nem jó a srác kódja) tovább tartott megírni, mint magát az alatta lévő kódot, amin most vitatkozunk.
(#1995) Gyuri16: igen, közben én is arra gondoltam, hogy tomb1-hez nem feltétlenül lesz jó az strlen. Azt viszont mondtam, hogy zárja le 0-val a ciklus után...
-
Korcsii
őstag
válasz
Sk8erPeter #1987 üzenetére
és akkor return j; jó is a függvény végére...
viszont azt nem teljesen értem, hogy miért kell strlen(tomb1)-et vizsgálni?
-
Gyuri16
senior tag
válasz
Sk8erPeter #1987 üzenetére
for(i=j=0; i<strlen(tomb1) && i<strlen(tomb2); i++)
helyett inkabb:for(i=j=0; j<strlen(tomb1) && i<strlen(tomb2); i++)
^ -
cucka
addikt
válasz
Sk8erPeter #1987 üzenetére
Ahogy már korábban írták, a
if(tomb2[i] != '\t' || tomb2[i] != ' '){
feltétel nem lesz jó, || helyett && kell..mod. ok, közben te is észrevetted
-
Sk8erPeter
nagyúr
Úúú basszus, teljesen igazad van, az lemaradt, köszi, hogy szóltál.
És igen, vagy (||) helyett és (&&) kellene...
Látszik, hogy sietve írtam (eddig nem kapott választ a srác), bocsesz.zserrbo, a for ciklust javítanám, pl. ha van egy i és egy j változód, akkor pl. ilyesmi lenne:
for(i=j=0; i<strlen(tomb1) && i<strlen(tomb2); i++){
if(tomb2[i] != '\t' && tomb2[i] != ' '){
tomb1[j]=tomb2[i];
j++;
}
} -
shev7
veterán
válasz
Sk8erPeter #1985 üzenetére
for(i=0;i<strlen(tomb1) && i<strlen(tomb2); i++)
{
if(tomb2[i] != '\t' || tomb2[i] != ' ')
tomb1[i]=tomb2[i];
}kerdes: mi lesz a tomb1 4. eleme, ha a tomb2 4. eleme szokoz volt
ket index kell, az egyikkel tomb1-et indexeled, a masikkal tomb2-t.
illetve ezekkel a feltetelekkel mindig bajban vagyok en is de szerintem ez nem jo. && kene || helyett, nem? Mert ez a feltetel mindig igaz.
-
Sk8erPeter
nagyúr
válasz
zserrbo #1984 üzenetére
Érdekes ez a feladat-meghatározás, ha így kezdődik: "Paraméterei két karakter tömb." - minek a paraméterei...? Ki lehet találni, hogy egy függvénynek, de az egész specifikáció elég gyengusz.
Akkor menjünk sorba a programodon:
main ()
ne szokj rá, hogy ezt használod, írd ki explicite a visszatérési értéket:
int main(){
/*...*/
return 0; /* ha nincs hiba*/
}int i;
char tomb1[i];
char tomb2[i];
Ez meg micsoda?Eleve i-nek nincs semmi kezdőértéke, hogy akarod így létrehozni i-vel a tömböt? Mekkora méretű lesz a tömb?
scanf ("%c",tomb1);
Egyetlen karaktert olvasol tomb1 0. indexe helyére...
Használhatnád pl. a getchar() függvényt EOF-ig, vagy ameddig meghatározod, hogy beolvassson (mit adjon meg a felhasználó, amivel jelzi, hogy vége a beadott karaktersorozatnak).Ezután van egy for ciklusod, amivel ki szeretnéd íratni tomb1-et, de a másolás nincs meg.
Valami ilyesminek kellene szerepelnie a for cikluson belül, persze ha már a többi része jó:
for(i=0;i<strlen(tomb1) && i<strlen(tomb2); i++) /* csak hogy ne indexeljen túl, ha esetleg a tomb1 kisebb méretű tomb2-nél, persze ennek ellenőrzésére más megoldás is van */
{
if(tomb2[i] != '\t' || tomb2[i] != ' ') /* ha nem tabulátor és nem szóköz */
tomb1[i]=tomb2[i];
}
A ciklus végén zárd le lezáró 0-val a tomb1-et.Ezenkívül ennek az egésznek szerintem külön függvényben kellene lennie, ami két karaktertömböt kap paraméterként, visszatérési értéke pedig az átmásolt karakterek száma. A feladat legalábbis ezt mondja...
"Igaz a feladat nem írja, hogy töltsem fel a karakter tömböt"
És akkor mégis mit akarnál átmásolni, ha nincs feltöltve?system ("PAUSE");
Ezt felejtsd el! Nem platformfüggetlen, felesleges rendszerhívás.
Használd helyette pl. a getchar()-t... -
zserrbo
aktív tag
Helló!
Szeretném, ha valaki megírna a következő feladatra egy programot. Jövő héten prog alapból CV vizsgám lesz, addig próbálom megérteni a feladatokat.
Paraméterei két karakter tömb. A függvény másolja át a második tömb karaktereit a helyköz és tabulátor karakterek kivételével az elsőbe. Visszatérési értéke az átmásolt karakterek száma.
Amit én csináltam:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main ()
{
int i;
char tomb1[i];
char tomb2[i];
printf ("\n\nKérek egy szót: ");
scanf ("%c",tomb1);
printf ("\n");
printf ("\n\nKérek egy szót: ");
scanf ("%c",tomb2);
printf ("\n");
for (i=0; i<strlen(tomb1); i++) {
printf("%c",tomb1[i]);
}
system ("PAUSE");
}Nah ez így nem jó, mert lefagy a program. Igaz a feladat nem írja, hogy töltsem fel a karakter tömböt, de gondoltam kipróbálom aztán kiíratom. Majd jöhetne a másolgatás és a kiíratás után megbizonyosodok, hogy tényleg mit hova másoltam. Ha kérhetem magyarázza el valaki ez hogy nézne ki.
Köszönöm!
Olvasgatom közben itt a hsz-eket. Igen elég siralmas. Sajnos nem volt túl sok programozói tudásom ennek ellenére prog infóra mentem végül mérnök infó helyett. Remélem sikerül ráéreznem és beletanulnom. Nálunk prog alapból a gyak órák semmit nem értek. Vannak, akik nem tanárnak születtek. Tanár elmondta a feladatot, gyerek elkezdte megoldani ha tudta. Majd végül leírta a megoldást a táblára aztán ment is tovább. Aki lemaradt az így járt. Előadások megértéséhez kellett volna egy alapos tudás. Nyáron foglalkozni akarok php-vel és weboldal készítéssel. Már vettem 2 könyvet Webszerkesztés stílusosan: HTMl és CSS , Bevezetés a php5 programozásba 1030 oldal asszem!
legalább alapos
Igyekszem behozni a lemaradásom.
-
Sziasztok! Lehet valahogy ellenőrizni a scanf -et, hogy helyes e a bemenet? Értem én: "adj meg 2 számot" és ha szöveg a bemenet visszadobja, hogy rossz.
-
Sk8erPeter
nagyúr
Hát bocs, hogy a lelkedbe gázoltam ezzel.
Biztos Poppe rakás szar órái után nagy volt a kontraszt, hogy nem egy olyan ember beszél, aki még az őskorban tanult programozni. Ja, és szegény Pohl Laci előadásaival hasonlítsd már össze Szebiét...
Amúgy szerintem tényleg jók voltak az előadásai, ízlések és pofonok, ha figyeltem, mindent értettem, és meg is maradt. Akkor szerintem nagy gáz nem lehet vele.
Azt nem tudom, szakirányon milyen órákat tart. -
bpx
őstag
válasz
Sk8erPeter #1978 üzenetére
egy ember, aki szereti Szebi előadásait? ritka ilyet látni
nálunk szakirányon is tart órát (teljesen más témában), ott még rosszabb, mint prog2-n volt -
Sk8erPeter
nagyúr
válasz
Gyuri16 #1977 üzenetére
Alapvetően szerintem mindannyian egyetértünk.
A legjobb egyébként az, ha az ember rengeteget gyakorol egyedül.
Én pl. C++-t prog2-ből akkor kezdtem el megérteni, amikor készítettem a szoftver laborból feladott házimat, amivel extra sokat szarakodtam, hogy a lehető legszebb legyen, szerencsére az ellenőrzésnél a laborvezető srácnak nagyon tetszett a megoldásom, azt mondta, ennél szebben nem igazán lehetett volna megoldani.
Az előadás, a gyakorlatok és a labor is önmagában kevés lett volna, mert tök más, amikor valaki elmagyarázza, hogy mit kell csinálni, és mivel lehet szopni, mintha te magad szívsz annyit egy feladattal, hogy attól már önmagában a fejedbe verődik a megoldás módja.
De ezt nálunk az előadó hangsúlyozta is, hogy rengeteget gyakoroljunk, különben nem fog menni, hiába járunk be szorgalmasan előadásokra.A tárgyra visszatérve a lényeg egyébként az, hogy a papíron programozáshoz felesleges foglalkozni az include-olásokkal és a csodás hibaüzenetekkel - nálunk pl. prog2-n kifejezetten kihangsúlyozta az előadó, hogy ne szarakodjunk a ZH-n az include-olgatásokkal meg a using namespace-ekkel, mert azt úgysem fogják értékelni, senkit sem érdekel, hogy oda tudok írni minden program elejére két-három mindenképp szükséges sort.
(#1976) Karma: pedig szerintem Szebi előadásai eléggé gyakorlatiasak és érthetőek voltak, nekem kifejezetten tetszettek az órái meg a stílusa. Az volt az egyetlen olyan előadássorozat ebben a félévben (a gyakorlatokon, laborokon kívül), aminél minden órán ott voltam, mert tényleg érdekelt, és követhetőnek tartottam. Sok olyan előadás volt, amire egyszerűen sajnáltam az időt. Viszont Szebinél elég sokat tanultam, főleg az jött be, hogy nem teljesen elszállt idióta programokat vettünk, hanem gyakorlatban is bármikor előforduló programrészleteket beszéltünk meg (az elméleti anyagon túl), hogy mit miért, hogyan kell csinálni.
Azon jót szakadtam, amikor mondta: "a szünet előtt csak egyetlen nagy kérdést szeretnék Önöknek feltenni. Megtalálja-e az egér a sajtot?".(ennek az ea-nak a végefelé - backtrack algoritmusok)
Egyébként nekem egyetem előtt közöm nem volt a programozáshoz, mégis itt szedtem össze a tudás nagy részét, persze tudom, hogy még mindig nem tudok semmit az egészről. Persze az sokat segített, hogy rengeteget gyakoroltam magamtól, meg weblapfejlesztés közben is elég sok programozási kérdés merül fel más nyelveknél, így abból is lehet építkezni. -
Gyuri16
senior tag
egyetertek mindkettotokkel, amit mondani akartam az az, hogy ha csak papirra programozol akkor nagy sokk er az elso "igazi" programodnal. nalunk prog1-2 ugy zajlott, hogy volt eloadas amin tanar beszelt az elmeleti reszerol + mutatta a programokat. altalaban az eloadason irta a kodot, es kitert a kulonbozo problemakra. aztan volt gyakorlat ami papiron/tablan zajlott. itt nyilvan nem kellett odafigyelni a reszletekre, inkabb a feladat elvi megoldasara. vizsga pedig szamitogepnel volt, es ott elojott az, hogy az emberek alapvetoen keveset programoznak (mert nem kell), nem tudjak leirni adott nyelven a megoldast. erre mondhatjuk, hogy nem nagy gond, viszont kesobb mar nincs kimondottan programozas targy, hanem algoritmusok, adatstrukturak, oprendszerek... ha prog1 nem adja meg azt a tudast, hogy onalloan tudjon mukodopekes programot megirni, akkor ott nagy baj van. ehhez pedig hozzatartozik az, hogy a tanar elvarja a teljes, futtathato megoldasokat.
termeszetesen ha a diaksag nagy resze foglalkozna vele, nem lenne gond, de mivel a legtobbnek csak az a celja, hogy atmenjen a vizsgan (es ezt nehez megakadalyozni) biztositani kell, hogy ertsenek is hozza.
Ha valaki a programozás során a fordító hibaüzeneteiből nem jön rá, hogy azért nem megy a program, mert valamit nem include-olt, akkor az ne akarjon programozással foglalkozni, ne legyen informatikus.
ha ennek megfelelo emberek jarnanak egyetemre, akkor az itteni forumok nagyresze ures lenne. sokszor latom, hogy oldalas valaszokat irsz alapveto dolgokra, amikre egy "jo" informatikusnak magatol ra kellene jonnie -
Karma
félisten
válasz
Sk8erPeter #1975 üzenetére
Egyébként eddig még nem láttam olyan Programozás tárgyat, ami programozni tanított volna. Láttam a BME-s Prog1-2-t, láttam fizikusoknak szánt progot (na ez durva volt, feladat: kommentezz végig egy WINAPI-val írt kódrészletet), és köze nincs hozzá. Ledarálják a nyelvet és szevasz, ha korábban nem tudtál imperatívan programozni, itt se szeded össze.
És nem, a hibaüzenetek meg include-ok helyes leírásának semmi köze a helyes programozáshoz szerintem. Papíron meg végképp nem.
A stack overflow más kérdés, ha helyesen elmagyarázták volna, akkor nem lenne probléma ennek a megértésével.
-
Sk8erPeter
nagyúr
válasz
Gyuri16 #1974 üzenetére
Ez is lehet szempont, nálunk prog1-en nyilván ugyanúgy le kellett ellenőrizni a hibaeseteket, és hibaüzeneteket dobni, de közel sem ezen volt a hangsúly, hanem magán a feladatmegoldáson. Ha valaki a programozás során a fordító hibaüzeneteiből nem jön rá, hogy azért nem megy a program, mert valamit nem include-olt, akkor az ne akarjon programozással foglalkozni, ne legyen informatikus.
Fontos az ilyen jellegű alapok lefektetése is - pl. laboron. DE a prog általában inkább arról szól, hogy mennyire tudsz papíron programozni. És többnyire informatikus szakokon van elméleti és gyakorlati (labor) rész is... Ott meg megtaníthatják az include-olást és egyéb ehhez hasonló dolgokat, amik nélkül a programod egyébként sem menne. De amikor papíron kell programozni, és szorít az idő, akkor ne arra menjen már el az idő fele, hogy minden szirszart include-olgatsz, meg csodaszép hosszú hibaüzeneteket írsz, hanem maradjon idő inkább a tényleges feladat elegáns megoldására, a hibaüzenetekkel meg include-olásokkal majd elszarakodsz akkor, amikor írogatod a programot. Persze nyilván így is derüljön ki a hibaüzenetből, hogy mi a pálya, hol akadt el a program.
Ha meg a srác által írandó program egyébként is gyakorlati jellegű, tehát gépnél kell megoldani, akkor meg nyilvánvaló, hogy mindent include-olni kell, és akkor nincs miről beszélni... -
Gyuri16
senior tag
válasz
Sk8erPeter #1973 üzenetére
viszont ha prog1rol van szo, akkor szerintem elvarhato az ilyen aprosagok ellenorzese. ez a megfelelo idopont, hogy a fejekbe verjek a jo hibauzeneteket, includolast es sok mas hasonlot is, amire kesobb mar mindenki nyilvanvalokent tekint.
nalunk is papiron programozas ment nagyreszt, aztan vizsgan neztek nagyokat az emberek, mert nem tudtak debuggolni, nem ertettek mi a stack overflow es ilyesmi. egy kezdo prog targynak meg kell adni az alapokat, kesobb pedig lehet mindenfele algoritmusokat tanulni
mindezt mondom ugy, hogy en elmeleti informatikat tanulok, es sokkal fontosabbnak tartom az algoritmikus szemlelet elsajatitasat mint a kulonbozo prognyelvek tanulasat, megis ha elsoben nem tanulja meg ember kifejezni magat az adott eszkozokkel, kesobb csak problemat okoz neki
-
Sk8erPeter
nagyúr
Jaja, valóban, közben rájöttem, hogy az a void nagyon sántít.
Egyébként szerintem az egész feladat nagyon komolytalan, sokkal több figyelmet fordítanak arra, hogy egy hibaüzenet elég részletes legyen, meg hogy minden #include-olva legyen, mint magára a feladatra és annak elegáns megoldására...
Nálunk papíron kell tudni programozni, és speciel az a legkevésbé lényeges rész a feladat megoldásánál, hogy milyen hibaüzenetet dobunk, csak legyen nyilván lekezelve a hiba, meg az sem fontos, hogy include-oljuk a megfelelő fejléceket, nyilván azt a feladat tényleges megvalósítása során nem hagyod ki, de amikor egy feladat részletes elméleti megoldásáról van szó, akkor szerintem ez a legkevésbé lényeges rész. -
cucka
addikt
válasz
Sk8erPeter #1970 üzenetére
Elsősorban azért üt, mert ha egy függvényt úgy nevezel el, hogy "átalakít", akkor elvárod, hogy úgy működjön, hogy kap valamilyen bemenő adatot, átalakítja, majd az eredménnyel valahogy visszatér.
-
Karma
félisten
válasz
Sk8erPeter #1970 üzenetére
Azt csak elírtam, nem azért idéztem. Egy ilyen átalakítást én nem feltétlen in-place csinálnék meg, tehát inkább egy char* transform(char* name) függvényt írnék, ha nem lenne ott a többi része.
De jogos, a névátrendezés és a maximum miatt két nevet el kell tárolni
-
Sk8erPeter
nagyúr
"Ez a void atalakit(char[] nev) szignatúra meg üt."
Nem is char[] nev, mert char nev[]Amúgy jobban mutatna char* nev formában, nem? Vagy még mire gondolsz?
Mellesleg nem értem, ha az egész karaktersorozatot át kellene adni a függvénynek átalakítás céljából, akkor azt hogyan akarod megcsinálni anélkül, hogy el ne lenne tárolva? És ne tekintsünk el a +1-es alfeladattól, az is a specifikáció része...
(Bár elég komolytalan specifikáció, az egész megfogalmazás valahogy elég bénácska számomra...)
Pl. hogyan akarod kicserélni a catherine_zeta-jones formájú szöveget Zeta-Jones, Catherine formájúra, ha nem tárolod el a karaktersorozatokat? -
Karma
félisten
válasz
Sk8erPeter #1968 üzenetére
Az átalakítás szempontjából marha mindegy lenne (ha a +1-es alfeladattól eltekintünk), hogy letárolja-e az egész nevet vagy sem. Meg az átlagszámításhoz se, ebben szerintem neki van igaza.
Viszont a többi feladathoz meg tényleg szükség van rá.
Ez a void atalakit(char[] nev) szignatúra meg üt. -
Sk8erPeter
nagyúr
válasz
cellpeti #1967 üzenetére
Ha nincs eltárolva a karaktersorozat, akkor hogy akarod később átalakítani?
Mindegy, milyen adatfolyamból olvasol (pl. fájlból, standard inputról), a későbbi átalakításhoz, kiíratáshoz mindenképp el kell tárolnod... Miért, eddig hogy képzelted, egyből kiíratod, vagy mi? Akkor a feladatokat nem fogod tudni megcsinálni... -
cellpeti
nagyúr
válasz
Sk8erPeter #1966 üzenetére
catherine_zeta-jones
For-val végig megyek rajta és ha nem kisbetu valamelyik karakter, vagy nem _ vagy nem - , akkor kileptetem a programot. Ha jól gondolom...miért kell letárolnom a karaktereket?
-
Sk8erPeter
nagyúr
válasz
cellpeti #1965 üzenetére
Miért akarod kicserélgetni a whitespace-eket? Akkor eleve félreértetted a feladatot, az a feladat, hogy az alsóvonásokat cseréld szóközökre, és amentén válaszd el a neveket, sőt, eleve a bevitt karaktersorozat nem tartalmazhat whitespace-t, csupán "aláhúzásjelet", ha mégis tartalmaz, akkor hibaüzenetet kell dobni!
Simán megcsinálhatod azt is, hogy karakterenként ellenőrzöd, tárolgatod, és ha valahol hibát találsz, akkor befejezed, hibaüzenetet dobsz, egyébként meg átalakítgatsz. -
cellpeti
nagyúr
Sziasztok!
Lenne egy feladatom. Azt hogy üres sorig kérjen megírtam,azt is,hogy a 0 és 100 között legyen a kor, azt is,hogy csak kisbetuk lehetnek benne. De azt nem tudom,hogy az elválasztó szóközök helyén _ legyen.
Tudnátok segíteni?
-
Karma
félisten
-
futo001
senior tag
Sziasztok!
Szeretnék a Windows mobilomra programot írni. Ehhet a Pelles C nevű programot ajánlották, ami többek között tartalmaz WinCE fordítót. A következő igen egyszerű pár soros progit fordítanám le:
# include <windows.h>
int main()
{
int a,b,c;
//clrscr();
fprintf(stdout,"Kerem az elso szamot: ");
fscanf(stdin,"%i",&a);
fprintf(stdout,",\nKerem a masodik szamot: ");
fscanf(stdin,"%i",&b);
c=a+b;
fprintf(stdout,"\n\nA ket szam osszege: %i",c);
fgetc(&a);
return 0;
}Compile után nincs hibaüzenet, build-re a következő üzenetet kapom:
POLINK: error: Unresolved external symbol 'WinMain'.
POLINK: fatal error: 1 unresolved external(s).Tudja valaki mi lehet ennek az oka? Ha a maint-t cserélem WinMain-re jelezve, hogy windowsos alkalmazás, akkor a következő a hibaüzenet fordítás után:
C:\Users\eeePC\Desktop\proba.c(5): error #2009: Conflicting argument declarations for function 'WinMain'. -
Jester01
veterán
válasz
cellpeti #1952 üzenetére
Talán mert van vele némi probléma
Pl. az első ciklusod <=3 feltéle már a kötőjelet is nézi, tehát amiatt kapásból hibás lesz minden jó rendszám is. Ugyanezen feltétel esetleg túl is címez a stringen, ha az nincs is 4 karakter. A kötőjel ellenőrzésnél i-re hivatkozni nem túl jó ötlet, ha egyszer azt akarod ellenőrizni, hogy a 4. karakter kötőjel-e, akkor azt írd oda (most ugye a hibás ciklusfeltétel miatt az i itt 4 lesz, tehát az ötödik karaktert nézed). A "-" az string konstans nem pedig karakter, és a feltételben kicsit sok a felkiáltójel.A legrosszabb pedig az, hogy a végén fixen "return 1" van, akármi is az ok változó értéke.
Lehetséges javítás:
int rendszam(const char* s)
{
if (!s || strlen(s) != 7 || s[3] != '-') return 0;
for(i=0;i<3;i++)
{
if(!isupper(s[i]) || !isdigit(s[i+4])) return 0;
}
return 1;
}MOD: jó hát én voltam a leglassabb
-
Lortech
addikt
válasz
cellpeti #1952 üzenetére
Mert hibás.
ok változó nem kell, ok = 0-nál return 0, felesleges továbbmenni, ha már ott látod, hogy hibás.
nincs is benne csak return 1, szóval sohasem tér vissza 0-val.
1. for ciklus
0,1,2,3 -as string indexekre fut le, az if-re 4-es indexszel kerül a vezérlés, tehát jó rendszámnál is azt fogja jelezni, hogy a megfelelő karakter nem jó, mert nem "-". if-nél feleslegesen növeled i-t is.#1955: de a legalaposabb is.
Azért bámulatos, hogy tizenx sorban hány baklövést lehet elkövetni c-ben.
-
cellpeti
nagyúr
Sziasztok!
Tud valaki nekem írni egy rendszam ellenorzo fv-t?
ezt nem fogadja el:
int rendszam(char s[])
{
int i,ok,h;
h=strlen(s);
if(h!=7) {ok=0;}
for(i=0;i<=3;i++)
{
if(!isupper(s[i])) {ok=0;}
}
if(!s[i]!="-") {ok=0;} {i++;}
for(i=3;i<h;i++)
{
if(!isdigit(s[i])) {ok=0;}
}
return 1;
} -
bpx
őstag
-
_kovi_
aktív tag
válasz
Sk8erPeter #1946 üzenetére
#include <stdio.h>
#include <conio.h>
#include <string.h>void main(void){
int i,j;for(i=1;i<=21;++i){
for(j=0;j<i;++j) printf(" ");
printf("*\n");
}
getchar();
}Ennyi az egész. Utána beraktam neki egy sima Hello World-ot. De azzal sem jó.
A Compile lemegy, simán, hiba és warning nélkül, de a build már nem... -
_kovi_
aktív tag
Felraktam a Visual 6-ot.
Következő a problémám:Mi okozza azt a hibát szerintetek?
-
Laca 012
őstag
Hát igen "user error" az van..
Megpróbáltam:root@D945gsejt:/home/laca/flash2# # ./ath_eeprom_tool -r 0xdfc00000 eeprom1.dat
root@D945gsejt:/home/laca/flash2# ls
ath_eeprom_tool ath_eeprom_tool.cElvileg a programnak így kellene kinéznie ha lefut. Nem?:
Vagy lehet tiltva van a read az eepromban?? :
root@D945gsejt:/home/laca/flash/ath_info# ath_info dfc00000
sleep_ctl reg 0000073f reset_ctl reg 00000000
-==Device Information==-
MAC Revision: 5418 (0xca)
Unable to read EEPROM Magic value!Mert akkor gondolom innentől felejtős a project..
Vagy attól még valamit írnia kellene?? -
Laca 012
őstag
Sziasztok! Remélem jó helyre írok és tudok segítséget kérni..
Az előzmény:
Intel D945gsejt lapból építünk páran routert/szervert. A készülék egy Atheros-os kártyával működne. A probléma az, hogy az első két kártya amit vásároltam csak windows alatt és csak egy nem hozzá való driver-el kelthető életre kizárólag kliens módban. Közben más is vásárolt ilyen kártyát és meglepődve tapasztaltuk, hogy gyári linuxos driverek is felismerik, és működik master módban, tehát tudunk belőle routert csinálni. Addig jutottunk, hogy a kártyák fizikailag 100%-osan egyeznek és csak a firmware-ben van különbség. Tehát a működő kártya flash tartalmát kellene átmásolni a 2 másik kártyáéra.
Ehhez találtam is egy C-ben írt progit, ami fordítás közben hibákat generál és amikor indítanám "command not found" üzenettel nem indul:
root@D945gsejt:/home/laca/flash2# wget http://www.mobilnews.cz/honza/dnload/ath_eeprom_tool/1_0/ath_eeprom_tool.c
--2010-05-22 11:38:17-- http://www.mobilnews.cz/honza/dnload/ath_eeprom_tool/1_0/ath_eeprom_tool.c
www.mobilnews.cz feloldása… 89.185.231.194
Csatlakozás a következőhöz: www.mobilnews.cz[89.185.231.194]:80… kapcsolódva.
HTTP kérés elküldve, várakozás válaszra… 200 OK
Hossz: 8642 (8,4K) [text/x-csrc]
Mentés ide: „ath_eeprom_tool.c”
100%[===================================================================================================================>] 8.642 --.-K/s idő 0,04s
2010-05-22 11:38:17 (238 KB/s) -- „ath_eeprom_tool.c” mentve [8642/8642]
root@D945gsejt:/home/laca/flash2# gcc ./ath_eeprom_tool.c -o ath_eeprom_tool
./ath_eeprom_tool.c: In function ‘main’:
./ath_eeprom_tool.c:220: warning: format ‘%08X’ expects type ‘unsigned int’, but argument 3 has type ‘long unsigned int’
./ath_eeprom_tool.c:236: warning: format ‘%04X’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’
./ath_eeprom_tool.c:267: warning: incompatible implicit declaration of built-in function ‘exit’
./ath_eeprom_tool.c:284: warning: incompatible implicit declaration of built-in function ‘exit’
./ath_eeprom_tool.c:293: warning: format ‘%04X’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’indításkor:
root@D945gsejt:/home/laca/flash2# ath_eeprom_tool -r 0xdfc00000 eeprom1.dat
ath_eeprom_tool: command not found"googlizgatva" még anyit próbáltam, hogy beszúrtam egy #include <stdlib.h> sort a megfelelő szekcióba, és így 2 hiba nem jelentkezik:
root@D945gsejt:/home/laca/flash2# gcc ./ath_eeprom_tool.c -o ath_eeprom_tool
./ath_eeprom_tool.c: In function ‘main’:
./ath_eeprom_tool.c:221: warning: format ‘%08X’ expects type ‘unsigned int’, but argument 3 has type ‘long unsigned int’
./ath_eeprom_tool.c:237: warning: format ‘%04X’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’
./ath_eeprom_tool.c:294: warning: format ‘%04X’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’Nem tudom, hogy ezzel megoldottam-e valamit, de mivel semmi közöm nem volt soha c programozáshoz, itt teljesen elakadtam.
Abban sem vagyok biztos, hogy nem kell-e módosítani a programot ehhez a kártyához, mert ahogy szövegesen belenéztem, mindenhol az AR5212 szerepel az AR5008 helyett, de azt gondolom, hogy ha laikusként ezeket átírom AR5008-ra az kevés, mert lehetnek címzésbeli különbségek..
Leírásban lévő kártya:
0000:02:07.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
Subsystem: Wistron NeWeb Corp.: Unknown device 1012
Flags: bus master, medium devsel, latency 168, IRQ 9
Memory at fbff0000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [44] Power Management version 2Az én kártyáim:
02:00.0 Ethernet controller: Atheros Communications Inc. AR5008 Wireless Network Adapter (rev 01)
Flags: bus master, fast devsel, latency 0, IRQ 10
Memory at dfc00000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 2
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [60] Express Legacy Endpoint, MSI 00
Capabilities: [90] MSI-X: Enable- Mask- TabSize=1
Capabilities: [100] Advanced Error Reporting <?>
Capabilities: [140] Virtual Channel <?>Remélem tud valaki segíteni, vagy legalább tippet adni, kihez-hova forduljak..
Köszi! -
_kovi_
aktív tag
Sziasztok!
Abban kérném a segítségeteket, hogy hogyan kell beállítani Visual Studio 2008-ban, hogy C-ben szeretnék programozni.
Arra már rájöttem, hogy,
New->Project->C++->Win32 Consol Application->majd utána
beírom a nevet, és a megjelenő panelben, az applic. settingsben, empty projekt.
De a gond, hogy nem adja be a felületet, ahova írni tudnék. -
válasz
Sk8erPeter #1929 üzenetére
szia. gyakorlaton csináltuk. fileból kiolvassa a sort azzal gond nincs. csak azzal hogy belenyomoritsam a tömmbe a felbontott szöveget.
-
Retekegér
MODERÁTOR
Dev-C++-ban probléma:
egy mátrix random számokkal való feltöltése nem jön össze/*Mátrix feltöltése véletlen számokkal*/
for (i=0; i<NELEM1; i++)
for (j=0; j<NELEM2; j++)
(*pm1)[i][j]=random(10000)*1.234;Hibaüzi:
In function `int main()': `random' undeclared (first use this function)Megfelelő könyvtári függvények include-olva vannak, szóval nem értem.
-
Karma
félisten
válasz
Korcsii #1918 üzenetére
McDonaldsos konyhas inkabb...
Mondjuk vannak olyan szakok, ahol teljesen feleslegesen is beraknak programozast, nem tudom milyen motivaciobol. Pl. a Godolloi Egyetem kornyezetmernoki szakan vegzett ismerosomnek Visual Basicet kellett volna programoznia. Termeszetesen tanitani ott se tanitottak, az eloado peldakodjai is hackeltek es rondak voltak, de eleg korrepetalas utan sikerult atmennie.
-
Korcsii
őstag
nem tudom már ki keresett meg egy kis helpért, amikor épp zh-t írt, de tényleg így készül a programozó?
-
CséZé
őstag
hi!
ha valaki nagyon unatkozna megcsinálhatna nekem 3 rémegyszerű feladatot. az a helyzet h ezek beadandók, de én rohadtul nem értek hozzá és elintézném egy kettessel ezt a tantárgyat. a forráskód kellene nekem igazándiból. Visual Studio 05-tel dolgozunk.
íme a feladatok:
- Tervezzünk egy olyan programot, amely milliméterben beolvasott távolságot átalakítja m, cm és mm-re!
- Készítsünk egy olyan programot, amely beolvassa egy gyümölcs nevét és megállapítja, hogy az magánhangzóval vagy mássalhangzóval kezdődik-e!
- Írjunk egy olyan programot, amely kiírja a 15-255 közötti karaktereket és a kódjukat! -
harry
veterán
válasz
Sk8erPeter #1913 üzenetére
Linux alatt használom, de valóban, az is gcc.
-
v2izzy
tag
Hello!
CodeBlocks-ban írok C progit és erre a programra:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int az;
scanf("%d", &az);
printf("%d", az);
return 0;
}
erre a scanf után lefagy. Mi lehet a gond?
A segítséget előre köszönöm! -
harry
veterán
Sziasztok, kérnék egy kis segítséget:
Egy tömb elemeinek kéne k-ad szintű kombinációit képezni - vagyis pl.: n=5, k=2-re (5 alatt 2):
(1,2) (1,3) (1,4) (1,5) (2,3) (2,4) (2,5) (3,4) (3,5) (4,5)
Persze tetszőleges n és k értékekre, így tehát valamilyen rekurzióra lenne szükség. Illetve láncolt listát használok, de ez most azt hiszem annyira nem lényeg (abban is meg lehet keresni i. elemet).
Az előállított elemekre majd meg kell hívni egy függvényt, szóval gondolom nem ártana eltárolni őket valahol, de az megint láncolt lista - szóval egyelőre az előállítással van gondom.
C++ nyelv, nincs STL, vagy gyári függvények.Próbálkozok vele már egy ideje, de nem sikerült rájönnöm. Van egy progim, mely a "beljebb" lévő elemeket jó sorrendben adja, de nem írja elé az előtte lévő helyiértéken lévő elemet. [link] Személetesebben, 5 és 2-re a kimenet:
12 23 34 45
3 4 5
4 5
5Lehet ezzel kezdeni valamit, vagy rossz irányban keresgélek?
-
Korcsii
őstag
C-ben hogy lehet a legegyszerűbben megvizsgálni, hogy egy string-ben egy adott karakter szám-e? egy jó hosszú if-el (esetleg switch) biztos, de remélem van valami egyszerűbb módja is... PHP-ban pl erre való az isint(), de C-ben nem találtam hasonlót...
-
SDA
csendes tag
válasz
Sk8erPeter #1904 üzenetére
Valóban CodeSearch segített... úgy tűnik van egy használható.
Köszi.
-
SDA
csendes tag
Sziasztok!
Egy kis segítségre lenne szükségem:
Nézegettem a neten, keresgéltem C feladatokat gyakorlás képpen úgy találtam erre az oldalra:
http://vili.pmmf.hu/~zamek/cprog1.html -> ezen belül a 8as feladatra nem tudok rájönni.
Valószínű, hogy aki ért hozzá, annak pár perc a dolog.... Nagyon megköszönném, ha valaki megírná nekem a megoldást.
Köszi!
-
doc
nagyúr
válasz
macikos #1900 üzenetére
Tekintve, hogy Gépész vagyok és nem Infós, így ez valahogy nagyon nem tud érdekelni. Nem emlékezhetek mindenre.
gepeszhallgatokent valoszinuleg eleg ertelmes ember vagy, igy foleg nem okozhat(na) gondot az altalanos iskola kb. 2. osztalyaban tanultak felelevenitese (kacsacsor balra, kacsacsor jobbra). semmi mas kulonbseg nincs a max. es min. kereses kozott...
de mondom, nem szemelyeskedni akarok, csak kicsit gondolkozzatok mar mielott irtok ide... mondjuk minimalis odafigyelessel, gondolkodassal siman megelozheto lenne a PH-s forumok postjainak kb. 80%-a
(beleertve nem ritkan az enyemeket is...)
Ú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!
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Milyen notebookot vegyek?
- Samsung Galaxy A54 - türelemjáték
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- The Division 2 (PC, XO, PS4)
- LEGO klub
- Xiaomi 15 - kicsi telefon nagy energiával
- E-roller topik
- EA Sports WRC '23
- További aktív témák...
- Iphone 14 PRO 128 GB 88% akksi
- Watch Ultra (1.st gen) szinte új
- Csere-Beszámítás! Lenovo Ideapad 3 Gamer notebook.I5 10300H / 16GB DDR4 / GTX 1650 / 250SSD +500HDD
- HP Victus 16-d10008tx 16.1" FHD IPS i7-12700 RTX 3060 16GB 512GB NVMe gar
- Lenovo Legion 5 Pro Gamer Laptop 2év garanciával (i7 13700HX, RTX 4060)
- AKCIÓ! ASROCK H310CM i5 9600K 32GB DDR4 500GB SSD RTX 3050 8GB DeepCool Tesseract SW 500W
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 GAMER PC termékbeszámítással
- Eladó Új Motorola G31 4/64GB szürke / 12 hónap jótállással!
- Samsung Galaxy S22 Ultra 128GB, Kártyafüggetlen, 1 Év Garanciával
- TELJES KÖRŰ IT BESZERZÉS
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged