Другие языки программирования и технологии

Си. функции

В матрице A(m,n), состоящей из нулей и единиц, найти квадрат заданного размера (квадратную подматрицу), состоящий целиком из нулей.

прога зависает и винда предлагает послать сообщение в цент об ошибке...



помогите, уже ничего не сооборажаю((
1. Массив не инициализирован и в таком виде передаётся в функцию указатель на его 1 элемент, которого нет.
2. Прототипы других двух функций имеют только по одному параметру, в то время как в определении имеют по три параметра.
3. Размеры массивов не определены.
4. Какой смысл передавать размеры и массив по указателю, если в главной функции эти размеры в дальнейшем не используются, как и сам массив.
5. У вас не висеть программа должна, она просто не должна компилироваться.
6. При передачи указателя на массив следует передавать в функцию и его размер, так как указатель хранит только адрес и ничего более. Все ваши функции ничего не знают о размерах вашего массива.
7. Не имеет смысла возвращаться в главную функцию для вызова очередной, её можно вызывать из любой другой, а в конце вызвать main() и вернуться в неё.
8. Разыменовывать указатель, в вашем случае, следует так: *(p + 1)
СЯ
Сергей Яманов
92 595
Лучший ответ
1. &a[0][0], как ни странно, ==a.
2. search предобъявлена как функция с одним параметром, а в объявлении параметров уже три. out_mas - тоже самое.
3. никак не передаются результаты из search.
4. сам алгоритм мне проверять влом, то вообще за такое можно и канделябром. От того, что напишешь p[ i ] вместо *(p+i), руки не отвалятся; ну а *p+i- это не p[ i ], а p[0]+i.
Артур Амиров
Артур Амиров
51 813