|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.01.2010, 23:24 | #1 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 23
|
Функция...
Здравствуйте, уважаемые форумчане. Тут проблема возникла с функцией... Я конечно понимаю, что за задача наверно из разряда элементарных, но всё же, не могу додуматься...
Массив 3x7x2. Функция вывода на экран элемента, если он не выходит за пределы массива. Здесь на сколько я понимаю, основное в этой функции будет сначало проверка, а потом вывод... Сначало объявляем функцию, например int output(); Потом в main заполняем массив. И дальше сама функцию... Код:
Последний раз редактировалось frem-dag; 09.01.2010 в 23:28. |
10.01.2010, 00:20 | #2 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 63
|
Во-первых, если ты делаешь функцию вывода, то зачем в ней делать и ввод? Ну, это идеологическая ошибка
А по поводу проверок: Если ты делаешь так, как написал, то ты на истинность проверяешь элемент, с индексами i,j, и k. И, даже если ты выйдешь за пределы массива, там может оказаться ненулевой мусор... а вот внутри массива может быть и ноль, который не выведется.... Надо проверять каждый индекс по отдельности. Код:
|
10.01.2010, 12:00 | #3 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 23
|
Да, действительно, ввод в функции вывода это глупо, не подумал
Вот только ещё вопрос по поводу возвращаемого значения... Почему в условиях возвращается -1? И разве не нужно заносить Kmax, Imax, Jmax в параметры функции? Или если мы их в main'е объявляем, то в этой функции уже не нужно? |
10.01.2010, 13:34 | #4 | |
Форумчанин
Регистрация: 13.12.2009
Сообщений: 272
|
Цитата:
Не ну ты конечно можешь окружить блок try - catch и выкидывать исключения, но это уж слишком для простенькой программки Так что минус один - в самый раз! т.е. по завершению работы функции ты проверяешь - если она вернула -1 , то произошла ошибка, возможно вызов надо повторить с другими параметрами Kmax, Imax, Jmax - скорее всего подразумевается, что это глобальные константы... Если ты их объявишь в мейне - функция их не увидит
Если я помог вам - порадуйте меня, нажмите на весы слева
|
|
10.01.2010, 14:36 | #5 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 23
|
Т.е. если я правильно понял, описание этих глобальных переменных потребуется в списке аргументов функции вывода?))
Код:
|
10.01.2010, 15:33 | #6 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Цитата:
Что бы переменная была глобальной, ее надо объявить в самом верху программы, до всех функций.
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
10.01.2010, 15:40 | #7 | |
Форумчанин
Регистрация: 25.02.2009
Сообщений: 145
|
Цитата:
Код:
Компьютеры бесподобны: за несколько минут они могут совершить такую грандиозную ошибку, какую не в состоянии сделать множество людей за многие месяцы.
|
|
10.01.2010, 16:01 | #8 | |
Форумчанин
Регистрация: 13.12.2009
Сообщений: 272
|
Цитата:
Если не хочешь просто ВНЕ мейна и любой другой функции написать эти константы, т осделай их параметрами по умолчанию int output(int i, int j, int k, int Imax=7, int Jmax=7, int Kmax=2 ) //или какие там у тебя цифры должны быть тогда вызов может быть обычным, а размерности будут видны функции (естественно, это же ее параметры ) Вызов : output(3,2,4); //например
Если я помог вам - порадуйте меня, нажмите на весы слева
|
|
10.01.2010, 16:08 | #9 |
Пользователь
Регистрация: 29.11.2009
Сообщений: 23
|
Ясно, спасибо большое, с этим разобрался
А если оформить это не в виде отдельной функции, тогда код примерно таким должен быть? Код:
|
10.01.2010, 16:48 | #10 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 63
|
А не легче не мудрить с глобальными \локальными переменными, а сделать всё, к примеру, так:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
функция | golf | Помощь студентам | 4 | 14.11.2009 16:27 |
функция | Dialon | Помощь студентам | 4 | 02.02.2009 23:15 |
Функция | Kloun1 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 24.01.2009 19:56 |
функция | Janette | Помощь студентам | 1 | 29.04.2008 20:10 |
одна функция потока, а другая функция - член класса запускающего этот поток | Дмитрий_Ч | Общие вопросы C/C++ | 2 | 27.09.2007 08:50 |