- Milyen okostelefont vegyek?
- Samsung Galaxy A72 - kicsit király
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Yettel topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Android szakmai topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Huawei Watch GT 6 és GT 6 Pro duplateszt
-
3300 - 3201
6397 - 6001 6000 - 5901 5900 - 5801 5800 - 5701 5700 - 5601 5600 - 5501 5500 - 5401 5400 - 5301 5300 - 5201 5200 - 5101 5100 - 5001 5000 - 4901 4900 - 4801 4800 - 4701 4700 - 4601 4600 - 4501 4500 - 4401 4400 - 4301 4300 - 4201 4200 - 4101 4100 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-04-25 14:12 Téma összefoglaló
Új hozzászólás Aktív témák
-
Ricqy
tag
Sziasztok!
Van valami mód egy int "hosszúságának" meghatározására?
Úgy értem:
1-> 1
123-> 3
12-> 2
Köszönöm! -
mobal
nagyúr
Persze működne láncolt listával is, de 1millió elemnél elég durva overhead lenne az 500 000. elemet megtalálni, a felezgetésekhez. Másrészt a tömb elemei sorfolytonosan vannak a memóriában, ezekből egyszerre több is bekerül a proci cache-jébe, míg a lista elemei össze-vissza lehetnek a memóriában, sokkal többször kellhet a procinak a ramhoz fordulnia. Ekkora elemszámnál meg már elég rendesen érvényesül a sok kicsi sokra megy mondás...
Akkor marad a tömb!

-
kingabo
őstag
Persze működne láncolt listával is, de 1millió elemnél elég durva overhead lenne az 500 000. elemet megtalálni, a felezgetésekhez. Másrészt a tömb elemei sorfolytonosan vannak a memóriában, ezekből egyszerre több is bekerül a proci cache-jébe, míg a lista elemei össze-vissza lehetnek a memóriában, sokkal többször kellhet a procinak a ramhoz fordulnia. Ekkora elemszámnál meg már elég rendesen érvényesül a sok kicsi sokra megy mondás...
-
mobal
nagyúr
tomb akarhogy is gyorsabb lesz, mar ha a beolvasasrol van szo. itt egy az egyben masolasrol beszelunk, ennel hogyan akarsz gyorsabban a memoriaba juttatni valamit? lancolt listanal sokszor kell memoriat foglalnod es erteket masolnod.
raadasul ha mar megvan a listad mit kezdesz vele? csak sorjaban tudod olvasni ami nagyon redukalja mit tudsz vele csinalni. a masik topicban irtam egy divide and conquer algoritmust, ilyesmit a listan nem tudsz megcsinalni.
ha annyira zavar, hogy kicsit tobb helyet foglaltal (ha mondjuk nem tudod elore mennyi adat lesz) azt utolag fel lehet szabaditani. ha ugyesen csinalod meg mindig kevesebb memoriad van feleslegesen mint lancolt listaval.
viszont tovabbra is nem ez a lenyegi kerdes, hanem, hogy mit akarsz kezdeni az adatokkal, hogyan szamolod at?
Most már értelek. Elsőre nekem ez jutott az eszembe. Máshogy hogyan tárolsz egy millió hosszú számot ugye. Arra gondoltam a láncolt listát. Lényegében szerintem láncolt lista, tömb ugyanúgy működne az algoritmus. Ha nem akkor megint nem értem!

