2015-07-22 2 views
-2

В настоящее время я сумел создать базовую разреженную матрицу, используя этот код:Как правильно ранжировать значение?

Live Demo

Тогда выход выглядеть следующим образом:

Insert: (83,86,77,) 

Insert: (15,93,35,) 

Insert: (86,92,49,) 

Insert: (21,62,27,) 

Insert: (90,59,63,) 

Я 2 проблемы здесь:

  1. Как удалить последние , и добавить пробел после каждой запятой. Я пробовал cout << arr[i][k] << ', ', но он не работает.

  2. В настоящее время все значения row и col этой матрицы составляют от 0 до 100. Поскольку размер моей матрицы установлен в 5. Как я могу сделать значение row и col Следуйте за этим размером?

Моя ожидается выход выглядеть примерно так:

Insert: (5, 1, 84) 

Insert: (1, 4, 39) 

Insert: (2, 3, 16) 

Insert: (4, 2, 13) 

Insert: (5, 5, 100) 
+1

Вы пишете этот код самостоятельно? Потому что необходимые изменения довольно очевидны. – ypnos

+1

* «' << ',' 'но он не работает * * - C++ использует одинарные кавычки для односимвольных литералов и двойные кавычки для строковых литералов: для того, чтобы иметь как запятую, так и пробел, вам нужен строковый литерал:' ",". –

ответ

0

Чтобы изменить размер массива: изменить thisline:

int** arr = constructSparseMatrix(size,3); 

в

int** arr = constructSparseMatrix(size,5); 

для printingn просто проверьте, печатаете ли вы последний элемент nt вашего массива или нет:

for (int k = 0; k < 5; k++){ 
     cout << arr[i][k]; 
     if(k<4) cout<<', '; 
} 
+0

Здравствуйте, спасибо за ваш ответ, но, возможно, вы неправильно поняли мой вопрос. Мой ожидаемый результат для 'row' и' col' от '1' до' 5', а не 'size', в настоящее время это' (83,86,77) ', но я хочу' (1,5,77) ' например. Вы можете снова проверить мою демонстрацию и мой вопрос. – Pewds

Смежные вопросы