vector < vector < int >> matrix( kolumny );
matrix = vector < vector < int >>( matrix1.size() );
Resize vectora matrix nie jest poprawny. Czy argument kolumny jest tylko dla przekazania rozmiaru?
Jeśli tak, to zbędny, ponieważ należałoby skorzystać z rozmiarów istniejącego kontenera.
Pod warunkiem, że oba kontenery (matrix1
oraz matrix2
) mają takie same rozmiary:
std::vector < std::vector < int >> matrix( matrix1.size() );
for( std::size_t i = 0; i < matrix.size(); ++i ) {
matrix[ i ].resize( matrix1[ i ].size() );
}
Jeśli nie musisz wyznaczyć wartość rozmiaru dłuższego kontenera i tą wartością zmienić rozmiar lub jakoś inaczej zareagować na różnice.
macierze matrix1 i matrix2 są takie same ale mają różną liczbę kolumn i wierszy i gdy zapisałeś na początku
std::vector < std::vector < int >> matrix( matrix1.size() );
to przypisywało to wektorowi matrix liczbę kolumn matrix1? bo mi w takim przypadku to matrix1.size() dawał liczbę wierszy, a nie miałem na myśli tego żeby matrix miał wysokość taką samąjak liczbę wierszy