-
Gyuri16
senior tag
tomb akarhogy is gyorsabb lesz, mar ha a beolvasasrol van szo. itt egy az egyben masolasrol beszelunk, ennel hogyan akarsz gyorsabban a memoriaba juttatni valamit? lancolt listanal sokszor kell memoriat foglalnod es erteket masolnod.
raadasul ha mar megvan a listad mit kezdesz vele? csak sorjaban tudod olvasni ami nagyon redukalja mit tudsz vele csinalni. a masik topicban irtam egy divide and conquer algoritmust, ilyesmit a listan nem tudsz megcsinalni.
ha annyira zavar, hogy kicsit tobb helyet foglaltal (ha mondjuk nem tudod elore mennyi adat lesz) azt utolag fel lehet szabaditani. ha ugyesen csinalod meg mindig kevesebb memoriad van feleslegesen mint lancolt listaval.
viszont tovabbra is nem ez a lenyegi kerdes, hanem, hogy mit akarsz kezdeni az adatokkal, hogyan szamolod at?
-
mobal
nagyúr
Pont hogy gyorsabb. A legegyszerűbb dinamikus struktúra ugye, nem kell fix méretű sok esetben felesleges üres hellyel rendelkező tömb.
Szóval amit írtál nem biztos, hogy igaz.
-
Gyuri16
senior tag
-
mobal
nagyúr
-
weiss
addikt
-
mobal
nagyúr
Ígérem, több topikba nem szúrom be ezt a kérdést
Szóval, olyan algoritmusra, vagy esetleg C implementációra volna szükségem, amely naaaaagyon hosszú /millió számjegy nagyságrendű/ pozitív egész számokat konvertál 2,3..-36 számrendszerek között. Találtam egy ilyet, de ez nagyon lassú. A Modern Computer Arithmetic-ban volt egy pársoros algoritmus, de az meg valahogy nem a várt eredményt adja.Láncolt lista?
-
weiss
addikt
Ígérem, több topikba nem szúrom be ezt a kérdést
Szóval, olyan algoritmusra, vagy esetleg C implementációra volna szükségem, amely naaaaagyon hosszú /millió számjegy nagyságrendű/ pozitív egész számokat konvertál 2,3..-36 számrendszerek között. Találtam egy ilyet, de ez nagyon lassú. A Modern Computer Arithmetic-ban volt egy pársoros algoritmus, de az meg valahogy nem a várt eredményt adja. -
WonderCSabo
félisten
Igaz, vmiért úgy értelmeztem, hogy soronként egy szava van, lehet, hogy még az első feladatával kevertem össze.
ráadásul mérethatár nélkül tilos használni (túlcsordulás veszély).
Ezt hogy érted?
Szerk.: Jaaa, úgy, hogy egy nagyobb stringet olvas be, mint a tároló, és a tároló tömbbe akarja beírni? Hogy lehet neki megadni limitet, hogyan paraméterezve?
(#3288) ArchElf: Köszi, közben én is rájöttem.
Ja megvan, a format stringben lehet megadni, pl.:
fscanf(file, "%10s", str)
-
ArchElf
addikt
Igaz, vmiért úgy értelmeztem, hogy soronként egy szava van, lehet, hogy még az első feladatával kevertem össze.
ráadásul mérethatár nélkül tilos használni (túlcsordulás veszély).
Ezt hogy érted?
Szerk.: Jaaa, úgy, hogy egy nagyobb stringet olvas be, mint a tároló, és a tároló tömbbe akarja beírni? Hogy lehet neki megadni limitet, hogyan paraméterezve?
(#3288) ArchElf: Köszi, közben én is rájöttem.
Úgy érti, hogy az előre definiált string hossznál is nagyobbat beolvas, ha akkora van a bemeneten (így túlcsordulhat a változó).
AE
-
WonderCSabo
félisten
Igaz, vmiért úgy értelmeztem, hogy soronként egy szava van, lehet, hogy még az első feladatával kevertem össze.
ráadásul mérethatár nélkül tilos használni (túlcsordulás veszély).
Ezt hogy érted?
Szerk.: Jaaa, úgy, hogy egy nagyobb stringet olvas be, mint a tároló, és a tároló tömbbe akarja beírni? Hogy lehet neki megadni limitet, hogyan paraméterezve?
(#3288) ArchElf: Köszi, közben én is rájöttem.
-
Jester01
veterán
Jelzem, az fscanf(file, "%s", str) nem sorokat olvas hanem szavakat, ráadásul mérethatár nélkül tilos használni (túlcsordulás veszély). Sorok olvasására egyébiránt az fgets való.
-
WonderCSabo
félisten
köszi, amúgy úgy is működik ahogy először írtad, csak 2 if kell bele.
Hogy először?
-
it_service
csendes tag
köszi, amúgy úgy is működik ahogy először írtad, csak 2 if kell bele.
-
WonderCSabo
félisten
Félreérted a C string kezelését. Stringeket akarsz beolvasni, nem?
C-ben a stringek karakter tömbbökként vannak reprezentálva. Minden string végén kell lennie egy lezáró 0 -nak a tömbben. Ez nem a tömb végét, hanem a string végét jelzi, ergó a tömbben bárhol, lehet. A stringnek bele kell férnie a lezáró nullával együtt a tömbbe, különben gáz lesz (ergó a tömb mérete > string hossza - 1).
Tehát, amikor Te beolvastad a tömbbe a stringet, akkor nem az n-dik string sort írtad bele, és tároltad az összeset, hanem csak mindig felülírtad az előzőt, mivel egy karaktertömb egy stringet tárol (persze még ez se ment, mivel rossz volt a szintaktika).
Átírtam, így mindig beolvassa a stringet, és ha a 100-at olvasta be, akkor kiírja.
Ha stringek tömbjét akarsz, akkor karakterek mátrixában kell tárolnod őket.
A számlálóra pedig 100-at kell vizsgálnod, nem 99-et, mivel a vizsgálat előtt növeled meg azt, nem utána, és 0-ról indul.
system hívásokat meg ne használj ilyenre. Ha meg akarod akadályozni az ablak bezáródásást, hívj egy getchar() -t a return előtt. Return pedig mindig kell a main fv.-ben ... (meg persze minden nem void fv.-ben)
#include <stdio.h>
int main()
{
FILE* file = fopen("beolvas.txt", "r");
char str[200];
int szamlalo = 0;
while(fscanf(file, "%s", str) != EOF)
{
szamlalo++;
if(szamlalo == 100)
printf("%s", str);
}
fclose(file);
getchar();
return 0;
}Áh, most vettem észre, hogy véletlenül elcsesztem az egyenlőtlenséget:...
tömb mérete > string hossza
-
WonderCSabo
félisten
#include <stdlib.h>
#include <string.h>
#include <stdio.h>int main()
{FILE* file = fopen("beolvas.txt", "r");
char num[200];
int szamlalo = 0;while(fscanf(file, "%s", &num) != EOF)
{
szamlalo ++;
if (szamlalo == 99)
printf("%s" num[szamlalo]);
}
fclose(file);system("PAUSE");
}ennyit sikerült ki logikáznom belőle, szerintem így ésszerű hiszen belerakja a 200 sort a tömbbe és ha az indexére hivatkozok ki kellene írnia mi van az adott indexen.
Félreérted a C string kezelését. Stringeket akarsz beolvasni, nem?
C-ben a stringek karakter tömbbökként vannak reprezentálva. Minden string végén kell lennie egy lezáró 0 -nak a tömbben. Ez nem a tömb végét, hanem a string végét jelzi, ergó a tömbben bárhol, lehet. A stringnek bele kell férnie a lezáró nullával együtt a tömbbe, különben gáz lesz (ergó a tömb mérete > string hossza - 1).
Tehát, amikor Te beolvastad a tömbbe a stringet, akkor nem az n-dik string sort írtad bele, és tároltad az összeset, hanem csak mindig felülírtad az előzőt, mivel egy karaktertömb egy stringet tárol (persze még ez se ment, mivel rossz volt a szintaktika).
Átírtam, így mindig beolvassa a stringet, és ha a 100-at olvasta be, akkor kiírja.
Ha stringek tömbjét akarsz, akkor karakterek mátrixában kell tárolnod őket.
A számlálóra pedig 100-at kell vizsgálnod, nem 99-et, mivel a vizsgálat előtt növeled meg azt, nem utána, és 0-ról indul.
system hívásokat meg ne használj ilyenre. Ha meg akarod akadályozni az ablak bezáródásást, hívj egy getchar() -t a return előtt. Return pedig mindig kell a main fv.-ben ... (meg persze minden nem void fv.-ben)
#include <stdio.h>
int main()
{
FILE* file = fopen("beolvas.txt", "r");
char str[200];
int szamlalo = 0;
while(fscanf(file, "%s", str) != EOF)
{
szamlalo++;
if(szamlalo == 100)
printf("%s", str);
}
fclose(file);
getchar();
return 0;
} -
it_service
csendes tag
Hát akkor mutasd meg a kódot, és megnézzük mi a baja.
#include <stdlib.h>
#include <string.h>
#include <stdio.h>int main()
{FILE* file = fopen("beolvas.txt", "r");
char num[200];
int szamlalo = 0;while(fscanf(file, "%s", &num) != EOF)
{
szamlalo ++;
if (szamlalo == 99)
printf("%s" num[szamlalo]);
}
fclose(file);system("PAUSE");
}ennyit sikerült ki logikáznom belőle, szerintem így ésszerű hiszen belerakja a 200 sort a tömbbe és ha az indexére hivatkozok ki kellene írnia mi van az adott indexen.
-
WonderCSabo
félisten
sajna sehogy sem akar összejönni

Hát akkor mutasd meg a kódot, és megnézzük mi a baja.
-
it_service
csendes tag
sajna sehogy sem akar összejönni

-
WonderCSabo
félisten
Köszi srácok, WonderCSabo amilyen példát írtál néhány hsz-el előbb azt átalakítom úgy hogy pl: int num > char valami[];? Ebbe beolvasom majd a while ciklusban ezt írom be hogy int szamlalo = 1; szamlalo++; majd egy if(szamlalo == 100) printf("%s", valami[99]); Valahogy így gondoljátok?
Lehet így is. Igazából tömbbe csak akkor kell tárolnod, ha később is akarod még használni az értékeket, ha csak ki akarod írni, akkor elég a feltételes kiírás, nem kell a tárolás. Illetve a tömb mérete fix, ergó ha a fájl mérete ismeretlen, akkor egy jó nagy tömböt kell deklarálnod, amibe biztos belefér az adat.
-
it_service
csendes tag
Köszi srácok, WonderCSabo amilyen példát írtál néhány hsz-el előbb azt átalakítom úgy hogy pl: int num > char valami[];? Ebbe beolvasom majd a while ciklusban ezt írom be hogy int szamlalo = 1; szamlalo++; majd egy if(szamlalo == 100) printf("%s", valami[99]); Valahogy így gondoljátok?
-
bucsupeti
senior tag
Esetleg még annyit kérdezhetnék hogyha egy bizonyos sort szeretnék csak ki íratni azt hogyan tudnám? Itt olyan szerkezetről lenne szó hogy KERESZTNÉV-IPCÍM egymás mellett szóközzel elválasztva, és például ki szeretném outputba írni a képernyőre a 100-adik sort.
tömbbe (listába) olvasod be a sorokat, majd beindexelve kiíratod.
-
WonderCSabo
félisten
Esetleg még annyit kérdezhetnék hogyha egy bizonyos sort szeretnék csak ki íratni azt hogyan tudnám? Itt olyan szerkezetről lenne szó hogy KERESZTNÉV-IPCÍM egymás mellett szóközzel elválasztva, és például ki szeretném outputba írni a képernyőre a 100-adik sort.
Olvasod a sorokat, és közben növelsz egy számlálót. Ha a számláló 100-hoz ér, kiírod az aktuális sort.
-
it_service
csendes tag
Esetleg még annyit kérdezhetnék hogyha egy bizonyos sort szeretnék csak ki íratni azt hogyan tudnám? Itt olyan szerkezetről lenne szó hogy KERESZTNÉV-IPCÍM egymás mellett szóközzel elválasztva, és például ki szeretném outputba írni a képernyőre a 100-adik sort.
-
it_service
csendes tag
Igen, paritást így lehet ellenőrizni.
köszi szépen, működik a program.
-
it_service
csendes tag
Igen, paritást így lehet ellenőrizni.
ok köszi ki is próbálom az este
-
WonderCSabo
félisten
akkor valami ilyesmi legyen a while-on belül:
if(num % 2 == 0){
//páros(kiratom a fileba)
}Igen, paritást így lehet ellenőrizni.
-
it_service
csendes tag
akkor valami ilyesmi legyen a while-on belül:
if(num % 2 == 0){
//páros(kiratom a fileba)
} -
WonderCSabo
félisten
minden egyes sorban 1 darab int van, tehát soronként
Akkor baromi egyszerű az eset. Simán a ciklusmagban végzel egy számlálást a num változót vizsgálva, aztán a ciklus lefutása után kiírod a számot egy fájlba.
-
it_service
csendes tag
minden egyes sorban 1 darab int van, tehát soronként
-
WonderCSabo
félisten
így van, köszi eddig nekem is tökéletesen működik, csak azt nem tudom hogy hogyan vizsgáljam le a sorokat?
Ez a kód, amit írtam, egy olyan fájlt feltételez, amiben intek whitespacekkel van elválasztva. (én így értelmeztem az első hszedet). Szépen beolvassa az adott int-et, aztán te meg meg tudod vizsgálni a ciklusmagban, hogy az adott int páros-e vagy sem.
Vagy Neked soronként van több int, és soronként kell a párosokat megszámolni, nem az egész fájlban?
-
it_service
csendes tag
így van, köszi eddig nekem is tökéletesen működik, csak azt nem tudom hogy hogyan vizsgáljam le a sorokat?
-
WonderCSabo
félisten
Hellósztok, egy kis segítséget szeretnék kérni, egy php kód legenerál x sort, amiben intek vannak, és ezeket kilöki egy valami.txt-be írni szeretnék 1 progit ami megszámolja mennyi ebben a páros, majd kiirja egy másik .txt-be, de a file beolvasás után már elakadok, valaki tudna nekem segíteni? A file ki íratással sincs gond. C-be nem szoktam fejleszteni ezért is okoz nekem nehézséget.
Köszönöm
#include <stdio.h>
int main()
{
// megnyitjuk a filet olvasásra
FILE* file = fopen("valami.txt", "r");
int num;
// beolvasunk egy intet a fileból soronként, amíg nincs vége
while(fscanf(file, "%d", &num) != EOF)
{
// itt megnenézed páros-e, stb.
}
fclose(file);
return 0;
} -
it_service
csendes tag
Hellósztok, egy kis segítséget szeretnék kérni, egy php kód legenerál x sort, amiben intek vannak, és ezeket kilöki egy valami.txt-be írni szeretnék 1 progit ami megszámolja mennyi ebben a páros, majd kiirja egy másik .txt-be, de a file beolvasás után már elakadok, valaki tudna nekem segíteni? A file ki íratással sincs gond. C-be nem szoktam fejleszteni ezért is okoz nekem nehézséget.
Köszönöm
-
mobal
nagyúr
Nem, nem, nem.
% 100 mindig azt az intervallumot jelenti, ahonnan akarod a random számot
A % az egy teljesen szabályos aritmetikai operátor C-ben, semmi intervallum előállító, vagy ilyesmi. A % visszaadja a szám osztóval való osztásának maradékát (modulo). Pl. 12 % 5 az 2. Valóban, amikor véletlen számokat állítunk elő, a % operátort hívjuk segítségül. Ugyanis a rand() fv. egy baromi nagy számot ad vissza. Ha ezt mondjuk 100-al modulozod le, akkor a nagy szám 100-al való osztásának lehetséges maradékát kapod vissza.
Tehát 100 esetében: 0 - 100
Nem 0-100 között, hanem 0-99 között. A maradék nem lehet 100, hiszen akkor már nem maradék, hiszen még egyszer megvan a nagy számban, az igazi osztási eredmény nőne eggyel. Ha pedig 1-100 között akarod, akkor simán hozzáadsz egyet a lemodulozott értékhez.
Tehát, a moduloval az intervallum hosszát adjuk meg, a hozzáadással pedig az eltolást.
j0k3r! megelőzött a mondandóm egy részében.
Heló!
A rand() % 100 - 0 és 99 "intervallum" tényleg elírtam bocsi! A második esetében pedig csak a végtelenül leegyszerűsíteni akartam a dolgot!
Kicsit félreérthetőre sikeredett.mobal,
-
WonderCSabo
félisten
A randomizálás úgy működik C esetében, hogy meghívod a rand() függvényt így:
rand() % 100
A % 100 mindig azt az intervallumot jelenti, ahonnan akarod a random számot előállítani. Tehát 100 esetében: 0 - 100 között. Ezért kell ugye hozzáadni + 1 -et, hogy 1 - 100 közül kapjad az értéket, továbbá ezért kell + 10 -et hogy a rand() % 20 az 10 és 20 közül adjon vissza jó értéket.
Célszerű továbbá a time.h fejfájlt includeolni és a main függvény elejére egy srand(Time(NULL)) -t beilleszteni.
Nem, nem, nem.
% 100 mindig azt az intervallumot jelenti, ahonnan akarod a random számot
A % az egy teljesen szabályos aritmetikai operátor C-ben, semmi intervallum előállító, vagy ilyesmi. A % visszaadja a szám osztóval való osztásának maradékát (modulo). Pl. 12 % 5 az 2. Valóban, amikor véletlen számokat állítunk elő, a % operátort hívjuk segítségül. Ugyanis a rand() fv. egy baromi nagy számot ad vissza. Ha ezt mondjuk 100-al modulozod le, akkor a nagy szám 100-al való osztásának lehetséges maradékát kapod vissza.
Tehát 100 esetében: 0 - 100
Nem 0-100 között, hanem 0-99 között. A maradék nem lehet 100, hiszen akkor már nem maradék, hiszen még egyszer megvan a nagy számban, az igazi osztási eredmény nőne eggyel. Ha pedig 1-100 között akarod, akkor simán hozzáadsz egyet a lemodulozott értékhez.
Tehát, a moduloval az intervallum hosszát adjuk meg, a hozzáadással pedig az eltolást.
j0k3r! megelőzött a mondandóm egy részében.
-
j0k3r!
őstag
A randomizálás úgy működik C esetében, hogy meghívod a rand() függvényt így:
rand() % 100
A % 100 mindig azt az intervallumot jelenti, ahonnan akarod a random számot előállítani. Tehát 100 esetében: 0 - 100 között. Ezért kell ugye hozzáadni + 1 -et, hogy 1 - 100 közül kapjad az értéket, továbbá ezért kell + 10 -et hogy a rand() % 20 az 10 és 20 közül adjon vissza jó értéket.
Célszerű továbbá a time.h fejfájlt includeolni és a main függvény elejére egy srand(Time(NULL)) -t beilleszteni.
rand() % 100 - 0 es 99 kozott allit elo.
-
mobal
nagyúr
A randomizálás úgy működik C esetében, hogy meghívod a rand() függvényt így:
rand() % 100
A % 100 mindig azt az intervallumot jelenti, ahonnan akarod a random számot előállítani. Tehát 100 esetében: 0 - 100 között. Ezért kell ugye hozzáadni + 1 -et, hogy 1 - 100 közül kapjad az értéket, továbbá ezért kell + 10 -et hogy a rand() % 20 az 10 és 20 közül adjon vissza jó értéket.
Célszerű továbbá a time.h fejfájlt includeolni és a main függvény elejére egy srand(Time(NULL)) -t beilleszteni.
-
ArchElf
addikt
-
cooldongo
tag
-
ArchElf
addikt
-
cooldongo
tag
ha [1,60] intervalumba kell előállítanom 6 számot
for(i=0;i<6;i++)
{
a[i]=rand()%71-20;
}hogy kell megadni az intervallumot ezt láttam valahol de nem értem h miért,vki elmondaná,kösz
-
Sk8erPeter
nagyúr
Itt nem hiszem, hogy használtad.

Később fejlődtél, ez becsülendő.
Na, most már vágod a függvény működését? Azt is, hogy hogyan tudod megvizsgálni a függvény visszatérési értékét?Gondold végig, mire is vagy kíváncsi, ilyenkor használd nyugodtan a magyar nyelvet először (vagy amilyen nyelven könnyebben tudsz gondolkodni, felőlem mongol is lehet
):
HA egybeesik, akkor:
kiírom, hogy fasza, egybeesik
EGYÉBKÉNT
kiírom, hogy vazze, nem esik egybena, ezt most fordítsd le szépen C-re (ha >>> if, egyébként >>> else, és így tovább), meg a kódod nyelvére, és akkor máris meglesz a megoldás... remélem így már kapiskálod.
(#3254) kingabo:
Inkább maradjon csak a visszatérési értéknél, nehogy rászokjon ilyen hülyeségekre, hogy a függvényen belül íratja ki...
-
kingabo
őstag
int egybeesik(struct kor y, struct kor z)
{
if(y.x==z.x && y.y==z.y)
printf("egybeesik");
else
printf("nem esik\n");
}
main()
{
struct kor r;
int i=1;
for(i=0;i<=2;i++)
{
printf("kerem az %d. kor x-et:\n",i+1);
scanf("%d",&r.x);
printf("kerem az %d. y-t\n",i+1);
scanf("%d",&r.y);
}
egybeesik(x,y)
printf("%d",egybeesik(...))
}
az egybeesiket h kéne meghívniEz már sokkal jobb.
Jól hívtad meg, viszont ennek megint nem szabadna fordulnia: int a visszatérési értéke az fv-nek, de nincs return sehol sem. Amennyiben elég a kiíratás, akkor int helyett legyen void az fv, ha kell egybeesik-e vagy sem, akkor használd (#3252) Sk8erPeter által leírt megoldást. -
cooldongo
tag
Használd már azt a nyomorult Programkód gombot kérlek.
Kijelölöd a kódrészletet, majd rákattintasz erre a gombra, és máris normálisabban fog kinézni a beillesztett kód (lásd alább).
Szerk.: látom kingabo ugyanerre hívta fel a figyelmed, jogosan.int egybeesik(struct kor y, struct kor z)
{
...
int b;
...
return b;
}A b-t deklarálod, de nincs inicializálva sem, és értéket sehol nem kap. Akkor szerinted miért kéne visszaadnia a helyes eredményt?
return (y.x==z.x && y.y==z.y) ? 1 : 0;
bocs, ha lelőttem a poént...
kösz,működik,am használtam a programkód gombot nekem úgy is jelenítette(elküldtem akkor is úgy van) meg a bemásolt forráskódot
-
Sk8erPeter
nagyúr
továbbra is az ominózus két pont egybeesik-e feladattal szenvedek eddig jutottam:
#include <stdio.h>
#include <string.h>struct kor{
unsigned r;
unsigned x;
unsigned y;
};int egybeesik(struct kor y, struct kor z)
{
char egybeesik,nemesik;
int b;
if(y.x==z.x && y.y==z.y)
return b;
}
main()
{
struct kor *pont;
int i=1;
hiba-> pont=(kor)calloc(i,sizeof(kor));
for(i=0;i<=2;i++)
{
printf("kerem az %d. kor x-et:\n",i+1);
scanf("%d",&pont[0].x);
printf("kerem az %d. y-t\n",i+1);
scanf("%d",&pont.y);
}
?-> egybeesik(x,y)
?-> printf("%d",egybeesik(...))
}Használd már azt a nyomorult Programkód gombot kérlek.
Kijelölöd a kódrészletet, majd rákattintasz erre a gombra, és máris normálisabban fog kinézni a beillesztett kód (lásd alább).
Szerk.: látom kingabo ugyanerre hívta fel a figyelmed, jogosan.int egybeesik(struct kor y, struct kor z)
{
...
int b;
...
return b;
}A b-t deklarálod, de nincs inicializálva sem, és értéket sehol nem kap. Akkor szerinted miért kéne visszaadnia a helyes eredményt?
return (y.x==z.x && y.y==z.y) ? 1 : 0;
bocs, ha lelőttem a poént...
-
cooldongo
tag
int egybeesik(struct kor y, struct kor z)
{
if(y.x==z.x && y.y==z.y)
printf("egybeesik");
else
printf("nem esik\n");
}
main()
{
struct kor r;
int i=1;
for(i=0;i<=2;i++)
{
printf("kerem az %d. kor x-et:\n",i+1);
scanf("%d",&r.x);
printf("kerem az %d. y-t\n",i+1);
scanf("%d",&r.y);
}
egybeesik(x,y)
printf("%d",egybeesik(...))
}
az egybeesiket h kéne meghívni -
kingabo
őstag
struct, majd fv visszaadjna h fiatal avagy sem:
#include <stdio.h>
#include<stdlib.h>
struct szemely{
char nev[30];
int kor;
};
int fgv(struct szemely sz){
if(sz.kor>18)
{
printf("felnott\n");
}
else
printf("fiatalkoru\n");
}
main()
{
struct szemely r;
printf("kerem az eletkorat");
scanf("%s",&r.kor);
fgv(r);
printf("%d eves",r.kor);system("pause");
}
mikor én adok meg neki a mainbe értéket(r.kor=20
akkor jó, de én bekérni akarom a mainbe az életkort de akkor meg mindig fiatalt ad vissza, mi a hiba?meg van
Az a probléma, hogy stringként kérsz be adatot nem pedig számként.
(#3249) cooldongo: kérlek írd le saját szavaiddal, hogy mit csinál az egybeesik függvény. (nem azt, hogy mit kéne csinálnia) Egyből rájösz mi a gond.
Illetve, légy szíves programkódként beilleszteni a kódot, ahogy erre mindenki meg lett kérve az első hsz-ben. Ha úgy illeszted be, akkor tagold a kódot, hogy könnyebben olvasható legyen másoknak. (ha ez neked nem annyira fontos) Köszi.
-
cooldongo
tag
továbbra is az ominózus két pont egybeesik-e feladattal szenvedek eddig jutottam:
#include <stdio.h>
#include <string.h>struct kor{
unsigned r;
unsigned x;
unsigned y;
};int egybeesik(struct kor y, struct kor z)
{
char egybeesik,nemesik;
int b;
if(y.x==z.x && y.y==z.y)
return b;
}
main()
{
struct kor *pont;
int i=1;
hiba-> pont=(kor)calloc(i,sizeof(kor));
for(i=0;i<=2;i++)
{
printf("kerem az %d. kor x-et:\n",i+1);
scanf("%d",&pont[0].x);
printf("kerem az %d. y-t\n",i+1);
scanf("%d",&pont.y);
}
?-> egybeesik(x,y)
?-> printf("%d",egybeesik(...))
} -
cooldongo
tag
struct, majd fv visszaadjna h fiatal avagy sem:
#include <stdio.h>
#include<stdlib.h>
struct szemely{
char nev[30];
int kor;
};
int fgv(struct szemely sz){
if(sz.kor>18)
{
printf("felnott\n");
}
else
printf("fiatalkoru\n");
}
main()
{
struct szemely r;
printf("kerem az eletkorat");
scanf("%s",&r.kor);
fgv(r);
printf("%d eves",r.kor);system("pause");
}
mikor én adok meg neki a mainbe értéket(r.kor=20
akkor jó, de én bekérni akarom a mainbe az életkort de akkor meg mindig fiatalt ad vissza, mi a hiba?meg van
-
cooldongo
tag
Figyuszmá!
Ne "bazz"-ozz itt légyszíves, hanem inkább köszönd meg a segítséget! Az meg hogy leírod a számtechórán kapott feladatodat és oldjuk má' meg, nem éppen jó módszer a kezdésre. Ha beírtad volna a kódot ameddig eljutottál (amit később kérésre megtettél) akkor sokkal könnyebben tudunk segíteni, javasolni.És hogy tanulj is. Kérdezed, hogy if-el nem lenne-e egyszerűbb az egybeesés vizsgálata.
Az itt leírt módszer egy tipikusan C programozók által használt eszköz. Én magam is inkább az if szerkezetet használnám, nem pedig ezt a kiértékelő kifejezést. Egyébként mindegyik jó megoldás. Az if talán olvashatóbb.Jó programozás!
bocs
-
Rankerz
senior tag
Pointerek ,címaritmetika,referencia témakörben van valakinek jóféle anyaga? Úgy értem amiben nem csak az alapok vannak megemlítve esetleg.
-
Sk8erPeter
nagyúr
Ne oltogassátok má' szegény csávót, elveszitek a maradék kedvét is.

Szerintem egyébként ebben az esetben ez az általad alkalmazott conditional operator talán logikusabb is, mint egy szétbontott if-else. Persze tényleg ekvivalens mindkettő, csak ilyen esetekre szerintem tipikusan jól alkalmazható, amit mutattál.
-
Korcsii
őstag
Figyuszmá!
Ne "bazz"-ozz itt légyszíves, hanem inkább köszönd meg a segítséget! Az meg hogy leírod a számtechórán kapott feladatodat és oldjuk má' meg, nem éppen jó módszer a kezdésre. Ha beírtad volna a kódot ameddig eljutottál (amit később kérésre megtettél) akkor sokkal könnyebben tudunk segíteni, javasolni.És hogy tanulj is. Kérdezed, hogy if-el nem lenne-e egyszerűbb az egybeesés vizsgálata.
Az itt leírt módszer egy tipikusan C programozók által használt eszköz. Én magam is inkább az if szerkezetet használnám, nem pedig ezt a kiértékelő kifejezést. Egyébként mindegyik jó megoldás. Az if talán olvashatóbb.Jó programozás!
Csak zárójelben: lehet én is if-fel csináltam volna, csak először a post a kérdőjelnél véget is ért.... aztán gondoltam kiegészítem C-sen, de úgy látszik nem teljesen ment át.
Mondjuk maga a függvény még ettől úgy rossz, ahogy van.
-
bucsupeti
senior tag
Figyuszmá!
Ne "bazz"-ozz itt légyszíves, hanem inkább köszönd meg a segítséget! Az meg hogy leírod a számtechórán kapott feladatodat és oldjuk má' meg, nem éppen jó módszer a kezdésre. Ha beírtad volna a kódot ameddig eljutottál (amit később kérésre megtettél) akkor sokkal könnyebben tudunk segíteni, javasolni.És hogy tanulj is. Kérdezed, hogy if-el nem lenne-e egyszerűbb az egybeesés vizsgálata.
Az itt leírt módszer egy tipikusan C programozók által használt eszköz. Én magam is inkább az if szerkezetet használnám, nem pedig ezt a kiértékelő kifejezést. Egyébként mindegyik jó megoldás. Az if talán olvashatóbb.Jó programozás!
-
WonderCSabo
félisten
Nem csak az oktatás, és nem csak a környezetek vannak "lemaradva", a legtöbb mai C-ben írt program C89-en alapul.
-
kispx
addikt
még egy valami:
"írjon fv-t amely paraméterként kap két kor típusú struktúra címet és visszaadja hogy a két kör középpontja egybeesik vagy nem"
az fv függvény ha jól látom nem a kor címét várja.
És a memórialefoglalásnál és a for cikluson belül is bajok vannak.
És a feladat szerint a b feladatban definiált függvény meg kéne hívni

-
cooldongo
tag
Ha paraméterként kapja meg annak azt a két kör aminek a középpontját összeakarod hasonlítani, akkor miért definiálsz két másik kört?
A paraméterként kapott köröknek kell a középpontját összehasonlítani.b = kor1.x==kor2.x && kor1.y==kor2.y ? egybeesik : nem;
Gondolom előtte van egybeesik, és nem nevű konstansod definiálva. És ezekkel az értékekkel mikor tér vissza? (kell egy return b utasítás). És mi a függvény visszatérési típusa?kösz!, ennyi kellett volna segítségnek nem nevetni bazz, nem tom h ti h kezdtétek
-
ArchElf
addikt
typedef struct {
unsigned r;
unsigned x;
unsigned y;
}kor;kor egybeesik(kor x, kor y)
{
int kor1,kor2;
int b;
b = kor1.x==kor2.x && kor1.y==kor2.y ? egybeesik : nem;}
main()
{
kor *pont;
int i=1;
pont=(kor)calloc(i,sizeof(kor));
for(i=0;i<=2;i++)
{
printf("kerem az %d. kor x-et:\n".i+1);
scanf("%d",&pont[0].x);
printf("kerem az %d. y-t\n",i+1);
scanf("%d",&pont.y);
}egybeesikbe van a gond , if-el nem egyszerűbb?
Vazz, fejrecsapós smiley nincs...
AE
-
kispx
addikt
typedef struct {
unsigned r;
unsigned x;
unsigned y;
}kor;kor egybeesik(kor x, kor y)
{
int kor1,kor2;
int b;
b = kor1.x==kor2.x && kor1.y==kor2.y ? egybeesik : nem;}
main()
{
kor *pont;
int i=1;
pont=(kor)calloc(i,sizeof(kor));
for(i=0;i<=2;i++)
{
printf("kerem az %d. kor x-et:\n".i+1);
scanf("%d",&pont[0].x);
printf("kerem az %d. y-t\n",i+1);
scanf("%d",&pont.y);
}egybeesikbe van a gond , if-el nem egyszerűbb?
Ha paraméterként kapja meg annak azt a két kör aminek a középpontját összeakarod hasonlítani, akkor miért definiálsz két másik kört?
A paraméterként kapott köröknek kell a középpontját összehasonlítani.b = kor1.x==kor2.x && kor1.y==kor2.y ? egybeesik : nem;
Gondolom előtte van egybeesik, és nem nevű konstansod definiálva. És ezekkel az értékekkel mikor tér vissza? (kell egy return b utasítás). És mi a függvény visszatérési típusa? -
cooldongo
tag
-
Korcsii
őstag
typedef struct {
unsigned r;
unsigned x;
unsigned y;
}kor;kor egybeesik(kor x, kor y)
{
int kor1,kor2;
int b;
b = kor1.x==kor2.x && kor1.y==kor2.y ? egybeesik : nem;}
main()
{
kor *pont;
int i=1;
pont=(kor)calloc(i,sizeof(kor));
for(i=0;i<=2;i++)
{
printf("kerem az %d. kor x-et:\n".i+1);
scanf("%d",&pont[0].x);
printf("kerem az %d. y-t\n",i+1);
scanf("%d",&pont.y);
}egybeesikbe van a gond , if-el nem egyszerűbb?
Ezen most jót nevettem, kösz.

-
cooldongo
tag
A feladat nem bonyolult, aki picit (tényleg picit) foglalkozik programozással, az ezt kb 5 perc alatt megoldja.
Ha megírod hol akadtál el akkor segíteni fogok a továbblépésben.
Egy kis konkrétumot azért írok. A két kör középpontja akkor esik egybe, ha a középpont koordinátái páronként egyenlőek. Csak annyit akarok ezzel mondani hoyg nem kell sehogy "kiszámolni" a kör középpontját.typedef struct {
unsigned r;
unsigned x;
unsigned y;
}kor;kor egybeesik(kor x, kor y)
{
int kor1,kor2;
int b;
b = kor1.x==kor2.x && kor1.y==kor2.y ? egybeesik : nem;}
main()
{
kor *pont;
int i=1;
pont=(kor)calloc(i,sizeof(kor));
for(i=0;i<=2;i++)
{
printf("kerem az %d. kor x-et:\n".i+1);
scanf("%d",&pont[0].x);
printf("kerem az %d. y-t\n",i+1);
scanf("%d",&pont.y);
}egybeesikbe van a gond , if-el nem egyszerűbb?
-
Karma
félisten
A C99-ben lehet, mint ahogy pl. //-rel egysoros kommentet írni, de az oktatás (meg az alapértelmezett beállítások sok környezetben) még nem ért el erre a szintre...
Ez amúgy háziíró topik?
-
Korcsii
őstag
-
ArchElf
addikt
for (int i = 0; i < strlen(p); i++)
Arra azért figyeljetek, hogy ANSI/ISO C-ben ilyet nem lehet.
Melyik részét, a deklarálást?
Így?
int i = 0;
for (; i < strlen(p); i++)AE
-
WonderCSabo
félisten
for (int i = 0; i < strlen(p); i++)
Arra azért figyeljetek, hogy ANSI/ISO C-ben ilyet nem lehet.
-
ArchElf
addikt
A feltételt nem értem, mert "van egy fv amely paraméterként kap egy stringet és egy betűt"
gondolom akkor a függvény hívása így néz ki
fv ("ez itt a string", 'e')int fv(const char* p, char c)
{
int i = 0;
int v=-1;for (; i< strlen(p); i++)
if (p[ I ]== c)
{v = i; break;}return v;
}Szerk.: jelenleg nem tudom kipróbálni, mert nem olyan gép előtt vagyok amin van C fordító, de kb így néz ki az a, a b-t meg már innen be tudod fejezni.
Kicsit egyszerűsítve:
int fv(const char* p, char c)
{
for (int i = 0; i < strlen(p); i++)
if (p[i] == c) {
return i;
}
return -1;
}Először azt hittem nem jól működik, de aztán megláttam a for előtt levő részeket

AE
-
cooldongo
tag
-
Korcsii
őstag
kicsit pofátlan leszek:S
de ebbe is segítenél pls:
a)definiáljon struktúrát típusdefinícióval(típus neve legyen kor) amely egy kör adatait tárolja:sugár nem negatív egész, kör középpontjának két koordinátája(két nem negatív egész)
b)írjon fv-t amely paraméterként kap két kor típusú struktúra címet és visszaadja hogy a két kör középpontja egybeesik vagy nem
c)írjon main fv-t amelyben két kor típusú változóba beolvassa a két kör adatait és a b) fv segítségével megállapítja hogy a két kör középpontja egybeesik-e és kiírja h "egybeesik" vagy "nem esik"majd ha ráérsz mert ez nagyobb lélegzetvételű sztem
a)pipa b)tom h kell de h számoljam ki a kör középpontját?kor1.x == kor2.x && kor1.y == kor2.y ? egybeesik : nem
-
bucsupeti
senior tag
kicsit pofátlan leszek:S
de ebbe is segítenél pls:
a)definiáljon struktúrát típusdefinícióval(típus neve legyen kor) amely egy kör adatait tárolja:sugár nem negatív egész, kör középpontjának két koordinátája(két nem negatív egész)
b)írjon fv-t amely paraméterként kap két kor típusú struktúra címet és visszaadja hogy a két kör középpontja egybeesik vagy nem
c)írjon main fv-t amelyben két kor típusú változóba beolvassa a két kör adatait és a b) fv segítségével megállapítja hogy a két kör középpontja egybeesik-e és kiírja h "egybeesik" vagy "nem esik"majd ha ráérsz mert ez nagyobb lélegzetvételű sztem
a)pipa b)tom h kell de h számoljam ki a kör középpontját?A feladat nem bonyolult, aki picit (tényleg picit) foglalkozik programozással, az ezt kb 5 perc alatt megoldja.
Ha megírod hol akadtál el akkor segíteni fogok a továbblépésben.
Egy kis konkrétumot azért írok. A két kör középpontja akkor esik egybe, ha a középpont koordinátái páronként egyenlőek. Csak annyit akarok ezzel mondani hoyg nem kell sehogy "kiszámolni" a kör középpontját. -
cooldongo
tag
kicsit pofátlan leszek:S
de ebbe is segítenél pls:
a)definiáljon struktúrát típusdefinícióval(típus neve legyen kor) amely egy kör adatait tárolja:sugár nem negatív egész, kör középpontjának két koordinátája(két nem negatív egész)
b)írjon fv-t amely paraméterként kap két kor típusú struktúra címet és visszaadja hogy a két kör középpontja egybeesik vagy nem
c)írjon main fv-t amelyben két kor típusú változóba beolvassa a két kör adatait és a b) fv segítségével megállapítja hogy a két kör középpontja egybeesik-e és kiírja h "egybeesik" vagy "nem esik"majd ha ráérsz mert ez nagyobb lélegzetvételű sztem
a)pipa b)tom h kell de h számoljam ki a kör középpontját? -
cooldongo
tag
A feltételt nem értem, mert "van egy fv amely paraméterként kap egy stringet és egy betűt"
gondolom akkor a függvény hívása így néz ki
fv ("ez itt a string", 'e')int fv(const char* p, char c)
{
int i = 0;
int v=-1;for (; i< strlen(p); i++)
if (p[ I ]== c)
{v = i; break;}return v;
}Szerk.: jelenleg nem tudom kipróbálni, mert nem olyan gép előtt vagyok amin van C fordító, de kb így néz ki az a, a b-t meg már innen be tudod fejezni.
köszönöm!
-
kispx
addikt
A feltételt nem értem, mert "van egy fv amely paraméterként kap egy stringet és egy betűt"
gondolom akkor a függvény hívása így néz ki
fv ("ez itt a string", 'e')int fv(const char* p, char c)
{
int i = 0;
int v=-1;for (; i< strlen(p); i++)
if (p[ I ]== c)
{v = i; break;}return v;
}Szerk.: jelenleg nem tudom kipróbálni, mert nem olyan gép előtt vagyok amin van C fordító, de kb így néz ki az a, a b-t meg már innen be tudod fejezni.
-
cooldongo
tag
-
kispx
addikt
ebbe kérnék segítséget ha valaki megírná nagyon hálás lennék érte
nagyon kezdő vok még ebbea) van egy fv amely paraméterként kap egy stringet és egy betűt majd megkeresi és visszaadja az első ilyen betűjének az indexét ha nincs benne ilyen betű akkor -1-et,
b) van egy main fv amelyben beolvas egy szöveget és az a) függvény segítségével megkeresi benne az első 'e' betűt és kiírja a szöveget valamint az 'e' betű első előfordulásának indexétegyszerű de valahogy nem jó:S
Meddig jutottál el benne?
shinodas
http://stevenkobes.com/ctest.html
Ebben egy-két feladatot érdekesnek találtam (személy szerint). Viszont ez csak tesz jellegú- -
cooldongo
tag
ebbe kérnék segítséget ha valaki megírná nagyon hálás lennék érte
nagyon kezdő vok még ebbea) van egy fv amely paraméterként kap egy stringet és egy betűt majd megkeresi és visszaadja az első ilyen betűjének az indexét ha nincs benne ilyen betű akkor -1-et,
b) van egy main fv amelyben beolvas egy szöveget és az a) függvény segítségével megkeresi benne az első 'e' betűt és kiírja a szöveget valamint az 'e' betű első előfordulásának indexétegyszerű de valahogy nem jó:S
-
shinodas
tag
Srácok tudtok ajánlani érdekes oldalakat, ahol tutorialok, példák, érdekes feladatok stb van C témakörben?

