-
GAMEPOD.hu
Új hozzászólás Aktív témák
-
Robaj
addikt
Picit debugoltam és nem is ott van a gond.
A forrása ez:
printf("%s \t gyenge\n",jelszo);
Táblázatos formában kiírni 1-20 (lehet akármennyi) karakter széles szöveget, mellé a gyenge szót, tabulátorral elválasztva. Ezt úgy oldottam meg, hogy feltöltöttem a tömböt szóközökkel és azonos szélességre hoztam (legszélesebb) és ahhoz tabulálva táblázat jó volt. Viszont dinamikus tömbbel nem tudom kiegészíteni a 6 elemre lefoglaltat 14 elemre. A %-20s meg sajna nem jó, mert ha meg csak 5 karakter, akkor rondán néz ki
Valami ötlet erre?
-
Jester01
veterán
Gondolom a fórummotor benyelt néhány szóközt/tabot
Úgy értettem, hogy először megállapítod melyik a leghosszabb, és aztán az összeset ilyen szélességben írod ki. Ehhez nem kell a tömböket piszkálni, elég a printf formátumban megadni ezt a maximális hosszt. Persze csak akkor működik, ha végignézheted előre a kiírni szándékozott szövegeket.
#include <stdio.h>
#include <string.h>
int main()
{
const char* strings[] = { "1", "12345", "123", "123456", 0 };
int maxlen = 0;
int i;
for(i = 0; strings[i]; i++)
{
int len = strlen(strings[i]);
if (len > maxlen) maxlen = len;
}
for(i = 0; strings[i]; i++)
{
printf("%*s gyenge\n", -maxlen, strings[i]);
}
return 0;
}
./a.out
1 gyenge
12345 gyenge
123 gyenge
123456 gyengeJester
-
sonar
addikt
Sziasztok
Egy kis dilemmában vagyok. Két fájlt kell összehasonlítanom.
Erre két módszert ismerek:
1 byte-ról byte-ra
2 kalkulálni hash-tKérdés valyon melyik gyorsabb?
Ill hash-számolásra (MD5 v crc) vmi jó algót nem tudtok?A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
Lortech
addikt
Hash algoritmus is végigmegy a teljes fájlon, úgy generálja a hasht. Annál gyorsabb nem nagyon lesz semmi, hogy byte-ről byte-ra összehasonlítod a két fájlt. Főleg hogy így kiderül az első különbségnél, ha nem egyezik a két fájl (és le is lehet állni az összehasonlításnál), hashnél pedig csak azután derül ki, hogy legeneráltad mindkét fájlra és összevetetted a hasht.
[ Szerkesztve ]
Thank you to god for making me an atheist
-
Tottu
senior tag
Helló!
Lenne egy kisebb-nagyobb gondom. Egy programot sikerült tökéletesre megcsinálni az alábbi paraméter átadással:
//A main függvény az alábbi sorokat tartalmazza
//Gráfpontok létrehozása
CGrafNode* graf_node1 = new CGrafNode(1);
CGrafNode* graf_node2 = new CGrafNode(2);
CGrafNode* graf_node3 = new CGrafNode(3);
CGrafNode* graf_node4 = new CGrafNode(4);
CGrafNode* graf_node5 = new CGrafNode(5);
CGrafNode* graf_node6 = new CGrafNode(6);
CGrafNode* graf_node7 = new CGrafNode(7);
CGrafNode* graf_node8 = new CGrafNode(8);
CGrafNode* graf_node9 = new CGrafNode(9);//Gráfpontokat összekötő élek létrehozása
new CGrafLine(graf_node1, graf_node2);
new CGrafLine(graf_node2, graf_node3);
new CGrafLine(graf_node2, graf_node1);
new CGrafLine(graf_node1, graf_node6);
new CGrafLine(graf_node3, graf_node4);
new CGrafLine(graf_node4, graf_node5);
new CGrafLine(graf_node5, graf_node3);
new CGrafLine(graf_node5, graf_node8);
new CGrafLine(graf_node6, graf_node7);
new CGrafLine(graf_node7, graf_node6);
new CGrafLine(graf_node7, graf_node8);
new CGrafLine(graf_node8, graf_node9);
new CGrafLine(graf_node9, graf_node8);
new CGrafLine(graf_node3, graf_node6);//Eredmény kiírása
graf_node4->PrintUnavailableNode();A fent leírt módon tökéletessen lefut a program, és helyes eredményeket adja is vissza. Azonban nekem file-ból kell beolvasni. Ezt is megoldottam az alábbi módon:
int NodeNumber, GrafLineNumber, StartNode;
ifstream FIn("be.txt");
ofstream FOut("ki.txt");FIn >> NodeNumber;
FIn >> GrafLineNumber;
FIn >> StartNode;CGrafNode* Graf[10000];
for(int i=1 ; i<=NodeNumber ; i++){
Graf[i] = new CGrafNode(i);
}for(int i=1 ; i<=GrafLineNumber ; i++){
int FromNode, ToNode;FIn >> FromNode;
FIn >> ToNode;
new CGrafLine(Graf[FromNode], Graf[ToNode]);
}
Graf[StartNode]->InternalGetUnavailableNode();Azonban ha így hozom létre az objektumokat akkor már hibássan működik a program. Le ellenőriztem a beolvasott adatokat, és abban nem volt hiba. Mivel az első megoldásnál jó volt a program kimenete, így az algoritmusnak is jónak kellene lenni-e.
Mi lehet a gond?"A legnagyobb hiba, amit az életben elkövethetsz, az a folyamatos rettegés attól, hogy hibázni fogsz.“ - Elbert Hubbard
-
chungee
addikt
Hogy tudok írni olyan batch-ot melynek elindítása 2alkalmazás fusson le? Pontosabban Total Commander és Winamp. Előre is köszi!
-
dchard
veterán
Kezdő programozó vagyok, és a következő probléma megoldásában szeretném a segítségeteket kérni:
Adott egy rakás két jegyből álló hexadecimális szám egy szöveges fájlban, valahogy így:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
07 07 08 09 09 09 09 09 0a 0a 0a 0b 0b 0b 0b 0b
0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0b 0a 0a 0a 0a 09
00 09 09 09 09 09 09 09 09 09 09 09 09 09 09 08
09 08 08 08 08 08 08 08 08 08 08 08 08 07 08 08
08 08 08 08 08 08 09 09 09 09 09 09 09 09 08 09
09 09 09 09 09 09 09 09 09 09 09 09 0a 0a 09 0a
0a 0a 0a 0a 08 07 08 09 09 09 0a 09 09 09 09 09
09 09 09 09 09 09 09 09 09 09 09 09 06 09 09 09
09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09
09 09 09 09 09 09 09 09 09 09 09 07 06 07 09 09
09 09 09 09 09 09 09 09 09 09 09 09 07 08 09 09
08 08 08 09 09 08 09 08 09 08 08 08 08 08 08 08Összesen 256 darab ilyen két jegyű pár van. Látszik, hogy a kétjegyű párok mindegyike 0-val kezdődik, ezek érdektelenek a továbbiakban. A második jegy hexa alakban van.
Első lépésben ezeket az adatokat kéne beolvasni (minden számpárból a második tagot), majd ezeket decimális számrendszerbe hozni. A sorrend fontos (jobbról balra, felülről lefelé, ahogy olvasunk).
A második lépcsőben egy koordináta rendszert kellene csinálni, ahol a vízszintes tengelyen helyeszkedik el a fenti számok helye (0-255-ig) a vízszintes tengelyen pedig a kiugrásuk (0-15-ig).
Kb. úgy kéne kinézzen, mint az alábbi kép felső részében lévő ábra:
http://upload.wikimedia.org/wikipedia/en/0/02/Draytek_Vigor2600_BIN_Graphs.gifÁtnyálaztam a Cprogramming.com-on az egész C++ tutorial részt, elhatároztam, hogy ezen a nyelven fogom megcsinálni a progit.
Szóval első megoldandó gond: szöveges fájlból minden számpár második elemének beolvasása gondolom egy sima egydimenziós tömbbe karakterként.
Köszönök minden segítséget!
Dchard
A kitárulkozó idegenektől mindig elfog a hányinger. [Cornelius]
-
dchard
veterán
Akarom mondani balról jobbra, fentről le
Dchard
A kitárulkozó idegenektől mindig elfog a hányinger. [Cornelius]
-
Lortech
addikt
pl.
FILE * fp;
int be[256];
fp = fopen ("c:\\adatok.txt","r");
if (fp!=NULL)
{
int i,d;
for (i=0; (fscanf(fp,"%2x",&d) != EOF); i++)
{
be[i]= d;
//if (i % 16 == 0) printf("\n"); //csak formázás és kiiratás
//printf("%3d ",d);
}
fclose (fp);
} else printf("nem tudom megnyitni a fájlt");szerk: az adatok adatok.txt-ben, vagy space-szel elválasztva vagy anélkül.
[ Szerkesztve ]
Thank you to god for making me an atheist
-
aktív tag
Hali!
Tud nekem vki ajánlani egy jó C# és/vagy Java könyvet?
Youth hides the key to salvation
-
oO_Oo
csendes tag
Sziasztok!
Nekem egy olyan kis MI-t kellene írnom C-ben, aminek az alapja a Snake játék. A lényeg a lényeg, random pályákon kellene futnia magától a kis kigyónak és csak a feje mozog. Hogy oldajm meg, hogy minnél tovább húzza a kis jószág, előre felismerje hogy hova nem szabad bemennie, mert csapda, és nem tudna kijönni belőle úgy hogy ne ütközzün saját magával. Ötlet vagy elindulási alap?
-
amargo
addikt
Tényleg csak 5let szinten, koordináta rendszerben gondolkodom.
De a kigyó testének a koordinátáit tudod, akkor tudod meddig mehet a jószág, hogy a farkába ne menjen azt is tudod és azt is, hogy mindek ne menjen neki, azt pedig, hogy egy csapda van benne, amibe mondjuk csak be tudsz menni, de megfordulni nem tud, azt pedig külön el kell tárolnod, ha random hozod létre az alagzatokat, akkor kezdetben, vagy amikor közeledsz az alagzat felé meg kérdezed, hogy kitude onnan jönni, ha nem, akkor be se mész.
Én így képzelem el.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
Dr. Romano
veterán
Sziasztok!
Lehet nem jó helyre írok, de kéne egy kis segítség:
Le szeretném magam ellenőrizni, így megköszönném ha valaki át tudná váltani nekem a 21,18-at lebegőpontos, rövid valós alakba.Ez....e...ee...ez egy.... ez egy FOTEL???
-
Jester01
veterán
válasz Dr. Romano #3174 üzenetére
Valami ilyesmi progit gondoltam (32bit!)
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
union { float f; int x; } tmp;
tmp.f = strtod(argv[1], NULL);
printf("%08X\n", tmp.x);
return 0;
};A 21.18-ra 41A970A4-at ad, nem tudom ez kell-e neked
Jester
-
Dr. Romano
veterán
válasz Jester01 #3175 üzenetére
Köszi szépen tényleg , de sajna nem ilyennek kell kijöjjön.
Itt egy példa a könyvből, ahogy a -3,75 át van váltva. Ilyesminek kell legyen a 12,18-is.
[ Szerkesztve ]
Ez....e...ee...ez egy.... ez egy FOTEL???
-
Lortech
addikt
válasz Dr. Romano #3176 üzenetére
Miért, ez nem ilyesmi?
21.18 az pedig (41A970A4)16, (0100 0001 1010 1001 0111 0000 1010 0100)2
12.18 meg (4142E148)16, (0100 0001 0100 0010 1110 0001 0100 1000)2
[ Szerkesztve ]
Thank you to god for making me an atheist
-
_Kewr_
csendes tag
Ha valaki tudna mondani egy elég jó leírást az ncurses használatáról, annak hálás lennék.
-
greatchaos
addikt
sajnos kifutottam az időmből, és nem is igazán értek hozzá ezért fordulok ide, hátha tud valaki segíteni
tehát, egy programot kell beadnom, szerdára, robotprogramozásból NQC nyelven...
a feladatleírás:
nxt robot(ok) felhasználásával
a robot áll az ajtó előtt (kb 30 cm-re)
figyeli, hogy nyílik-e az ajtó (több sensorral)
amennyiben nyílik, akkor a szoba mási részén lévő ugyanilyen robotnak "szól" bluetooth-on keresztül, az pedig tetszőleges, esetleg csipogásba kezd... amolyan riasztó féle...
esetleg, aki tud, kérem segítsen, nem lennék hálátlan
előre is köszönöm
-
gsc73
aktív tag
Sziasztok!
Nem vagyok programozó, (és nem is szeretnék az lenni, mármint nem ebből élek) csak kisebb programocskákat írtam hobby céllal, évekkel ezelőtt TP, VB, Delphi környezetekben, és a mikro vezérlők assemblerét is ismerem kicsit.
Most lenne egy feladat amit szeretnék én magam megoldani, és nem tudom melyik „nyelv” felé induljak, gondoltam Ti tudnátok ajánlani valamit.A feladat: XP-s op rendszer alatt meg kellene nyitni egy file-t (xml) elemezni, és utána a párhuzamos portot vezérelni. Aktuális állapotot kijelezni egy ablakban, amin van pár beviteli mező is.
Mivel csak ehhez a projekthez „programoznék” így a legegyszerűbb megoldás érdekelne.
Mit ajánlotok?
g.
kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.
-
gsc73
aktív tag
válasz Lortech #3184 üzenetére
Hy!
Tehát Delphi-ben is meg lehet oldani mindent, amit írtam?
Tulajdonképpen az áll a legközelebb hozzám, bár a hobby szint miatt az alapok hiányoznak, de ez már egy másik töténet, és topic.
Köszi!
g.
kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.
-
gsc73
aktív tag
válasz Lortech #3184 üzenetére
Pl. megoldható a Turbo Delphi Explorer edition-rel is? (vagy kellhet a teljes Delphi 2007 for win32)
Mert ingyenes, biztos van hozzá dokumentáció is...
g.
kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.
-
Lortech
addikt
Nem használtam még Turbo Delphit (és remélem, nem is fogok ), de biztos, hogy megoldható. Minden valamirevaló windowsos fejlesztői eszköz képes DLL-eket használni, és csak erre van szükség. (inpout32.dll)
Thank you to god for making me an atheist
-
gsc73
aktív tag
válasz Lortech #3188 üzenetére
Köszi a jótanácsot!
Én az IO.DLL-t [link] olvasgattam a portvezérléssel kapcsolatban, talán az is jó lesz, és ott van konkrét Delphi példa is.g.
[ Szerkesztve ]
kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.
-
Atlas
csendes tag
Hello!
Nagy bajban vagyok házi feladatoki szempontjából - kaptam egy nagy rakás házit és abból nem tudom megcsinálni a következöket:1.Ellenőrzött módon olvass be egy egész számot: ha nem számot kapsz, hibaüzenet után olvasd be újra. Ha öt próbálkozás után sem kapsz számot, egy hibaüzenettel állj meg. Egyébként írd ki a kapott szám háromszorosát.
2.Ellenőrzött módon olvass be egy pozitív számot(egész vagy tizedestört): ha nem számot kapsz, hibaüzenet után olvasd be újra. Ha öt próbálkozás után sem kapsz számot, egy hibaüzenettel állj meg. Egyébként írd ki a kapott szám háromszorosát.
3.Ellenőrzött módon olvass be egy pozitív számot(ismerje fel az egész számokat, tizedestörteket és hatványkitevős alakot is(2e3 = 2*10^3 = 2000, 2e-3 = 0.002): ha nem számot kapsz, hibaüzenet után olvasd be újra. Ha öt próbálkozás után sem kapsz számot, egy hibaüzenettel állj meg. Egyébként írd ki a kapott szám háromszorosát.
4.Egy akárhány tagú névnek add meg a monogrammját.
5.Adott egy tetszőleges számsorozat. Állítsd növekvő sorrendbe az elemeit.
6.Adott egy szövegfájl, ami egy recept hozzávalóit tartalmazza. A fájl minden sora egy számmal kezdődik, ami egy összetevőből szükséges mennyiség, majd vesszővel elválsztva tőle az összetevő neve jön. Add meg azt az összetevőt, amiből a legtöbb, és amiből a legkevesebb kell.
7.Adott egy szövegfájl, ami magyarországi települések adatait tartalmazza. Minden sorban egy település adatai vannak vesszővel elválsztva: a neve, megyéje, típusa (város, község stb.), területe, lakossága. Add meg a legnagyobb lélekszámú települést.
C++ -ban kellenek, és határidőre. Plz help!
-
ATlas1458
csendes tag
Ez lesz a 6.:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
struct anyag
{
double menny;
string nev;
};void keres(anyag a, anyag& n, anyag& k)
{
if (a.menny<k.menny)
k=a;
if (a.menny>n.menny)
n=a;
}int main()
{
anyag n,k;
char vesszo;
fstream f("szoveg.txt");
anyag a;
f>>a.menny>>vesszo>>ws>>a.nev>>ws;
n=a;k=a;
while (f>>a.menny)
{
f>>vesszo>>ws>>a.nev>>ws;
keres(a,n,k);
}
cout<<endl<<"legtobb kell: "<<n.menny<<", "<<n.nev<<endl<<"legkevesebb kell: "<<k.menny<<", "<<k.nev<<endl;
return 0;
}[ Szerkesztve ]
-
Atlas
csendes tag
Kösz.
Párat még ki sikerült javítanom, még a 3 és a 7 kellene. -
Gorneck
titán
Ha vki ráérne segíteni Delphiből nekem az jelezze privibe...
2 hasonló progit kéne ledokumentálnom...nem lenne rossz vki összedobna nekem két hasonlót...számtech szig előtt nem esett vmi jól még ez a vizsga is...
[ Szerkesztve ]
Gorneck#1239
-
ALI_G
veterán
ez mit csinál?
int f=1<<n;
-
PazsitZ
addikt
A << az bitléptetés balra.
Balra léptetés: mit << hány bittel, a jobbról belépő bitek 0-ák, a balra kilépő bitek elvesznek
Pl.:2<<3 → 16 0000 0010
0001 0000
256 <<1 → 0 1000 0000
0000 0000Jelen esetben f integer értéke 1, n értékkel eltolt bitértéket vesz fel.
[ Szerkesztve ]
- http://pazsitz.hu -
-
<caine>
csendes tag
Sziasztok!
Egy ki segítségre lenne szükségem.A megírtam egy programot( c ) úgyahogy, viszont át kellene írnom ,hogy kulon fuggvennyel tortenjen a beolvasas,szamolas,eredmeny kiiratas.
Mar kuzdok rajta egy ideje de nem sikerul.Ha valaki tudna segiteni elkuldenem a forraskodot -
lakisoft
veterán
Ez lehet hogy nem volt olyan égetően fontos?
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- APPLE MacBook Air 2020 13" Retina - M1 / 8GB / 256 GB SSD / MAGYAR / 96% akku, 81 ciklus / Garancia
- LG NanoCell 55NANO766QA Halvány píxel csík
- Philips 58PUS8545/12 1 ÉV GARANCIA Játék üzemmód
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!