| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > сумма элементов столбца |
| Автор: Vicipi 24.5.2008, 17:36 | ||
| Легкая задачка не получается: Дан двумерный массив N*M чисел. Выведите в строку тот столбец двумерного массива, чья сумма элементов максимальна. Входные данные: В первой строке числа N и M через пробел. Далее - двумерный массив N*M. Все числа во входе положительные и не превосходят 101. Выходные данные: Выведите в строку тот столбец двумерного массива, чья сумма элементов максимальна. Если таких столбцов несколько, выведите столбец с минимальным индексом. (расположенный левее в массиве). Пример входных данных 2 3 1 8 3 4 1 6 Пример выходных данных 8 1 вот че написала, почему не работает?
|
| Автор: rrrFer 24.5.2008, 18:28 | ||
| Vicipi ошибки: 1) if(sum>k){k==sum;st=u;} 2) sum =+mas[i][j]; так работает:
однако если сумма положительная, для отрицательной надо модифицировать немного... |
| Автор: Vicipi 24.5.2008, 19:22 |
| а почему для отрицательных не подходит? |
| Автор: rrrFer 24.5.2008, 19:46 | ||||
если все суммы столбцов будут отричательными, то ниразу не выполнится
потому что max=0; чтобы это исправить я бы что-нибудь такое написал:
|
| Автор: Vicipi 25.5.2008, 20:09 |
| эта задача с contester.tsure.ru, при тестировании: неверный ответ на тесте 3. Что то не учтено...я не знаю что не так |
| Автор: rrrFer 26.5.2008, 06:14 | ||||||||
| Vicipi, я просто рпавил твою программу, а вот сейчас посмотрел на условие:
входные данные - это выходит файл, а не с клавы надо размер массива вводить. массив может быть любого размера, т.е. ошибка возможно в :
ну и выводить то надо тоже наверно в файл тогда вот так:
а если учесть вот это:
то сумма не может быть отрицательной, и возможно надо сделать проверку чтоб числа не превосходили 101, но я думаю это не твоя уже задача |