-
Zefír
őstag
F×ngom sincs, hogy mennyit kell hozzá programozni, de furcsa volt, hogy robotvezérlős versenyen akartok részt venni, ahol elvileg szükség van programozásra is, de nem tudsz programozni, és mégis indulni szeretnél. Mondjuk ha elhivatott vagy, és utánanézel, az jó. De azért nem kell ám annyira felháborodni, nem sértegetés a célom.

Nem voltam felháborodva ne érts félre

Egyébként van a cspatban aki ért a programozáshoz, én inkább honlapszerkesztést vágom, de programozni is megakarok tanulni. Meg c-ben ilyen átlagoló programot meg hasonlókat már írtam. -
kingabo
őstag
Ja hogy Ti azt az idióta összekattintgatós izét használjátok? Azzal 10 percet bohóckodtam, de hogy azzal összehozni egy bt-s távirányítást elég esélytelen.
Java esetén lejos, C esetén nxc, meg van saját assembly-je is az nbc, ezekkel programozható, a "doboz pakolós", összekattintgatós csak játék 5 éveseknek. Szerintem. -
Sk8erPeter
nagyúr
F×ngom sincs, hogy mennyit kell hozzá programozni, de furcsa volt, hogy robotvezérlős versenyen akartok részt venni, ahol elvileg szükség van programozásra is, de nem tudsz programozni, és mégis indulni szeretnél. Mondjuk ha elhivatott vagy, és utánanézel, az jó. De azért nem kell ám annyira felháborodni, nem sértegetés a célom.

