- Tarr Kft. kábeltv, internet, telefon
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Milyen program, ami...?
- Xiaomi AX3600 WiFi 6 AIoT Router
- Microsoft Excel topic
- Mesterséges intelligencia topik
- Linux kezdőknek
- A pápa egyre jobban tart a romlott AI veszélyeitől
- Synology NAS
Új hozzászólás Aktív témák
-
Davey7
senior tag
ez fura...
mert ugye az "és" kapcsolat a logikában akkor teljesül,ha mindkettőre teljesül a "vagy" kapcsolatnál pedig vagy az egyikre vagy a másikra teljesül a feltétel.
és nekem most az kell,hogy addig fusson a ciklus amíg mindkettő egyszerre nem 0. szóval szerintem ez "és" kapcsolat.
priviben vagy akár itt elmagyaráznád,hogy miért kell a vagy?mert nem értem...
-
Nunder
őstag
válasz Gyuri16 #1322 üzenetére
Hogy is? Mivel a Makefile-ban csak a fordítani kívánt OpenGL program nevét kell változtatni, valamit ezután a make, majd a ./valami következik. Erre gondolom nem vonatkozik a szokásos fordítási procedúra.
“It's the job that's never started as takes longest to finish.” // blackbird3dworks.hu
-
Dead_slow
tag
válasz Gyuri16 #1610 üzenetére
Köszönöm, a fáradtság úgy néz ki legyőzött. Így már minden szép és jó.
void leptet(){
int i,j,k;
k=0;
printf("lepeszsam:");
scanf("%d",&k);
printf("\n ");
for(i=0;i<8;i++)
printf("%c ", 'A'+i);
printf("\n");
for(i=0;i<8;i++){
printf("%d ", i+1);
for(j=0;j<8;j++){
if(k>i)
printf("|%c",tabla[' '][' ']);
else
printf("|%c",tabla[j][i-k]);
}
printf("|\n");
}
} -
Dead_slow
tag
válasz Gyuri16 #1614 üzenetére
Köszönöm, a kiegészítést/magyarázatot!
Már az előző hozzászólás után módosítottam a kódot, nem rég kezdtem el foglalkozni a dologgal, mármint nem a C nyelvvel, hanem az egész programozás témával remélem azért később jobban fog menni és nem okoz majd ekkora nehézséget egy ilyen egyszerűbb program megírása. -
Sk8erPeter
nagyúr
válasz Gyuri16 #1659 üzenetére
A névvel kapcsolatban igazad van, dehát a feladat megvalósítása szempontjából kb. az volt az, amit a legjobban lesz@rtam. Amúgy sem gondolkodtam olyan túl sokat a feladat megoldásán, nem épp ezen kell leakadni.
"viszont foloslegesen mesz vegig az osszes oszton"
Már miért mennék végig az összes osztón?
A for ciklusból szerintem nem vettél észre egy részletet:
(i<max && divider<2)
(A zárójelezés szándékos, bár nem lenne kötelező, hogy jobban látható legyen, hogy összetartozik.)
Tehát eleve ha már divider mondjuk elérte a 2-t, akkor nem is fut tovább a ciklus.
Azért nem tértem vissza egyből már a for ciklusból, mert utána lehet, hogy akar további műveleteket végezni, vagy mittudomén, kiírni valami üzenetet, akkor legyen szabadon bővíthető, könnyebben átalakítható. Legfeljebb abban az esetben csak kiírja, hogy prím vagy sem, aztán végzi tovább a dolgát, ahogy akarja.
Ezek fényében nem nagyon értem a kritikát.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Gyuri16 #1669 üzenetére
Ebben teljesen igazad van, függvénynek nem I/O művelet a dolga, csakis annak elvégzése, amiért meghívták. A főprogram írogasson ki. Tehát ilyen egyetértek veled, de ha kicsit több energiát fektettem volna a dologba, akkor biztos feltűnt volna.
(#1668) shev7: OK, igaz, végül is nekem is jó, ha szóltok, hogy valahol lehetett volna jobban. Csak azt hittem, most jön a saváradat, ami miatt aztán szégyellhetem a pofám, hogy hogy írhattam ilyen sz@rt. Amúgy igazatok van abban, amiket írtatok.
Mondjuk azt bírom, hogy a srác, aki annyit kérdezősködött, és akinek megírtam, még csak annyit se mondott, hogy "kösz vaze"... Így próbáljon segíteni az ember másnak. Vagy csak én vagyok a maradi, hogy meg szoktam köszönni, ha segítenek nekem?[ Szerkesztve ]
Sk8erPeter
-
Jester01
veterán
válasz Gyuri16 #1677 üzenetére
Valószínűleg ez fájl felülírás, tehát már lehet valami ott. Ha feltételezzük, hogy az olvasás a fájl végéig megy, akkor 0 byte hatására még ha van is utána szemét az C stringként már nem fog látszani.
Pl. ha a fájlban most az van, hogy "makvirag" és azzal akarod felülírni, hogy "rozsa" akkor a 0 byte nélkül az lenne ott átmenetileg, hogy "rozsarag". Ha egy másik program épp ilyenkor olvasná ki akkor hibás adatot kapna. Ha viszont a lezáró nulla byte is bekerül, akkor azt fogja kapni, hogy "rozsa<0>ag". De mivel a C logika szerint a string csak a 0 byteig tart, ezért ez a helyes "rozsa" értékkel egyenértékű. Ezután persze az ftruncate le fogja vágni a fölösleges byteokat, szóval csak egy nagyon rövid ideig fordulhat elő.
Jester
-
Jester01
veterán
válasz Gyuri16 #1680 üzenetére
man waitpid
POSIX.1-2001 specifies that if the disposition of SIGCHLD is set to SIG_IGN or the SA_NOCLDWAIT flag is set for
SIGCHLD (see sigaction(2)), then children that terminate do not become zombies and a call to wait() or waitpid() will
block until all children have terminated, and then fail with errno set to ECHILD. (The original POSIX standard left
the behavior of setting SIGCHLD to SIG_IGN unspecified. Note that even though the default disposition of SIGCHLD is
"ignore", explicitly setting the disposition to SIG_IGN results in different treatment of zombie process children.)Tehát a 2001-es POSIX szabvány szerint a signal miatt nem lesznek zombik, a waitpid pedig az összes gyereket bevárja és aztán hibát dob (vagyis nem adja vissza a status-t). Más szabványú implementáció esetén még a signal ellenére is szükséges lehet a waitpid a zombik elkerülésére.
Jester
-
nepszter1
addikt
válasz Gyuri16 #1694 üzenetére
Na szóval kezdjük ott gimibe járok szóval nem lesz semmilyen vizsga de nem akarok veszekedni . szóval valahogy úgy van hogy megkel adni egy számot pl.: 6 és utána ki adja azt hogy a szám osztható 2vel és 3mal is , és van ugye amikor nem osztható akkor irja hogy a szám nem osztható2vel és 3mal .
Remélem most érthető voltam , elnézést a kellemetlenségekért
#include <iostream>
eddig juttotam
[ Szerkesztve ]
-
Dead_slow
tag
válasz Gyuri16 #1713 üzenetére
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;
}[ Szerkesztve ]
-
Dead_slow
tag
válasz Gyuri16 #1717 üzenetére
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;
} -
Karma
félisten
válasz Gyuri16 #1719 üzenetére
"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.
“All nothings are not equal.”
-
Dead_slow
tag
válasz Gyuri16 #1719 üzenetére
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.[ Szerkesztve ]
-
doc
nagyúr
válasz Gyuri16 #1746 üzenetére
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
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
válasz Gyuri16 #1824 üzenetére
Hű, na most ez így már tényleg bonyolultabbnak hangzik, mint elsőre gondoltam...de majd végiggondolom. Szerintem holnap megpróbálom megcsinálni, ma már nincs agyam hozzá.
Csak azért gondoltam viszonylag egyszerűnek, mert nem egy általános jellegű regexp ellenőrzőt szeretnék készíteni, hanem csupán a feladatnak megfelelőt. De meglátjuk, lehet, hogy sok cumi lesz vele...
Ja, egyébként köszi az ötleteket, majd utánanézek az általad írt dolgoknak.
Formális nyelvek már nincs BSc-n.(#1823) harry: szintén zenész? Nem is tudtam, hogy Te is ugyanoda jársz.
[ Szerkesztve ]
Sk8erPeter
-
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...[ Szerkesztve ]
Sk8erPeter
-
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.[ Szerkesztve ]
Sk8erPeter
-
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.
[ Szerkesztve ]
Nem vagyok egoista, csak uborkagyalu!
-
MODERÁTOR
válasz Gyuri16 #2048 üzenetére
szia! lényegében csak adatok tárolására majd random sorrendben történő kiíratására. elhatároztam -> láncolt lista viszonylag könnyen meg tudom csinálni és dinamikusan. másik: hogy lehetne a tartalmát random kiíratni úgy, hogy minden elem szerepeljen és csak egyszer (nincs ötlet).
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
Karma
félisten
válasz Gyuri16 #2061 üzenetére
A C egyszeru, mint egy feltegla, csak jol kell banni vele. A Pascal se egyszerubb semmivel se, csak kezdobaratabb, mert nincsenek zarojelek - attol meg ugyanazokat az imperativ alapelveket kell hasznalni.
Magat a nyelvet a "programozzunk C nyelven" is eleg jol leirja.
“All nothings are not equal.”
-
Karma
félisten
válasz Gyuri16 #2065 üzenetére
A complexity magyarul bonyolultságelmélet.
Nem feltétlen az egyetemi oktatással van bajom, az első bekezdésed felétől kezdve aláírom, ezt tényleg oktatják és tényleg szükségesnek is érzem. A probléma viszont a legelején van a képnek.
"programozas tanitasnak szerintem az a celja, hogy az adott problemat (a megoldasat) meg tudd oldani az adott eszkozokkel, ehhez pedig kell egyreszt egy altalanos (nyelvtol fuggetlen) latasmod es egy jo problemamegoldo kepesseg."
Erre nem láttam még jó példát sehol se, legyen szó oktatási intézményről vagy írott anyagról. Pedig a legtöbb esetben már ennél a lépésnél elvérzik a kezdő ember, pedig ha meglenne a látásmód, a nyelv egy fél pillanat alatt jönne.
“All nothings are not equal.”
-
vamzi
őstag
válasz Gyuri16 #2110 üzenetére
Köszönöm szépen, ezen tényleg el tudok indulni. Az első linkben szereplő könyvnek van magyar változata is és ez sokat lendít a dolgon. Úgy érzem a linux-os változatot fogom benyakalni, úgy sem áll tőlem távol.
Most már van annyi olvasnivalóm, hogy egy kis időre eltűnök, és majd jövök mikor nekiállok a tényleges kódot összerakni.
Köszönöm még egyszer!
További szép napot.
-
Carpigabi
csendes tag
válasz Gyuri16 #2236 üzenetére
Egy iskolai feladathoz kellene:
Katonai egyenruhakat kellene gyártani, h a haboruban levo orszagok egymast megtudjak különböztetni.
A bemeneti adat:
1.orszag - 2. ország .... ahol 1.orszag szomszédja és ellensége a 2. orszagnak.
eredményben tehát kikell szamitani a minimalis mennyisegű (színű) egyenruhát, amire szükség van ...
Példák:
Britain - Ireland
Szükséges egyenruhák száma: 2Britain - Ireland
France - Germany
Szükséges egyenruhák száma: 2Britain - Ireland
France - Germany
France - Swiss
Swiss - Germany
Szükséges egyenruhák száma: 3
Ú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!
- MIUI / HyperOS topik
- Vezetékes FEJhallgatók
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Milyen légkondit a lakásba?
- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- Tarr Kft. kábeltv, internet, telefon
- Motorolaj és szűrő topik
- LEGO klub
- Telekom mobilszolgáltatások
- HP notebook topic
- További aktív témák...