Hirdetés
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- Mr Dini: Mindent a StreamSharkról!
- A magyar Duke Nukem 3D
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
Új hozzászólás Aktív témák
-
mgoogyi
senior tag
válasz
#74220800
#3995
üzenetére
Visual Studio Express 2013, de debuggolni más ide-ben is lehet.
Ez nem elég a végére?
if (v[i].size() > 0)cout << v[i][0] << " "; else cout << "- ";Vagy azokra az indexekre beírsz egy -1-et, ahol nem gyűlt ki a k=4 szumma?
A későbbiekben pedig a -1 jelezné, hogy attól az indextől kezdve nem lehet kihozni a szumma>=4-et.Nem értem ezt az előre definiálós problémádat. A v vektor sorindexek jelentése, hogy hanyadik számtól kezdve adod össze a számokat. Ezen belül a 0. index jelzi, hogy hány darab számot kell összeadj, utána meg be vannak írkálva, hogy ezek mely indexű számok az "a" vektorban. Ami mondjuk bármikor számítható a sorindexből és a darabszámból, én valszeg nem tárolnám el.
Mi a kimenet, ami szeretnél?
-
b.kov
senior tag
válasz
#74220800
#3893
üzenetére
Üdv!
Nem egy kezdőszelet, de ha tanulod a nyelvet, előbb-utóbb úgyis el fogod hagyni a tömböket valószínűleg, és helyette stl konténereket, és algoritmusokat fogsz használni.Itt van egy gyors szösszenet C++11-es módszerrel a problémádra:
#include <iostream>
#include <vector>
#include <fstream>
#include <sstream>
#include <iterator>
#include <algorithm>
// Returns a matrix (N x M), storing read data from file
std::vector<std::vector<int32_t>> readData(std::string fileName)
{
// Open file
std::ifstream input;
try
{
input.open(fileName);
}catch(std::ios_base::failure& e)
{
std::cerr << e.what() << std::endl;
return std::vector<std::vector<int32_t>>();
}
std::string line; // For reading line by line
input >> line; // Reading N
std::vector<std::vector<int32_t>> result(std::stoi(line)); // Returnable vector
std::getline(input, line); // Reading M, but do not store
// Write from file to matrix
for(auto& matrixLine : result)
{
std::getline(input, line);
std::istringstream stringOfNumbers(line); // Split line into individual strings
// Perform a transform for storing string chunks as integers in line of matrix
std::transform(std::istream_iterator<std::string>(stringOfNumbers),
std::istream_iterator<std::string>(),
std::back_inserter(matrixLine),
[](const std::string& stringOfNumber)
{
return std::stoi(stringOfNumber);
});
}
return result;
}
int main(int argc, char** argv)
{
std::vector<std::vector<int32_t>> result = readData("input.txt");
// Writing the output into stdout
for(auto line : result)
{
for(auto elem : line)
{
std::cout << elem << ", ";
}
std::cout << std::endl;
}
return 0;
}Természetesen nem teszteltem teljes körűen, csak egyetlen bemenetre, de arra működött.

input.txt:
5 7
2 3 4 -4 3 1 0
-3 2 1023 3 -32 8 9
-2 1 0 22 3 4 93
5 3 8 2 -9 3 -9321
2 3 4 -4 3 1 0 -
kispx
addikt
válasz
#74220800
#3893
üzenetére
0) fájl megnyitás után lekell ellenőrizni, hogy sikeresen megnyitotta-e a fájlt. Ha nem sikerült megnyitni a fájlt a program akkor is tovább fog menni. Ezt meg kell akadályozni.
if (!myfile) {
cerr << "Hiba: ...";
return 0;
}1)
int x[n][ m ];N = 1000 és M = 1000 esetén ennek a mérete: 1000*1000*sizeof(int) lesz. Valószínűleg a 4 byte az int mérete nálad. Így több mint 3,8 MB ennek a változónak a mérete. Túl nagy, nem fér bele a stackbe. Olvasnivaló. Helyezd át a heapre:
int n;
int m;
row>>n;
row>>m;
int **x = new int*[n];
for(int i = 0; i< n ; i++){
x[i] = new int[m];
}Majd ha már nem használod a tömböt a delete[] x; utasítással töröld.
-
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen videókártyát?
- Soundbar, soundplate, hangprojektor
- AMD Navi Radeon™ RX 9xxx sorozat
- Motorola Edge 50 Neo - az egyensúly gyengesége
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Tőzsde és gazdaság
- Samsung Galaxy Z Flip5 - ami kint, az van bent
- iPhone topik
- CPU léghűtés kibeszélő
- Azonnali VGA-s kérdések órája
- További aktív témák...
- Samsung S22 Ultra 12/256GB / Fekete / Kártyafüggetlen / Karcmentes kijelző
- HP Compaq Elite 8200 SFF (i3, 5GB DDR3, 250GB HDD, Win 10 kulcs)
- ASUS TUF Gaming A17 FA707RM - Ryzen 7 6800H, 17.3FULL HD 144Hz, 1.5TB, 16GB, Geforce RTX 3060 6GB
- Corsair RM850e 2025 850W 80+ Gold / ATX 3.1 / PCIe 5.1 - ~ÚJ - Alza garancia 2032.09.05.
- Bomba ár! HP Elitebook 8570P - i5-3340M I 8GB I 500GB HDD I DisplayPort I 15,6" HD I Garancia!
- Samsung Galaxy A13 64GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 14 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3159, 100% Akksi
- Hp, Dell gyári 65W USB-C Type-C töltők, tápegységek
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8400F / RTX 3070Ti / 32GB DDR5 / 1TB SSD!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