-
Zefír
őstag
Nem akarok nagyon beleszólni a döntésetekbe, de azt írod: "Nem vagyok nagyon jártas a programozásban" - ez esetben biztos, hogy pont egy robotvezérlős PROGRAMOZÁSI VERSENYEN szeretnétek részt venni?
NXT-hez nem nagyon kell tudni programozni
csak pont az alapokat. -
Sk8erPeter
nagyúr
Sziasztok!
Egy robot versenyre készülünk pár haverommal, de benne van a verseny kitételben, hogy csak az általunk írt programokkal irányíthatjuk a robotor, és mielőtt elkezdődik a verseny, átnézik a sw-t, és belekérdeznek, hogy mit miért írtunk bele, tehát nem másolgathat az ember eszeveszettül kódokat.Na most az lenne a feladatom, hogy írjak egy alkalmazást, amivel lehet előre, hátra, jobbra és balra irányítani a robotot. Én úgy gondoltam ki a feladatot, hogy laptopról vagy az még jobb lenne, ha telefonról , bluetoothon komunikálna a gép( telefon) és a robot, hiszen ilyen NXT robotot építünk, nem tudom kinek mit mond, és ezekben van bluetooth.
Na most az lenne a kérdésem, hogy a bluetooth mennyire nehezíti meg a feladatot? Nem vagyok nagyon jártas a programozásban, de ennek a versenynek ez a lényege, hogy rákényszerítsen arra, hogy utána járjak, kérdezzek.Nem akarok nagyon beleszólni a döntésetekbe, de azt írod: "Nem vagyok nagyon jártas a programozásban" - ez esetben biztos, hogy pont egy robotvezérlős PROGRAMOZÁSI VERSENYEN szeretnétek részt venni?
-
Zefír
őstag
-
kingabo
őstag
Sziasztok!
Egy robot versenyre készülünk pár haverommal, de benne van a verseny kitételben, hogy csak az általunk írt programokkal irányíthatjuk a robotor, és mielőtt elkezdődik a verseny, átnézik a sw-t, és belekérdeznek, hogy mit miért írtunk bele, tehát nem másolgathat az ember eszeveszettül kódokat.Na most az lenne a feladatom, hogy írjak egy alkalmazást, amivel lehet előre, hátra, jobbra és balra irányítani a robotot. Én úgy gondoltam ki a feladatot, hogy laptopról vagy az még jobb lenne, ha telefonról , bluetoothon komunikálna a gép( telefon) és a robot, hiszen ilyen NXT robotot építünk, nem tudom kinek mit mond, és ezekben van bluetooth.
Na most az lenne a kérdésem, hogy a bluetooth mennyire nehezíti meg a feladatot? Nem vagyok nagyon jártas a programozásban, de ennek a versenynek ez a lényege, hogy rákényszerítsen arra, hogy utána járjak, kérdezzek.Szia!
Ha lego nxt és tudtok java-ul akkor lejos. Ahhoz van pl a bt kommunikációra, ahhoz meg 2 pillanat hozzáírni az irányítást.

