![]() |
|
Модераторы: Poseidon |
![]()
|
|
| nitrak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
Дана целочисленная прямоугольная матрица.
определить сумму элементов в тех строках, которые содержат отрицательный элемент. |
|||
|
||||
| comtat |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1310 Регистрация: 2.5.2006 Где: Россия, Казань Репутация: 8 Всего: 71 |
-------------------- Рожденный в СССР !!! ExtJS - мой фреймворк |
|||
|
||||
| PrinceMike |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 23.11.2006 Где: Москва Репутация: нет Всего: 1 |
ну сначала найдем строки с отрицательными элементами, а потом будем считать сумму элементов
ща набью --------------------
|
|||
|
||||
| PrinceMike |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 23.11.2006 Где: Москва Репутация: нет Всего: 1 |
вот что пока получилось... я сам учусь) а тут для практики сижу) кароче я что-то не соображу как из последнего массива выдрать номера строк с отрицательными элементами.. вот нужно вырвать, а потом посчитать... попробуй засунуть мой код в раздел "паскаль" и спроси как доделать.. там ZERO обязательно поможет ;) Это сообщение отредактировал(а) PrinceMike - 30.12.2006, 23:29 --------------------
|
|||
|
||||
| achepkunov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.12.2006 Репутация: нет Всего: 1 |
Вот здесь ведь ты их и вырываешь. А теперь вместо q[i]:=i; сразу начинай складывать. Молодец. Можно еще мильнее упростить: сразу после цикла 20-24 строчек если z[i] меньше нуля тут же пишем цикл по сложению. Тогда можно z сделать скалярной переменной (простой переменной, не массивом). Можно пойти еще дальше: прямо в этом цикле складывать, а после цикла если z меньше нуля - печатать сумму, если нет - зря складывали, но так-как сложение операция дешевая, отсутствие второго цикла эти затраты компенсирует. Вообще надо стараться делать все в один проход, чтобы не плодить лишние массивы с промежуточными результатами и лишние циклы. Ну и "на кислое" - ты z[i] не обнуляешь перед использованием, полагаясь на то, что там будут нули. Это сильно частный случай - для глобальных переменных екоторых компиляторов, и полагаться на это - формировать у себя плохую привчку. И еще если уж массив z - для строк, то и обявлять его надо array[1..m], а не [1..n]. Дело не в том, что лишнее место выделяется, и даже не в том, что матрицы бывают узкими, а не только широкими, а в том, что так понятнее когда читаешь. Успехов, так держать! |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |