| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Помогите найти ошибку |
| Автор: MedvedNick 5.11.2009, 16:23 | ||
| Задача: Написать функцию int max(int *beg, int len), beg - ссылка на начало массива, len - длина. Функция ищет максимальный элемент в массиве: создает два дочерних процесса, первый запускает функцию рекурсивно для первой половины массива, второй - для второй половины, и возвращает максимум из полученных от процессов значений. Если длина равна 1, то функция возвращает число, на которое указывает начало.
Это не работает, возвращает всегда ноль. Подскажите, в чем тут ошибка, пожалуйста |
| Автор: GrayCardinal 5.11.2009, 20:35 |
| MedvedNick, Там ошибок больше чем кода. Извини, за тебя переписывать не охота |
| Автор: MedvedNick 5.11.2009, 22:03 | ||||
единственная ошибка была - заменить
на
добавив при этом в include <sys/types.h> и <sys/wait.h> но, хотелось бы увидеть другие ошибки)) |
| Автор: MAKCim 5.11.2009, 22:47 | ||
| GrayCardinal за исключением отсутствия проверок на ошибку при форке, код вполне приемлем ;) MedvedNick
+ подключи sys/types.h и sys/wait.h |
| Автор: GrayCardinal 6.11.2009, 20:02 |
| Или я чего-то не догоняю, либо одно из двух. Ну не два процесса там создается. Или мне пойти выспаться ? |
| Автор: MAKCim 6.11.2009, 22:26 |
| GrayCardinal посчитай ;) |
| Автор: MedvedNick 6.11.2009, 23:23 |
| в каждой функции - два процесса создается, а каждый из них запускает ту же функцию рекурсивно, итого - много процессов)) |
| Автор: hente 7.11.2009, 09:12 |
| Создание новых процессов в рекурисии Автор а мона вопрос где это будет работать надеюсь не на АС? |
| Автор: GrayCardinal 7.11.2009, 11:16 |
| hente, |
| Автор: MAKCim 7.11.2009, 11:39 |
| ребята, хватит флудить, задача, насколько я понял, учебная и не претендует на значимость в реальной жизни ;) |
| Автор: MedvedNick 7.11.2009, 16:22 |
| MAKCim, правильно понял ;-) собственно, тема себя уже исчерпала) |
| Автор: hente 7.11.2009, 19:55 |
| 1. решение хоть и не в полне красивое но адекватное уже приведено 2.Если честно не осилил смысловой нагрузки этого задания. Найти макс-оне значение массива разными потоками, хм занятие не оч приятное на мой взгляд... На скока я понимаю выполняться проверка на максисумум все равно будут последовательная а не паралельная т.е. выигрыша ваще нивчем не будет кроме задействовании груды ресурсов, при чем в пустую.... 3.Автору будет смысл еще раз задуматься над заданием потому как мне например кажется что он не до конца понял задание или заведомо пошел не по верному пути,... PS так что я думаю эт не флуд...... Добавлено @ 19:57 ааа ссори там ввод числа.....приношу свои извинения.... хотя смысла все равно не осилил |