-
Zefír
őstag
Sziasztok!
Egy robot versenyre készülünk pár haverommal, de benne van a verseny kitételben, hogy csak az általunk írt programokkal irányíthatjuk a robotor, és mielőtt elkezdődik a verseny, átnézik a sw-t, és belekérdeznek, hogy mit miért írtunk bele, tehát nem másolgathat az ember eszeveszettül kódokat.Na most az lenne a feladatom, hogy írjak egy alkalmazást, amivel lehet előre, hátra, jobbra és balra irányítani a robotot. Én úgy gondoltam ki a feladatot, hogy laptopról vagy az még jobb lenne, ha telefonról , bluetoothon komunikálna a gép( telefon) és a robot, hiszen ilyen NXT robotot építünk, nem tudom kinek mit mond, és ezekben van bluetooth.
Na most az lenne a kérdésem, hogy a bluetooth mennyire nehezíti meg a feladatot? Nem vagyok nagyon jártas a programozásban, de ennek a versenynek ez a lényege, hogy rákényszerítsen arra, hogy utána járjak, kérdezzek. -
ArchElf
addikt
Még annyi hozzá, hogy ez így teljesen determinisztikus - mert ha a ki lehet következtetni a véletlenszám legenerálásának idejét, akkor ez minden lesz, csak nem random (sőt, ha ezt az eljárást egy mp-en belül többször meghívod, akkor mindig ugyanazt a "véletlenszámot" adja majd vissza - ha mindig inicializálsz a véletlenszám generálás előtt).
AE
-
shinodas
tag
Köszönöm szépen, nagyon korrekt válaszok!

