-
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
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - 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ésFÁ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
-
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
-
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
-
Gyuri16
senior tag
-
mobal
nagyúr
-
weiss
addikt
-
mobal
nagyúr
-
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
Ja megvan, a format stringben lehet megadni, pl.:
fscanf(file, "%10s", str)
-
ArchElf
addikt
Ú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
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
Áh, most vettem észre, hogy véletlenül elcsesztem az egyenlőtlenséget:...
tömb mérete > string hossza
-
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;
} -
it_service
csendes tag
#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
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
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
tömbbe (listába) olvasod be a sorokat, majd beindexelve kiíratod.
-
WonderCSabo
félisten
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
köszi szépen, működik a program.
-
it_service
csendes tag
ok köszi ki is próbálom az este
-
WonderCSabo
félisten
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
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
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
#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
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
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
-
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
Ez 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
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
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
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
-
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
-
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
-
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
-
ArchElf
addikt
-
kispx
addikt
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
-
cooldongo
tag
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
-
Korcsii
őstag
-
ArchElf
addikt
Melyik részét, a deklarálást?
Így?
int i = 0;
for (; i < strlen(p); i++)AE
-
WonderCSabo
félisten
-
ArchElf
addikt
-
cooldongo
tag
-
Korcsii
őstag
-
bucsupeti
senior 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. -
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
-
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
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
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
NXT-hez nem nagyon kell tudni programozni
csak pont az alapokat. -
Sk8erPeter
nagyúr
-
Zefír
őstag
-
kingabo
őstag
-
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
-
Korcsii
őstag
Ú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
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - 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ésFÁ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!
- Kerékpárosok, bringások ide!
- Megújult mobilos felület, fórumos ráncfelvarrás a PROHARDVER! lapcsaládon
- Brogyi: CTEK akkumulátor töltő és másolatai
- Autós topik
- Milyen egeret válasszak?
- E-roller topik
- Bestbuy játékok
- Teljes verziós játékok letöltése ingyen
- Xiaomi 17 Ultra - jó az optikája
- A jövőben nem csak a gazdagok kiváltsága lehet az Intel CPU-k tuningja
- További aktív témák...
- Erős, !GARANCIÁLIS! Acer Nitro 16 AI gamer laptop! -Ryzen AI 9 365, RTX 5070 8gb, 32gb DDR5, 1tb SSD
- Xreal Beam
- Gigabyte Z170X-Gaming 7 Rev 1.1 / Beszámítás OK!
- Apple MacBook "BlackBook" (2007) - 2,16GHz Core2Duo, 4GB RAM, gyári töltővel (Retro / Projekt gép)
- Realme Realfit F3 ANC aktív zajszűrésű Bluetooth fülhallgató
- iPad Pro 13" M4 256GB Wifi + Magic Keyboard
- Bomba ár! Getac RX10 - Intel Core m5 I 8GB I 256SSD I 10,1" WUXGA Touch I Cam I W10 I Garancia!
- Bomba ár! HP Pavilion 15 - i5-4GEN I 8GB I 750GB I 15,6" HD Touch I Cam I W10 I Garancia!
- Ventilátor bazár /NZXT/CORSAIR/LIAN LI/DEEPCOOL/ZALMAN/120MM/140MM/VEZÉRLŐK/LED KIT-ek/
- Apple iPhone 13 /128GB /Kártyafüggetlen / 12 Hó Garancia / akku: 85%
Állásajánlatok
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?



