- gban: Ingyen kellene, de tegnapra
- ldave: New Game Blitz - 2026
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Óraátállítás
- Doky586: Windows telepítés utáni beállítások
- eBay-es kütyük kis pénzért
- gerner1
- PSti: Total Commander - Memória duplázás!
-
LOGOUT

Új hozzászólás Aktív témák
-
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? -
Tottu
senior tag
Üdv mindenkinek!
Egy kis segítségre lenne szükségem az alábbi programmal kapcsolatban:
Olyan programot kell írni, ami adott S szóra(max 2000 karakter) és k értékre kiszámítja a leghosszabb olyan kezdőszelet hosszát, amely legfeljebb k betű törlésével tükörszóvá tehető! A program adjon is meg egy ilyen törlést.
Pl.:
Bemenet
2
emeletesKimenet
7 2
2 6A kimenet első sorának első száma a kezdőszelet hossza, a második szám pedig, hogy hány karakter törlésével tehető tükörszóvá. A második sor pedig a törlendő karakterek sorszáma.
Találtam, hozzá egy jó anyagot ami első ránézésre jónak tűnt így egyből neki is fogtam: megírtam a progit, ami a fent említett példára tökéletes működött, majd én is csináltam pár példát amiben volt már egy hibás kimenet. Gondoltam leteszteltetem élesben és kaptam rá 2 pontot a 16-ból ami elég karcsú(min. 8 kell). Ezután jöttem rá, hogy teljessen rossz úton indultam el.
Nah most kellene egy másik kiinduló pont, azonban nem tudom hogyan lehetne egy optimális megoldást találni, ugyanis van idő és memória korlát is: 0.2s időkorlát, és 32MB memória áll a rendelkezésre. Elméletileg Dinamikus programozással kell megoldani, ami egy 2000x2000-es táblából(tömb-ből) áll, amit úgy töltünk fel, hogy az előző részproblémák eredményeit felhaszáljuk.
Ha vkinek van ötlete akkor azt szívessen várom!
-
Tottu
senior tag
válasz
kicsitomi88
#3028
üzenetére
Köcce! Pedig ott is kerestem, de úgy tűnik rosszúl... THX mégegyszer!

-
Tottu
senior tag
Üdv!
Olyan kérdésem lenne, hogy ismertek-e olyan progit vagy vmilyen megoldást arra, hogy hogyan lehetne egy sima C programnak lemérni a futási idejét?
-
Tottu
senior tag
Elkezdtem ujra a progit, de vmi nem stimmel a beolasással:

#include <stdio.h>
#include <string.h>
FILE *fbe , *fki;
int main (){
long int eredmeny[2] , kov_szam[2];
int i;
char elojel[1] , muv[1];
fbe = fopen(''be.txt'',''r'');
fki = fopen(''ki.txt'',''w'');
fgets(elojel,1,fbe);
if (elojel[0] == '-'){
eredmeny[0]= '-';
fscanf (fbe , ''%d'' , &eredmeny[1]);
} else {
eredmeny[0]= '+';
}
printf (''%d%d'',eredmeny[0],eredmeny[1]);
scanf(''%d'',&muv);
fclose (fbe);
fclose (fki);
return 0;
}
Az benne a bibi, hogy fordítva olvassa be a számokat: pl.: 234 helyett 432. -
Tottu
senior tag
Működk az csak nem 100%-os. Eddig azzal (is) voltak gondok hogy a műveletijel össze vissza változhat és az nem működött rendessen, de azt kijavítottam és így kaptam 2 pontot. Tudtommal egy hiba van még, mégpedig abban az esetben amikor a művelet elvégzése után meg változik az előjel. Ekkor vmi naon cifra szám jön ki (az előjel az jó)
Már többször végig próbáltam papíron is, de nem tudtam rájönni mi lehet a gond. De majd ha lesz még időm akkor leülök elé és próbálkozom. -
Tottu
senior tag
Sikerült mindegyik problémát megoldani kaptam is 2 pontot rá a 10ből!