-
Chipi333
csendes tag
Az srand( time(NULL) ) beállítja a random fv kezdeti értékét az aktuális időre. A rand() pedig generál egy véletlenszámot (ami nem annyira véletlen). A %9 azért kell hogy 0-8 intervallumra és ne az int telje értékkészletére generáljon.
Az srand( time(NULL) ) azért kell mert a rand fv egyébként teljesen determinisztikus, szóval azonos kezdeti értékről indítva mindig ugyanazt a sorozatot generálná. Ezért általában az idő alapján szokás indítani, mert az jó eséllyel minden futtatáskor más lesz.Szerk.: De sokakat megmozgatott ez a téma

-
Karma
félisten
Az egész mögött egy pszeudo-véletlenszám generátor van, ami egy kezdőérték (seed) alapján generál számokat. (Nem valódi véletlenszámok, de ez most mindegy.)
A srand függvény szolgál ennek a seed értéknek a beállítására. A time(NULL) függvény az aktuális rendszeridőt adja vissza egy egész szám formájában (1970. január 1. óta eltelt másodpercek száma); ha ezt adod meg seednek, gyakorlatilag minden másodpercben más véletlenszámokat kapsz.
Azonos seed mellett meg ugyanazok a számsorozat jönne ki a rand() hívogatása során.
A rand() egyébként ez a seed meg a belső algoritmusa alapján egy 0 és RAND_MAX (legalább 32767, maximum MAX_INT, környezetfüggő) közötti egész számot ad vissza. Ha ennek veszed a kilences maradékát, 0 és 8 közötti számokat kapsz.
Szerk.: Eh, lassú voltam.
-
Jester01
veterán
A srand inicializálja a véletlenszám generátort valami kiinduló érték alapján. Azonos kiindulási értékből mindig azonos sorozat lesz (debuggoláshoz jó például). Hogy mindig más legyen, az aktuális idő van megadva.
A rand() az visszaad egy egész számot a [0, RAND_MAX] intervallumból. A % az nyilván a maradékképzés, tehát végül is a [0, 8] intervallumban fogsz számokat kapni.
-
shinodas
tag
srand(time(NULL));
x=rand()%9;Egy programban használok egy ilyen random szám generálást, de ezt csak úgy neten találtam. Elmondanátok, hogyan működik ez pontosan?

