|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Как расчитать сумму для каждой строки массива |
|
C/C++ - Как расчитать сумму для каждой строки массива
|
Новый участник Сообщения: 14 |
Вот функция, которая cчитает сумму модулей элементов матрицы, которые находятся после первого положительного элемента.
Вопрос : как сделать так, чтобы считало отдельно для каждой строки, и не учитывало этот самый первый положительный элемент? |
|
Отправлено: 01:32, 17-12-2012 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать pashazt,
Цитата pashazt:
Цитата pashazt:
А второй цикл: Цитата pashazt:
Цитата pashazt:
|
||||
------- Отправлено: 09:49, 17-12-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Передавать в функцию нужно одномерный массив - построчно.
Делать надо в одном цикле. break заменить на continue ... const int rows = 3; const columns = 4; int array[rows][columns] = {0}; for(int i = 0; i < rows; i++) cout << sumofmodules(array[i], columns); ... int sumofmodules(int array[], int column) { int total = 0; for(int i = 0; i < column; i++){ // Сюда исключение // чтобы считало отдельно для каждой строки, и не учитывало этот самый первый положительный элемент? total += array[i]; } return total; } |
------- Последний раз редактировалось Drongo, 17-12-2012 в 22:21. Причина: Исправил опечатку Отправлено: 22:01, 17-12-2012 | #3 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Вот функция которая считает сумму элементов матрицы, после первого положительного элемента.
1) можно ли сделать так, что бы она считала суму не во всей матрице, а в каждой строчке? 2) зачем там true i false? 3) что в конце означает BlackAndBlue = -1? int sumofmodules( int **s, int rows, int columns ) { int sum = 0; bool isEnought = false; int DontGo = 0; int BlackAndBlue = 0; for ( int i = 0; i < rows && !isEnought ; i++ ) { for ( int j = 0; j < columns ; j++ ) { if (s[i][j] > 0) { DontGo = i; BlackAndBlue = j; isEnought = true; break; } } } for (int i = DontGo; i < rows ; i++) { for(int j = ++BlackAndBlue; j < columns ; j++) { sum += abs(s[i][j]); } BlackAndBlue = -1; } return sum; } |
Отправлено: 00:30, 21-12-2012 | #4 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать pashazt, У меня несколько вопросов:
|
|
------- Отправлено: 10:30, 21-12-2012 | #5 |
Пользователь Сообщения: 121
|
Профиль | Отправить PM | Цитировать Цитата pashazt:
Так как этот момент неочевиден, немного поясню. Операция не равносильна выражению На самом деле она равносильна выражению |
|
Отправлено: 16:00, 21-12-2012 | #6 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 18:20, 21-12-2012 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] цикл для каждой строки из файла | rudimko | Скриптовые языки администрирования Windows | 15 | 25-10-2012 09:46 | |
Разное - Добавление имени файла в начало каждой строки. | CkapHa | Программирование и базы данных | 2 | 02-01-2012 22:13 | |
CMD/BAT - [решено] Разобрать txt, на строки и назначить каждой переменную | campbell | Скриптовые языки администрирования Windows | 6 | 26-11-2011 01:32 | |
.NET - [решено] Определить и записать смещение каждой строки | S.T.R.E.L.O.K. | Программирование и базы данных | 5 | 15-08-2011 09:55 | |
Получение массива из строки с числами | malev | AutoIt | 3 | 11-09-2009 00:08 |
|