A lényeg: ugye max 100 számjegyű lehet a (előjeles) szám és egy fileból kell beolvasni. Előszőr is a file beolvasás utána át kellett konvertálni a karakter számmá hogy számolni tudjak vele. Ezt követően beállítottam a szám előjelét (tömb 0. indexéhez írtam egy ' + ' vagy ' - '). Jött a jombra igazítás (ez lehet fölösleges volt tényleg, mert az említet strlen () függvénnyel meglehetett volna oldani, de én a ''papíros'' módszernél maradtam. Azaz jobbra kell igazítani a számokat és úgy összeadni ill. kivonni egymásból). Ha a rendezés előjel meg van jött a művelet eldöntése amit lehet variálni rendedessen (szam1 pl.: - ; szam2: - ; és a művlet is - akkor összeadás kell, és az eredménynél is történhet előjel változás, amikor a szam1 kisebb mint a szam2, stb...) -
Tottu
senior tag
Kellene még egy kis segítség:
Ez van a be.txt file-ban:
23
+
6
Nah és most, a sorokat beolvasom az fgets egyesével 1-1 tömb-be. Eldöntöm, hogy milyen műveletet is kell majd elvégezni. Ezután jönnek a gondok, mert a tomb az char típusú és így nem kapok valós eredményt. Próbáltam már típus kényszerítéssel is:
eredmeny=(char)eredmeny+(char)uj_szam; (DE így sem lett jó)
Másik gond ami felmerült: az fgets a tomb-be 0-tól kezdi feltölteni a tömb-t, de ahoz hogy összetudjam adni vagy kitudjam vonni a számokat ahoz jobbra kellene igazítani, és így a a tömb legnagyobb indexétől kellene feltölteni. Erre nincs vmi ötletetek? -
Tottu
senior tag
Az folyamat már kéc.
Inkább a file kezeléssel lennének gondok: próbáltam olyan progit írni ami beolvas egy file-t és annak a tartalmát átírja egy másikba. De nekem soha nem sikerült beolvasni. (Vki írna egy példa progit?
)
A C-ben van olyan függvény ami megvizsgálja hogy sikeresen nyitottam-e meg a file-t? (mint Pascal-ban az IORESULT) -
Tottu
senior tag
válasz
Pho3bus
#2091
üzenetére
Te is szenvedsz a progival?

Nekem már kész van a terv.(remélem fog is működni, ha nem akkor...
)
Egyébként az én feladatom: beolvas egy ELŐJELES számot egy file-ból (MAX számjegy: 100db, MIN hogy ne férjen bele egy változóba se
) ezután van egy műveleti jel + vagy - és a következő szám egészen addig amig nem olvasunk be egy = jelet.
Előszőr nem is gondoltam hogy ilyen nehéz lesz, de amikor elkezdtem gondolkozni azon hogy mi van ha ''-'' -hoz adok hozzá egy számot, és az első szám kisebb mint a második (természetessen a negatív számot ha pozitívnak veszem), akkor előjel váltás következik be. Nah ez az egyik eset, de lehet még bőven ragozni.
Nekem ehez kb 3 óra volt szükséges hogy rájöjjek mit és hogyan kell csinálni.
-
Tottu
senior tag
Nekem a C-vel kapcsolatban lenne egy kérdésem: hogy lehet egy teljes sort beolvasni egy fileból, és ugyan ezt karakterenként? Próbáltam fscanf-el de egyszerűen nem olvas be semmit. A file kiírás talán menne, mert a file-t létrehozza.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Eredeti játékok OFF topik
- Xiaomi 17 Ultra - jó az optikája
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- BestBuy ruhás topik
- gban: Ingyen kellene, de tegnapra
- Projektor topic
- Elkalapálta a snapdragonos Galaxy S26 az exynososat
- Witcher topik
- Macska topik
- További aktív témák...
- Asus ProArt P16 4K UHD+ OLED érintő Ryzen AI 9 HX 370 RTX 4070 64GB 2TB NVMe gar
- Dell i7 1355u(12x5Ghz)15,6"FullHD IPS,16/48GB RAM,512GBSSD,világító billentyűzet,Új állapot
- Microsoft Surface Laptop 3 13.5" fekete i5-1035G7 16GB 512GB 1 év garancia
- Asus ROG Strix Scar G634 / 16" Mini LED / i9-14900HX / RTX 4090 16GB 175W / 32GB / 2TB + extrák
- Apple iPhone 13 Mini 128GB Fekete Színben 100% Akkuval 6 Hónap Jótállással
- HP omen 17-w131ng bontva
- Lenovo Thinkpad L380,13.3" FHD,i3-8130U,8GB DDR4,128GB SSD, WIN11
- Dell XPS 15 9500 - 15,6" hibás kijelző, i7 10750H, 8GB RAM, Nvidia GTX 1650 Ti 4GB VGA
- LG 27US550-W - 27" IPS / 3840x2160 4K / 60Hz 5ms / HDR10 / Forgatható / sRGB 99%
- Lenovo ThinkPad L14 Gen 2 Ryzen 5 pro 5650U, 16GB RAM, 256-512GB SSD, jó akku, számla, gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest








)