-
Jester01
veterán
-
hamham
tag
Hello
Hogy tudom átadni a fgv-nek paraméterként a struktúra címét?
ez a struktúrám, 2 kör struktúra címét kéne átadni
typedef struct kor{
int r,x,y;}kor; -
kingabo
őstag
-
shinodas
tag
Köszönöm! Kipróbálom!
Egyébként használ itt valaki codeblocksot? A watches ablakot akarnám működésre bírni, de nekem nem akar semmit jelezni ott. Full üres az ablaka.szerk.: 64bites win7 alatt
-
Korcsii
őstag
#include <stdio.h>
#include <stdlib.h>
int main()
{
char cel[10];
char S1[6]="iskola";
int i=0;
while(S1[i]!='\0');
{
cel[i]=S1[i];
i++;
}
cel[i++]='\0';
printf("%s\n", cel);
return 0;
}Ezt hol szúrom el srácok? Azt próbálgatom, hogy van egy üres, és egy másik stringem, amiben van valami. Amiben van a tartalom, azt akarom belemásolni a másik stringbe.

S1 6 hosszú, és mivel az "iskola" is 6 betű, így a lezáró nullnak már nem marad hely => soha nem is fogja megtalálni a while...
cel[i++]='\0'; meg ugyan az, mint cel[i]='\0'; feltéve, hogy i-t nem használod később...
Új hozzászólás Aktív témák
-
3300 - 3201
6397 - 6001 6000 - 5901 5900 - 5801 5800 - 5701 5700 - 5601 5600 - 5501 5500 - 5401 5400 - 5301 5300 - 5201 5200 - 5101 5100 - 5001 5000 - 4901 4900 - 4801 4800 - 4701 4700 - 4601 4600 - 4501 4500 - 4401 4400 - 4301 4300 - 4201 4200 - 4101 4100 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen okostelefont vegyek?
- Befellegzett a Destiny 2-nek, júniusban jön az utolsó frissítés
- Meglepően árazta az AMD a Ryzen AI Halo minigépet
- Milyen billentyűzetet vegyek?
- Xbox tulajok OFF topicja
- sziku69: Szólánc.
- Új padokkal vezeti el a hőt az Arctic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Vicces képek
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- Garanciális samsung galaxy watch 8 classic
- Samsung QVO 870 SSD (1 TB) 100/100%
- Új, bontatlan - Apple MacBook Air 13 M4 16/256GB - Sky Blue
- Új Dobozos ASUS VivoBook Go 15 Laptop 15,6" -20% Ryzen 5 7520U 16/512 Radeon Graphics FHD OLED
- Új HP ZBook Firefly 16 G10 Profi Tervező Vágó Laptop -50% i7-1355U 16/1TB FHD+ RTX A500 4GB
- Wacom Bamboo One CTF-430 rajztábla
- HIBÁTLAN iPhone SE 2022 64GB White-2 ÉV GARANCIA - Kártyafüggetlen, MS5460
- Xbox Series S 1 TB + kontroller 6 hó garancia, számlával!
- Samsung Galaxy A26 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
Állásajánlatok
Cég: aiMotive Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest




Szóval, olyan algoritmusra, vagy esetleg C implementációra volna szükségem, amely naaaaagyon hosszú /millió számjegy nagyságrendű/ pozitív egész számokat konvertál 2,3..-36 számrendszerek között. Találtam egy



akkor jó, de én bekérni akarom a mainbe az életkort de akkor meg mindig fiatalt ad vissza, mi a hiba?







