Új hozzászólás Aktív témák
-
Bobrooney
senior tag
válasz PumpkinSeed #3700 üzenetére
Hát gets() vagy getline, a getline(...) fv-t nagyon sok könyvben megtalálhatod, vagy google.
scanf("%c", &ch); így 1 db karaktert kér be. (többet is beírhatsz de csak az elsővel foglalkozik. -
PumpkinSeed
addikt
-
Jester01
veterán
válasz PumpkinSeed #3702 üzenetére
Beolvasod az egész sort fgets-el majd strtol vagy sscanf segítségével felbontod. Ha nem tetszett amit kaptál akkor újra olvasol egy sort. Bónusz pontért lekezeled azt is, ha túl hosszú sort ír be az ember.
Jester
-
lacex
tag
C ben szeretnék egy mondatból bizonyos betűket megszámolni és kiíratni.
Hogy tudom a legegyszerűbben megvalósítani?Nem vártam semmit, mégis csalódtam.
-
kingabo
őstag
-
PumpkinSeed
addikt
Próbáld ki a buborék rendezéssel, és ha azzal kész vagy csinálj egy programot ami ha megadják neki a kör területét kiszámolja belőle a a sugarat. Legyen benne olyan, hogy választhat, hogy területet vagy kerületet szeretne megadni.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
Bobrooney
senior tag
válasz PumpkinSeed #3706 üzenetére
????????????????
-
PumpkinSeed
addikt
-
aAron_
őstag
egy gyors kérdésem lenne, egy struct X. elemére lehet hivatkozni számmal vagy csak a nevével && ha lehet hogyan?
[ Szerkesztve ]
What is your ikigai?
-
Karma
félisten
Olyat, hogy n-edik mező, nem tudsz írni. Igazából nem teljesen világos, mi értelme lenne ennek amúgy is (hozhatnál példát).
Arra van lehetőség viszont, hogy egy adott mező offsetjét megtudd a structon belül (offsetof), de a gyakorlati hasznát ennek se nagyon tudom elképzelni így vasárnap este.
“All nothings are not equal.”
-
aAron_
őstag
van egy több soros stringem, minden sorában van 10 mondat egymástól tabulátorral elválasztva
ezt egy struct tömbe szeretném minél egyszerűbben beírni, ami valahogy így néz ki:
struct sor
{
char elso_mondat[100],
masodik_mondat[100],
.
.
.
tizedik_mondat[100];
} sorok[1000];a valóságban nem teljesen ezt kell megoldanom, de így lebutítva egyszerűbb most
azért lett volna egyszerűbb ha tudok minden elemére hivatkozni számmal mert akkor meg tudtam volna oldani copyzás nélkül egyből, így viszont nem tudom, hogy lehetne szépen megcsinálni
[ Szerkesztve ]
What is your ikigai?
-
aAron_
őstag
az a baj, hogy ebben az esetben rengeteg függvényt át kéne írnom teljesen amit már korábban elkészítettem, ill van pár "mondat" ami csak egy karakteres (mindig ugyan azok), így eléggé memória pazarló lenne
így utólag lehet én is több dimenziós tömbbel oldottam volna meg, de most már egyszerűbb megoldás ha marad a struct, max sormintázok...
What is your ikigai?
-
Bobrooney
senior tag
De így is memória pazarló, mivel masodik_mondat[100], is 100 elemű meg az első is meg a harmadik is stb....
Meg ha tudod fixen hogy melyik 1 karakteres akkor, miért nem csak sima változónak kezeled pl a harmadik?
Struktúra elemet meg úgy érsz el hogy (kérdés hogy hogy hoztad létre a struktúrát).
pl.:
struct{
int jegy
char nev[128];
}tanulo[5];
tanulo[0].jegy // ezzel ered el az elso tanulo jegyetet[ Szerkesztve ]
-
bandi0000
nagyúr
hali
Olyan problémám lenne hogy az a feladat hogy van egy random számokkal teli tömb és egyesével meg kell vizsgálni hogy a tömb-ben lévő szám melyik négyzetszámhoz van legközelebb nah én eljutottam ideáig de az a baj hogy mindig ugyanazokat írja ki a szám mellé
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
int main()
{
FILE *f;
f=fopen("D:\\2000.txt","r");
int i,tmb[2000],a=1,b=2,c;
for(i=0;i<2000;i++)
{
fscanf(f,"%d",&tmb[i]);
}
while(!(a<tmb[i] && b<tmb[i]));
{
a=a*2;
b=b*2;
}
// c=(tmb[i]-a)<(tmb[i]-a);
for(i=0;i<2000;i++)
printf("\n%d %d %d",tmb[i],a,b);
system("pause");
}[ Szerkesztve ]
Xbox One: bandymnc
-
kingabo
őstag
válasz bandi0000 #3720 üzenetére
Pár dolog:
- a while ciklusban az i változód a tomb utolsó utáni elemére fug mutatni.
- négyzetszámot nem úgy állítasz elő, hogy 1-et vagy 2-t megszorzol 2-vel.
- miért várod, hogy a kiíratásnál más legyen az a és a b értéke, ha az utolsó for ciklusban meg se változtatod őket? -
PumpkinSeed
addikt
Ha készítek egy N elemű tömböt. Azt minden esetben fel kell dolgozni a for ciklussal?
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
bpx
őstag
válasz PumpkinSeed #3722 üzenetére
miért kellene?
hozzá se kell nyúlnod, nincs ez előírvaez is egy program (bár sok haszna nincs), sehol nincs for ciklus
{
char arr[] = {'c','o','d','e','\0'};
}[ Szerkesztve ]
-
PumpkinSeed
addikt
Olyat szerettem volna, hogy adott egy tömb, amibe bekérek adatokat. És a do while aszerint hajtódik végre, amit a bekért tömbben lesz. Ha mégjobban ki akarom fejteni akkor inkább egy stringet kérnék be mint pl az a program, hogy:
printf("Tovább szeretne lépni?\n");
gets(string);
} while (string == 'Yes');Vagy valami hasonló.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
kispx
addikt
válasz PumpkinSeed #3724 üzenetére
Stringeket az strcmp függvénnyel hasonlítunk össze. (És nem az == operátorral)
-
kispx
addikt
válasz PumpkinSeed #3726 üzenetére
Az strcmp-nek van visszatérési értéke. Típusa int.
A következő visszatérési értéke lehet:
- egy negatív szám => az első paraméter kissebb mint a második (ABC sorrendben előrébb van)
- nulla => a két sztring megegyezik
- egy pozitív szám => az első paraméter nagyobb mint a második[ Szerkesztve ]
-
e=mc²
őstag
Sziasztok!
Kis segitseget kernek! Miert szall el az alabbi program? [link]
Illetve a debug soran segmentation fault-ot kapok...
Koszi!
Ambulimax Provider
-
-
Karma
félisten
-
e=mc²
őstag
Levettem minden define-t 10-re, igy mukodik (nemi finomitas utan).
Jelen esetben Eclipse-t, CodeBlocks-ot es Quincy-t hasznalok MinGW-vel. Mindegyikben megneztem, mindegyikben ugyanaz a hiba. Ha tul nagy a #define-olt szam (esetemben 1000), akkor elszall, a main fuggvenyben eloszor meghivott fuggvenyben. (ahol is van a kerdeses replace).
MinGW-bol is ket fele install van, a CB feltett egyet kulon maganak.
A progi kesz, ugyhogy koszi mindenkinek, aki akart segiteni.
udv,
Ambulimax Provider
-
Karma
félisten
Mivel a fordító számít, így legrosszabb esetben is csak kétféle viselkedést tapasztaltál volna (a CB-féle sajáttal meg a többi fordítóval). Elég egyértelmű így a stack overflow, amit a hatalmas struktúrával idézel elő.
Azért ha meg is kell védened ezt a házit, jobb lenne ha átállnál mallocolt struktúrákra...
“All nothings are not equal.”
-
Peter789
senior tag
sziasztok!
a következő problémámban kérném a segítségeteket: vadászom hogy hogyan tudnék lekezelni egy speciális soros protokolt, ahol van egy 9dik adatbit is, ami azt mondja meg hogy új csomag kezdődik. PIC-el nem nagy mutatvány, ott az újabb típusokon erre van egy plussz regiszter amit lehet paritásként vagy 9dik adatbitként szoftverből írni/olvasni. viszont ahogy látom, ez nem igazán megoldott PC-s környezetben, de ezt találtam rá, mint szoftveres hack: [link] - néztem az alul linkelt libmip oldalt és az onnan letölthető csomagot is. a küldés részt azthiszem sikerült megértenem - megtaláltam a mip/MipBus.cpp-ben a 160-dik sortól. nekem viszont az írás nem kell, az olvasása viszont annál inkább. ezt eddig nem sikerült felfognom, átlátnom... valaki aki kicsit jártasabb a témában tudna segíteni kitúrni? erősen kezdő vagyok még C-ben ( eddig leginkább pascal / delphi / php -vel foglalkoztam ), de ezt szeretném összehozni. ami még tovább árnyalja majd a történetet az az, hogy végül egy OpenWrt-s MR3220-as routerre szeretném ráfordítani, de első körben PC-n szeretném látni hogy működik...
előre is köszönöm a segítséget!
----------------------------------------------------------------------------------------------------------------- AquAgorA ...Pál apostol nyomában: http://fleettracker.eu/index.php/component/aquagora
-
Peter789
senior tag
igen, 8+1 adatbit: erről van szó - PIC-el simán megy a feldolgozása, de szívesen kihagynám...
----------------------------------------------------------------------------------------------------------------- AquAgorA ...Pál apostol nyomában: http://fleettracker.eu/index.php/component/aquagora
-
Karma
félisten
válasz Jester01 #3743 üzenetére
Szerintem inkább SPACE paritás kéne, akkor kevesebb hiba generálódik (a datagram kezdőbyte-oknál). A linkelt oldalon van is erre egy Visual Basic kód (a DOS-os közvetlen UART programozáson túl, amire manapság AFAIK már nem nagyon van lehetőség), tegnap este jól belealudtam az olvasásába.
“All nothings are not equal.”
-
Karma
félisten
Najó, ez csak pedantéria, és ahogy nézem Linuxon nincs is rá szükség - az IGNPAR flaggel az egész hibakezelést ki lehet hagyni a képletből.
(Tök izgalmas ez a feladat Kár hogy nem tudok kísérletezni ilyennel élesben. Bár lehetne íeni egy szimulátort FPGA-ra, ami ezeket a jeleket tolja ki.)
“All nothings are not equal.”
-
robotjatek
tag
Sziasztok!
Egy libet/algoritmust keresek, ami user inputról kapott, többedrendű, egyváltozós függvények helyettesítési értékét adja meg adott helyen. Létezik ilyen vagy hasonló? -
Jester01
veterán
-
buherton
őstag
Sziasztok!
Nagyon régen programoztam C-ben, és az utóbbi több mint félévben csak és kizárólag perl-ben programoztam napi 8 órát. Most szeretném ismét elővenni a C-t, és ennek keretében egy sima adatbázis kezelést szeretnék írni, mert abban szinte minden fontosabb dolog érintve van.
A probléma writeFile függvényben van, mert mindig a struktúra legutolsó érvényes elemét írja ki i-szer. Nem pedig, a 0.-tól i-ig. Röviden a kód:
typedef struct
{
char *country;
char *capitol;
} twoCharArray;
int main(void)
{
twoCharArray db[20];
int validData;
if(readFile(db, &validData)) { return -1; }
if(writeFile(db, &validData)) { return -1; }
return 0;
}
int readFile(twoCharArray db[], intPtr validData)
{
int i;
for(i = 0; fgets(linebuff, 1024, dbFile) != NULL; i++)
{
split(firstPart, secondPart, linebuff);
db[i].country = firstPart;
db[i].capitol = secondPart;
printf("%s\t%s\n", firstPart, secondPart);
}
*validData = i;
}
int writeFile(const twoCharArray db[], const intPtr validData)
{
int i;
for(i = 0; i < *validData; i++)
{
concat(lineBuff, db[i].country, db[i].capitol);
printf("%s", lineBuff);
}
}tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Van, amit nehéz lett megtalálni a Google keresőjével
- A fociról könnyedén, egy baráti társaságban
- Milyen okostelefont vegyek?
- Windows 11
- Luck Dragon: Asszociációs játék. :)
- EAFC 24
- Autós topik
- Kerékpárosok, bringások ide!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Xbox Series X|S
- További aktív témák...
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5
- Bomba ár! HP EliteBook 830 G6 - i7-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Dell Latitude 5580 - i5-G6 I 8-16GB I 256 SSD I 15,6" FHD I HDMI I CAM I W10 I Garancia
- Bomba ár! Dell Latitude 5490 Touch - i5-8G I 8GB I 256SSD I 14" FHD Touch I Cam I W11 I Garancia!