Hirdetés
-
PROHARDVER!
Új hozzászólás Aktív témák
-
joysefke
veterán
válasz
dabadab #11258 üzenetére
Ok, az alábbi kód tesztelve és, működik.
Két hiba volt:
(1)
első (ocsmány) hiba:
az első sort beolvasócin >> aN >> reads;
összeakad a második (és utána következő aN) sort beolvasó:getline(cin, line);
istringstream s(line);kóddal. A
getline(cin, string line)
valamiért az első, acin >> aN >> reads
által olvasott sort is olvassa, pedig csak a másodiktól kellene olvasnia. Elimináltam ez egész kódból a cin-t, és mindent soronként olvasok és parsolok, így működik.(2)
A vector<vector<int>> struktúrát (nyilván) rosszul inicializáltam. Most deklaráltam két változót:vector<vector<int>> a;
vector<int> b;A
b
-t inicializálom, feltöltöm és belea.push_back(b)
aza
-ba.Tudom, hogy ez favágó programozás, mert biztos vagyok benne, hogy az a.push_back(b) az egy felesleges (kikerülhető) másolás, illetve a
while (s >> temp) {
b.push_back(temp);
}kódrészlet sem optimális, mivel nem használom ki, hogy ismerem a b-vektor hosszát, ezért felesleges resize műveleteket fog csinálni a kód runtime-ban...
szerk: beleraktam egyb.reserve(temp)
-et, ez feltételezem kiküszöböli a runtime resize-olást...int main() {
int aN = -1;
int reads = -1;
string line;
int temp;
int r, c;
getline(cin, line);
istringstream s(line);
s >> aN;
s >> reads;
vector<vector<int>> a;
vector<int> b;
for (int i = 0; i != aN; ++i) {
getline(cin, line);
istringstream s(line);
s >> temp;
b.clear();
while (s >> temp) {
b.push_back(temp);
}
a.push_back(b);
}
for (int i = 0; i != reads; ++i) {
cin >> r >> c;
cout << a[r][c] << endl;
}
return 0;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- iMac 27" ( 2017 ) Core i7 1TB SSD 16Gb
- Eladó iPad Pro 11" (3. generáció) Wi-Fi + Cellular, 128GB + Apple Pencil 2 + tok + üvegfólia
- BONTATLAN GARANCIÁLIS APPLE IPHONE 17 PRO ÉS PRO MAX SZÉRIA
- ASUS TUF Gaming GeForce RTX 3080 10GB OC - Garancia - Wellness done
- Honor Magic5 Pro 12/512gb, Zöld, 13 hónap garanciával, eladó!
- LG 55G4 - 55" OLED evo - 4K 144Hz & 0.1ms - MLA Plus - 3000 Nits - NVIDIA G-Sync - FreeSync Premium
- Sound Blaster AE-7 (B-Stock)
- Amazon Kindle 10th Generation ébresztős tok
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3336
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest