Hirdetés

2024. május 1., szerda

Gyorskeresés

Hozzászólások

(#2051) Karma válasza mobal (#2049) üzenetére


Karma
félisten

Sok megoldás van rá, pl. veszed az indexeket 1-től n-ig, megkevered őket, aztán ennek mentén kiírod. Ez láncolt listával halál, a tömb sokkal hatékonyabb most.

“All nothings are not equal.”

(#2052) cucka válasza mobal (#2049) üzenetére


cucka
addikt

hogy lehetne a tartalmát random kiíratni úgy, hogy minden elem szerepeljen és csak egyszer (nincs ötlet).

Például egy nagyon fapados megoldás: indexeled az elemeidet 0-tól n-ig. Egy iterációban veszel 2 random indexet és felcseréled a nekik megfelelő elemeket. Az iterációt elég sokszor megismétled. (Ha csak a kiírás kell random legyen, akkor a cserélgetéshez hozz létre egy, az indexeket tartalmazó tömböt és annak elemeit cserélgesd)

Igazából ez egy nem túl jó megoldás, cserébe nagyon egyszerű átlátni és megvalósítani. (Pl. azért nem jó, mert az iterációk számának növelésétől nem lesz "rendezetlenebb" a tömböd). Továbbá érdemes arra odafigyelni, hogy ha listával dolgozol, akkor egy adott indexű elem elérése O(n) műveletigényű, míg tömböknél O(1), tehát a fent vázolt megoldás meglehetősen lassú.

(#2053) Karma válasza cucka (#2052) üzenetére


Karma
félisten

Az előbb linkeltem egy szabályos keverési algoritmust, szerintem nem kell annál jobban kókányolni :)

“All nothings are not equal.”

(#2054) cucka válasza Karma (#2053) üzenetére


cucka
addikt

Jogos, nem olvastam el rendesen a válaszokat a kérdésre.

(#2055) mobal válasza Karma (#2051) üzenetére


mobal
MODERÁTOR

Szia!

Végre volt időm kicsit foglalkozni vele. Ez az algoritmus állati :)

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#2056) tomazin


tomazin
veterán

Hahó!
Még egy fél éve irtam egy programot,amit tesztelni a cunittal teszteltem.Most megint elö kellene szedni a progit,viszont nem tudok felrakni cunitot.Anno sem tudtam,csak akkor bent a cégnél volt felrakva,és fogtam a könyvtárat hazahoztam,felmásoltam,és müködött a dolog(ez most nem kivitelezheto).Amit eddig találtam,azt forditani kellene,viszont linux alatt lehet csak,ami meg nem jo nekem.
Valakinek aki használ ilyet van ötlete(vagy linkje vagy bármi)?Csak mert holnapig fel kéne raknom egy ilyet.
Köszi elöre is

(#2057) Jester01 válasza tomazin (#2056) üzenetére


Jester01
veterán

Én látok ott egy windowsra fordított verziót, az miért is nem jó :F

Jester

(#2058) tomazin válasza Jester01 (#2057) üzenetére


tomazin
veterán

Köszönöm :R

(#2059) tomazin válasza Jester01 (#2057) üzenetére


tomazin
veterán

dupla

[ Szerkesztve ]

(#2060) teve08


teve08
tag

Sziasztok!

Nem tudom a C programozási nyelvet érdemes-e elkezdeni semmi alap tudás nélkül?
Valamint PAWN-ban kellene programozni ez úgy tudom, hogy a C egyik fajtája de javítsatok ki, ha rosszul mondom.Na szóval az utóbbihoz mit kellene elkezdeni kezdésnek?Esetleg milyen könyvet kellene olvasni hozzá?

Üdv. Teve08

(#2061) Gyuri16 válasza teve08 (#2060) üzenetére


Gyuri16
senior tag

pawnt nem ismerem, honlapja alapjan c alapu nyelv, szoval nem art az ismerete

ha nem tudsz programozni, akkor eloszor az alapokat kell elsajatitanod valamilyen nyelven, ez akar lehet c is. vannak hozza jo konyvek, itt a forumon is kaphatsz segitseget es sok ma hasznalatos nyelvnek van hozza hasonlo szintaxisa. negativum szerintem a bonyolultsaga (mondjuk pascalhoz viszonyitva), de ha komolyan gondolod akkor hajra. nagyon jo konyv a kernighan es ritchie fele c programozas, ha ezen atragod magad es meg mindig erdekel, akkor mar tudni fogod hogyan allj neki a pawnnak

Nem vagyok egoista, csak uborkagyalu!

(#2062) Karma válasza Gyuri16 (#2061) üzenetére


Karma
félisten

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.”

(#2063) Gyuri16 válasza Karma (#2062) üzenetére


Gyuri16
senior tag

ok, nem szeretnem ujbol megnyitni ezt a vitat, mar kitargyaltuk, de ha visszanezed ezt a topicot lathatod, hogy sok kerdes beolvasassal, sztring kezelessel es pointerekkel (tombokkel) kapcsolatos. ezek mind egyszerubbek imho pascalban. (string mukodnek tombok/pointerek nelkul, beolvasas el van intezve egy readlnvel..), nem beszelve az erthetobb/intuitivabb szintaxisrol (szovakkal kiirt dolgok, for ciklus..)

szoval a te szotarad szerint kezdobaratabb a pascal, en is ezt akartam mondani..

mod: senior tag lettem :B tul sokat irok mostanaban ide, pedig tanulnom kellene :)

[ Szerkesztve ]

Nem vagyok egoista, csak uborkagyalu!

(#2064) Karma válasza Gyuri16 (#2063) üzenetére


Karma
félisten

Nem is veszekedni akartam :) Csak szeretek ezen vitázni.
Nomeg keresem a megoldást, amivel programozást lehet oktatni.

“All nothings are not equal.”

(#2065) Gyuri16 válasza Karma (#2064) üzenetére


Gyuri16
senior tag

hat attol fugg mit ertesz programozason. konkret prograzomozoi allasra szerintem nincs ertelme felkesziteni, hisz az egyetem inkabb az elmeleti tudast adja meg, hogy tudj gondolkozni ilyen modon, aztan a munkahelyen majd kikupalodsz. technologiabol sok van, ezert ezt se erdemes kulon tanitani. 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. elsohoz tartozik a most hasznalt prog. paradigmak megertese (strukturalt, oop..), ehhez kapcsolodo tervezes (pl design patterns). nagy szerepuk van ebben az elmeleti tantargyaknak is (formalis nyelvek es automatak, complexity *, algoritmusok, adatstrukturak). problemamegoldo kepesseg pedig az egyetem 5 eve alatt kifejlodik magatol, erre van a sok matek, formalis tantargyak, bizonyitasok. mind ad egy absztrakt modellt, amiben gondolkodni kell, es problemakat amiket ebben meg kell oldani.
ezt mind egy egyetem adja, ezek utan, ha a programozo wannabe nincs olyan szinten, hogy egy cegnel elhelyezkedve barmilyen (ot erdeklo) munkakorbe bele tudjon razodni rovid idon belul, akkor valoszinuleg benne van a hiba.

kivancsi vagyok te hogyan gondolod ezt, mit kellene mashogy tanitani. lehet mas az en velemenyen, mert egyre kevesbe akarok egy nagy ceg programozoja lenni, aki heti 40+ oraban irja a kodot mint egy robot. nekem ennel tobb kell. ugy gondolom, hogy a legtobb ilyen programozonak nem is kellene egyetem (legalabbis nem ilyen formaban).

nalunk is probalnak mostanaban beujitani tantargyakat, amik jobban a gyakorlatra keszitenek fel, de egyelore ugy latom, hogy tulmisztifikaljak a dolgok. pl most is volt egy targyam ami elsodlegesen uml modellezest tanitott. elfogadom, hogy ez egy jo dolog, de tanitani egy szemeszteren at azert kicsit megalazo, hisz ezt a par diagramot egy delutan elmagyarazom barkinek aki irt mar 100 sornal hoszabb programot.

* sorry, nem magyarul tanulok, nem tudom mi erre e kifejezes

Nem vagyok egoista, csak uborkagyalu!

(#2066) Karma válasza Gyuri16 (#2065) üzenetére


Karma
félisten

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.”

(#2067) Gyuri16 válasza Karma (#2066) üzenetére


Gyuri16
senior tag

jo, most mar ertem mire gondolsz. fogalmam sincs, hogyan lehetne ezt ertelmesen megtanitani es hogy egyaltalan kell-e. nalam ez ugy volt, hogy egyszer valamiert ramjott, hogy en most programozni akarok, kaptam egy kis segitseget az elejehez, aztan meg egy konyvet, amit olvastam, kodoltam es aztan ment magatol. vannak olyan dolgok amiket nem tanit meg az iskola, egy informatikusnak szabad idejeben is kellene foglalkozni vele, es igy eleg gyorsan kialakulna a fejeben egy modell a programozasrol. mostanaban linkelt valaki ide egy felmerest arrol, hogy az emberek nagy resze nem tud megtanulni programozni, nekik nem biztos, hogy ezt kellene eroltetni (mert ugye sokan mennek mostanaban ugy informatikat tanulni, hogy lovesuk sincs mibe vagnak bele). nekem ez megy, cserebe viszont nem tudok rajzolni, se enekelni es az irodalom sose erdekelt. nem tudom pl miert szebb egy vers a masiknal, miert mondjak egyik festmenyre, hogy mestermu es masikat miert nezik le.

Nem vagyok egoista, csak uborkagyalu!

(#2068) yoogie


yoogie
aktív tag

Sziasztok!

Segítséget kérnék.. :B

Feladat:
A program olvasson bebiztonságos módon a felhasználótól 2 egész számot. Ezek legyeneka és b. Jelöljék egy intervallum alsó és felső határát. A program végezzen ellenőrzést. Ha b<=a akkor írjon ki hibaüzenetet a képernyőre. Egyébként a program írja ki a primek.txt fájlba az a és b között található prímszámokat és egyben a képernyőre azt, hogy hány db prímszám van a és b között.

(#2069) Gyuri16 válasza yoogie (#2068) üzenetére


Gyuri16
senior tag

es a feladat melyik reszevel akadtal el?

beolvasas:
ha ki van hansulyozva hogy biztonsagosan, akkor legjobb ha pl fgets-el beolvasod az egesz sort, leelenorzod, hogy szam-e, es atalakitod (atoi)

primszamok:
erre sok algoritmus van, legegyszerubb talan Eratoszthenesz szitaja. vagy vizsgalhatod minden egyes szamot kulon (egy szam prim ha 2tol gyok(szam)-ig nincs osztoja)

Nem vagyok egoista, csak uborkagyalu!

(#2070) yoogie válasza Gyuri16 (#2069) üzenetére


yoogie
aktív tag

Összességében az elején. :U

(#2071) shev7 válasza yoogie (#2070) üzenetére


shev7
veterán

senki nem fogja helyetted megirni a hazifeladatodat. Ez itt nem errol szol. Viszont ha valami nem megy szivesen segitunk, csak lassuk, hogy te is probalkozol.

Mutasd meg meddig jutottal, mi az ami nem megy...

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#2072) yoogie válasza shev7 (#2071) üzenetére


yoogie
aktív tag

Értelek, akkor küzdök tovább.

(#2073) peeeeeti válasza cellpeti (#654) üzenetére


peeeeeti
csendes tag

#include <iostream>
#include <stdio.h>
#include <sstream>
#include <string>

using namespace std;

bool szamjegyeke(string);
string spacevalfeltolt(string);
int osszeg(int*, int);

int main()
{
string szam;
int tomb[6], i = 0;
do
{
if(i) cout << "A meadott szamsor nem megefelelo!";
system("pause");
system("cls");
cout << "Add meg a 6 szamjegyet: ";
getline(cin, szam);
if(szam.empty()) break;
szam = spacevalfeltolt(szam);
istringstream is(szam);
is >> tomb[0] >> tomb[1] >> tomb[2] >> tomb[3] >> tomb[4] >> tomb[5];
i++;
}while(szam.size() < 6 || szamjegyeke(szam) || osszeg(tomb, 5) / 6 == tomb[5]);
system("pause");
}

bool szamjegyeke(string s1)
{
for(int i = 0; i < s1.size(); i++)
if(!isdigit(s1[i]))
return false;
return true;
}

string spacevalfeltolt(string s1)
{
string s2;
for(int i = 0; i < s1.size(); i++)
{
s2 += s1[i];
s2 += ' ';
}
return s2;
}

int osszeg(int *a, int hossz)
{
int eredmeny;
for(int i = 0; i < hossz; i++)
eredmeny += a[i];
return eredmeny;
}

Ez valami beadandó?

(#2074) Gyuri16 válasza peeeeeti (#2073) üzenetére


Gyuri16
senior tag

hello, latom uj vagy errefele, szoval egy par eszrevetel:
1. egy masfel eves kerdesre valaszoltal, azota valoszinuleg megoldotta
2. ez nem a c++ topic, ide sima c-t szokas irni
(3. tobbnyire nem szokunk rogton mukodo programot irni valaszban, nem irjuk meg mas helyett a lecket, mert akkor semmi fejlodes nem lesz, csak jon az ujabb feladatokkal)

a programodhoz: system("pause")-t hanyagold, rossz szokas egy ilyen egyszeru dolog miatt rendszerhivast hasznalni, nem beszelve arrol, hogy nem platformfuggetlen. a maradek ellenorzesenel te osztasz, pedig oda % jel kell. azon kivul ha jol latom az elso iteracion kivul mindig kiirja, hogy rosszak a szamok. a ciklusod vegen a feltetel se jo, a feladat szerint addig kell beolvasni amig nem kapsz ures sztringet, nalad pedig kilep ha rossz bemenetet kap (ahogy latom vagyot tettel oda, ami kicsit fura, nem ertem mit akartal elerni, igy most akkor lep ki a ciklusbol, ha egyik feltetel se teljesul). meg van par hiba, pl nem ellenorzod, hogy tenyleg beolvastal e 6 szamjegyet, igy ha kevesebbet adsz meg es meghivod az osszeg fuggvenyt, akkor meghal tulcimzessel

[ Szerkesztve ]

Nem vagyok egoista, csak uborkagyalu!

(#2075) makkos.tibor


makkos.tibor
csendes tag

Üdvözlet mindenkinek!
Egy "C" - nyelvű problémában kérném VALAKI segítségét!
Turbo C - ben kellene 5 feladatot megoldani, de annyi időm sincs, hogy letöltsem nemhogy megírni, meg nem is vagyok akkora spieler.
Kérlek benneteket segítsetek, mert sok múlik rajta.
A feladatokat is feltehetem, de a címem makkos.tibor@gmail.hu, ha valaki tényleg tudna segíteni kérem ide írjon! Ja, SŰRGŐS!!!

Előre is köszönöm!

(#2076) klayton#1


klayton#1
tag

sziasztok,
elegge kezdo szinten vagyok,csak rovid ideje ismerkedek a nyelvvel. szeretnek egy programot irni, ami a bevitt szoveget megforditja, viszont egy erdekes problemaval talalkoztam, nem tudom mi a hiba, lehet, hogy teljesen rossz logika szerint csinalom, ezert nagyon megkoszonnem, ha valaki segitene megoldani a problemam:) mellekeltem ket kepet, az elso akkor keszult, amikor meg nem raktam bele a "megforditos" reszt, a masodik pedig utana. elore is koszonom a valaszokat!:)
1.:
2.:

(#2077) Karma válasza klayton#1 (#2076) üzenetére


Karma
félisten

Túlbonyolítod, utána meg elrontod.

Mivel karakterenként olvasol be (ez a túlbonyolítás, olvashatnál nagyobb egységet más függvénnyel), kézzel be kell raknod a lezáró 0-t a karaktersorozatod végére (ezt hagytad ki). Az strlen is ezt akarná használni, nomeg a kiírás is.

“All nothings are not equal.”

(#2078) klayton#1


klayton#1
tag

/bocsanat valamiert dupla lett, ezt toroltem

[ Szerkesztve ]

(#2079) klayton#1 válasza Karma (#2077) üzenetére


klayton#1
tag

koszonom, ertem, megoldottam:)

(#2080) cellpeti


cellpeti
veterán

Szakot váltottam( lehet örülni )

Tigris, tigris, csóvafény...

(#2081) Sk8erPeter válasza cellpeti (#2080) üzenetére


Sk8erPeter
nagyúr

Senki nem örül, ha nem jött össze. :( Nem sikerült a prog1 végül? Milyen szak lett a választott?

Sk8erPeter

(#2082) cellpeti válasza Sk8erPeter (#2081) üzenetére


cellpeti
veterán

Nem sikerült. A választott szak: Műszaki Menedzser

Tigris, tigris, csóvafény...

(#2083) SDA


SDA
csendes tag

Hali!

Egy kérdésem lenne!

C-ben írogatok kisebb programokat, amiket küldenék tesztelésre a haveroknak... Windows van fönn és a CodeBlocks programmal támadok, ami nagyon jó is, csak az a bajom, hogy amikor lefordítom a programot, létrehozza a gipszjakab.exe file-t ahol gyönyörűen bekéri az induló adatokat és amikor a számításra kerülne a sor, kilép... nemes egyszerűséggel.

Ha a C::B-ban futtatom, ott működik...ugye mélben én csak az .exe-t küldeném tovább, és soknak nincs is fönn a C::B, mert nem használják.. Ötlet esetleg?

C::B = CodeBlocks (gyökér szmájlik)

[ Szerkesztve ]

(#2084) Karma válasza SDA (#2083) üzenetére


Karma
félisten

Ha az EXE-t küldöd, akkor annak ott is simán futnia kéne. De ha bármi baj lenne, úgyis hibaüzenetet látnának. Vagy nem értem mi a probléma :F

[ Szerkesztve ]

“All nothings are not equal.”

(#2085) shev7 válasza SDA (#2083) üzenetére


shev7
veterán

nem lehet, hogy az eredmeny is ott van csak nem latod, mert bezarja az ablakot? mi van ha parancssorbol futtatod? Mert ha ott latszik akkor chak egy getchar()-t kell tenned a progi vegere.

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#2086) SDA válasza shev7 (#2085) üzenetére


SDA
csendes tag

Köszi, úgy tűnik hogy a parancssorban látszik, úgy hogy az lehet amit mondtál, hogy ott van az eredmény, csak mielőtt földolgozná a csöpp agyam, bezáródik az ablak... Egy kicsit részletesebben ezt a getchar varázslatot légyszi :)

(#2087) shev7 válasza SDA (#2086) üzenetére


shev7
veterán

a getchar() hivas beolvas egy karaktert. Szoval ha ez az utolso utasitas mielott a main function veget er, akkor a program billentyuleutesre fog varni, es nem zarodik be miutan megjelent az eredmeny. Nem varazslat...

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#2088) SDA válasza shev7 (#2087) üzenetére


SDA
csendes tag

Oks, köszi, megpróbálom!

(#2089) brsd


brsd
csendes tag

Üdv mindenkinek!

Code:Blocks-ban szeretnék, C nyelven programozni. Ezt az üzenetet kapom egy kód lefuttatásakor, fekete ablakban: "Process returned 0 (0x0) execution time: 0.001 s
Press any key to continue"
Billentyűleütésre kilép az ablakból, nem fut le semmilyen program. Csak simán feltelepítettem a Code:Blocks-ot, nem tudom, hogy kell-e még valami kiegészítő a működéséhez.

Előre is köszönöm.

(#2090) Jester01 válasza brsd (#2089) üzenetére


Jester01
veterán

És miből gondolod, hogy nem futtott le?

Jester

(#2091) brsd válasza Jester01 (#2090) üzenetére


brsd
csendes tag

Tehát akkor lefutott ? Akkor, hogyan tudnám megtekenti a programot ?

(#2092) shev7 válasza brsd (#2091) üzenetére


shev7
veterán

define: megtekinteni

azt sem tudjuk, hogy mit csinal a programod, mit kene latnod...

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#2093) brsd válasza shev7 (#2092) üzenetére


brsd
csendes tag

Egy egyszerű programot, pl:

#include <stdio.h>
main()
{
printf("CodeBlocks");
getch();
}

(#2094) shev7 válasza brsd (#2093) üzenetére


shev7
veterán

es a "fekete ablakban" nem jelent meg hogy CodeBlocks?

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#2095) brsd válasza shev7 (#2094) üzenetére


brsd
csendes tag

Nem jelent meg, az az üzenet jelent meg, amit a legelső posztomban írtam. A program begépelése után a "Build" menüpontból, a "Compile current file"-t választottam, elmentettem a kódot .c kiterjesztésben. Aztán a "Run" menüpontra kattintottam, és a válaszablakban pedig a "Nem"-re. Nem tudom, hogy így helyes-e.

(#2096) Jester01 válasza brsd (#2095) üzenetére


Jester01
veterán

Én tennék egy \n-t is a kiírásba, hátha a soronkénti pufferelés tréfál meg.

Jester

(#2097) brsd válasza Jester01 (#2096) üzenetére


brsd
csendes tag

Nem működik így sem:

#include <stdio.h>

int main(void)
{
printf("Hello world!\n");
return 0;
}

Ezt írja, ki, ha a "Run"-ra kattintok: "It seems that this file has not been built yet. Do you want to build it now ?" ha a "nem"-re kattintok, akkor jön be a fekete ablak, a fent leírt üzenettel.

(#2098) shev7 válasza brsd (#2097) üzenetére


shev7
veterán

mi lenne, ha yes-t valaszolnal...

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#2099) brsd válasza shev7 (#2098) üzenetére


brsd
csendes tag

Ha yes-t válaszolok, nem történik semmi.

(#2100) doc válasza brsd (#2099) üzenetére


doc
nagyúr

de miert egyesevel buildelsz file-okat? csinalj projectet, minden IDE igy mukodik

Copyright © 2000-2024 PROHARDVER Informatikai Kft.