georgi485
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Есть подозрения, что не только не выводит, но даже не компилируется. | Компилируется и работает. Вот когда массивы объявляю в самом начале, т.е. еще не заданы n и k, то компилируется, но не исполняется. Цитата: //... printf("s= %d\n", s); //... | Спецом сделал вывод s, чтобы убедится, что код выполняется как надо (по крайней мере на матрице 5х5 так точно). А вот то, что ниже - непонятно, возможно, что-то в переменных накосячено И с k=0 - можно ли потом объявить нулевой массив? Также непонятно здеся Код: { k++; b[k] =a[i][j]; } //... for(i=0; i<k; i++) printf("%5d", b[i] ); //... | UPD Пробежался по коду - вот перед непонятным куском кода точка с запятой (выделил в предыдущем посте с кодом красным эту заразу) запускала после выражения Код: if ((i+j<=n) && (abs(a[i][j])>s)) | и "да", и "нет" по одному и тому же пути. Но проблему это не решило UPD2 Код: if(k=0) printf("Таких элементов нет"); | - вот же ж невнимательность. Поставил логическое равно "==" Но на массиве Код: массив b выдает не "21 24", а "1976026656 24" Что еще глядеть? UPD2 Ну вот, собственно, потому и не нравился мне тот участок кода, который выше стоит как непонятный - заменил массив b[k] на b[i] - и все заработало. Ща сделаю схему, доделаю код и выложу. MERCURY127, будьте добры, гляньте, пожалуйста, 3, 4, 5 и 6 задачи. | Всего записей: 19 | Зарегистр. 20-12-2010 | Отправлено: 19:46 04-10-2015 | Исправлено: georgi485, 21:33 04-10-2015 |
|