- Android alkalmazások - szoftver kibeszélő topik
- Profi EKG-s óra lett a Watch Fitből
- Honor 400 Pro - gép a képben
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Samsung Galaxy A54 - türelemjáték
- Milyen okostelefont vegyek?
- Telekom mobilszolgáltatások
- Apple iPhone 16 Pro - rutinvizsga
- India felől közelít egy 7550 mAh-s Redmi
Új hozzászólás Aktív témák
-
-
-
sghc_toma
senior tag
hm.. fura, nalam fordul.. itt vannak a diff-ek a pastebin-es kodhoz kepest:
diff Termekek.h Termekek_mine.h
158c158
< Product& operator<(Product& j1,Product& j2);
---
> bool compare(Product * j1, Product * j2);diff Termekek.cpp Termekek_mine.cpp
482c482
< sort(store.begin(),store.end());
---
> sort(store.begin(),store.end(), compare);
485c485
< bool operator<(Product& j1,Product& j2)
---
> bool QuickFrozen::compare(Product * j1, Product * j2)
487c487
< return strcmp(j1.get_name(),j2.get_name());
---
> return strcmp(j1->get_name(), j2->get_name()) < 0;ja, es a main fuggvenyed void visszateresi erteku.. ez nem okes, int-nek kene lennie.. nem is ertem, a cl miert nem szol erte (W4-gyel sem)..
-
sghc_toma
senior tag
a Termekek.h-ban van egy ilyen:
Product& operator<(Product& j1,Product& j2);
ez ugye nem OK, bool a helyes visszateresi ertek..meg egy ilyen:
return strcmp(j1.get_name(),j2.get_name());
ez nem jo, mert akkor igaz, ha nem egyenlo a ket nev, nem akkor, amikor az elso kisebb..
Es ami a fo problema: a vektorban ugye pointereket tarolsz, az operator< meg referenciakkal dolgozik, ez igy nem okes.. tehat kell egy osszehasonlito fv., ami valahogy igy nez ki:
bool compare(Product * p1, Product * p2)
{
return strcmp(p1->get_name(), p2->get_name()) < 0;
}ezt megadhatod harmadik parameternek a sort-nak..
remelem nem neztem el semmit (kicsit sietve futottam at a kodot, eppen beadandot irok)
-
sghc_toma
senior tag
ha irtal kisebb operatort, akkor nem kell harmadik parameter, mivel a sort alapbol azt hasznalja.. tehat pl. ennek igy mukodnie kell:
#include <vector>
#include <algorithm>
class Product
{
//...
int value;
public:
friend bool operator<(const Product & p1, const Product & p2);
}
bool operator<(const Product & p1, const Product & p2)
{
return p1.value < p2.value;
}
int main()
{
std::vector<Product> products;
//...
std::sort(products.begin(), products.end());
return 0;
} -
sghc_toma
senior tag
C++-ul:
#include <algorithm>
#include <string>
// ...
bool isPalindrom(std::string str)
{
str.erase(std::remove(str.begin(), str.end(), ' '), str.end());
transform(str.begin(), str.end(), str.begin(), ::tolower);
std::string reversed(str);
std::reverse_copy(str.begin(), str.end(), reversed.begin());
return !str.compare(reversed);
} -
sghc_toma
senior tag
válasz
Mr. Teddy #818 üzenetére
a nativ alkalmazasnak az a baja, hogy nem talalja a megfelelo verzioju c runtime-ot.. legegyszerubben ugy tudod megoldani, hogy statikusan linkeled a crt-t: [link]
arrol lovesem sincs, hogy a managed cucc miert nem megy.. biztosan ugyanaz a .Net framework van fent a ket gepen? -
-
sghc_toma
senior tag
válasz
Sk8erPeter #731 üzenetére
hmm, ezt az STL-dolgot beneztem, bocs.. figyelmetlenul olvastam el a feladatot
en a file-t reprezentalo osztalyba nem pakolnam bele a tail megvalositasat.. legyen neki megnyitas/bezaras metodusa, meg iteratorai.. szerintem a tail objektum kap egy file objektumot megkozelites jo; a file iteratorait hasznalva kenyelmesen megvalosithatod a tail osztalyt.. ez azert jobb, mintha beleraknad a file osztalyba, mert ha pl. kesobb kelleni fog a head parancs is, akkor nem kell megbolygatni a file osztalyt, eleg irni egy head-et..
-
sghc_toma
senior tag
válasz
Sk8erPeter #727 üzenetére
"Maga a fájl beolvasása legyen külön osztály, aminek a tagfüggvényeit örökli egy másik, pl. a Tail osztály?"
nem.. a feladatkiirasban benne van, hogy magat a szoveges allomanyt kell reprezentalnod egy objektummal.. pl. csinalsz egy osztalyt, aminek van egy std::vector<std::string> adattagja, es ebben tarolod a sorokat.. mondjuk a konstruktor kap parameterkent egy filenevet, megnyitja, beolvassa a file-t, es eltarolja a tartalmat a vektorban.. az operator<< lehet uj sor vektorba rakasa, az operator>> meg egy sor olvasasa.. operaor+ ket file osszefuzese, stb.. az iterator meg a sorokon megy vegig, tulajdonkeppen ugyanaz, mint a vektor iteratora.. igy a tail egesz egszeruen megvalosithato mondjuk az std::for_each-csel, vagy egy sima for ciklussal.."de jelen esetben nem igazán látom gyakorlati hasznát, itt nem kell randomszerűen tudni elérni elemeket, vagy gyorsan az elejére, majd a végére ugrani, vagy hasonló, mint a klasszikus iterátoroknál"
az iterator pont nem a random hozzaferesre lett kitalalva.. ahogy a neve is mutatja, arra valo, hogy egy kontener elemein vegiglepkedj.. -
sghc_toma
senior tag
Gyuri16: segiteni sajnos nem tudok, en is nemreg gondolkodtam azon, hogy jo lenne a Vim-et hasznalni IDE-kent, de nem volt tul sok idom foglalkozni vele.. az exVim-re guglizas kozben talaltam, feltettem, kiprobaltam egy projekten, de nem igazan melyedtem meg bele..
doc: nincs mit..
-
sghc_toma
senior tag
válasz
WonderCSabo #703 üzenetére
hmm.. milyen forditot hasznalsz? 4.4.3-as GCC-vel mukodik mindket megoldas.. esetleg egy forraskodreszletet be tudsz masolni ide (hatha mashol van a hiba)?
-
sghc_toma
senior tag
válasz
WonderCSabo #701 üzenetére
legjobb tudomasom szerint szep modszer nincs ra, de a clear + str("") kombonak mukodnie kellene.. az, hogy nem tudsz bele irni, mit jelent? hibat dob, vagy csak siman ures marad a stream?
esetleg meg megprobalhatod, hogy torlod az error flag-eket, es a put/get pointereket meg beallitod a stream elejere:stringstreamneve.clear();
stringstreamneve.seekp(0);
stringstreamneve.seekg(0);"Ha csak cleart használok, nem csinál semmit"
nem meglepo, a clear az error flag-eket allitja be...
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Veszprém és környéke adok-veszek-beszélgetek
- Magga: PLEX: multimédia az egész lakásban
- iPhone-t használók OFF topikja
- Luck Dragon: Asszociációs játék. :)
- Milyen videókártyát?
- Melyik tápegységet vegyem?
- Elektromos rásegítésű kerékpárok
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen légkondit a lakásba?
- sziku69: Szólánc.
- További aktív témák...
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 MAX 36GB RAM 1TB SSD garanciával hibátlan működéssel
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- AKCIÓ! Microsoft XBOX Series X 1TB SSD fekete játékkonzol garanciával hibátlan működéssel
- Honor X7B szép állapotban 6/128GB fekete / 12 hónap jótállással!
- Samsung Galaxy S25 Plus Navy 12/256 GB Újszerű, karcmentes állapotban!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest