Професионална програма
Loading...
+ Нов въпрос
Klamercho avatar Klamercho 0 Точки

C++ Fundamentals Решение на 02-ра задача по смешен начин с вектори

След малка битка с това да инициализирам двуизмерен масив с променливи като големина, просто реших да ползвам вектор за решението на задачата и се получи това https://pastebin.com/jBtnE5gZ 

 

Послеслов: Нямам променливи на име Banana, сега ясно се разбира всичко за какво служи ;) 

 

 

 

 

 

 

Тагове:
0
C++ Programming
kolioi avatar kolioi 621 Точки
Best Answer

Имаш доста добро въображение :) Всъщност първите 2 задачи могат да се решат без да се използва двумерен масив. И изобщо динамичното заделяне на памет за двумерен масив е по-добре да се избягва. Вместо това е по-добре да се задели памет (еднократно) за едномерен масив (или вектор) с размер rows*columns. Повече по темата тук. Аз съм го направил с вектор от вектори от тип int.

vector<vector<int>> matrix;
......	// initialize matrix
for (int row = 0; row < row_count; ++row)
	for (int col = 0; col < col_count; ++col)
		if (matrix[row][col] == num_to_find)
			......

 

0
Klamercho avatar Klamercho 0 Точки

Благодаря! Наистина реших първите две задачи с вектори, но имам усещането, че нарушавам правила и че трябва да използвам двуизмерния масив. :/ 

0
kolioi avatar kolioi 621 Точки

Ами не знам как точно са ви показали на лекцията да създавате и използвате двумерен масив, но общо взето тук важат същите правила като при едномерните масиви. Можеш да си създадеш масива като int matrix[100][100]; и после да го инициализираш така matrix[row][col]=n; или може да заделяш динамично памет с new (виж линка по-горе) или да използваш vector или array както ти показах. Джадж няма как да разбере дали си използвал едномерен или двумерен масив :)

0