|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.11.2011, 15:06 | #21 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Во-первых. Функция у нас про какие-то 20 знать не знает, и ведать не ведает. Вообще, при написании кода функции очень полезно постараться забыть обо всём, кроме заявленного поведения функции (которое надо реализовать) и её входных аргументов.
По счастью, у нас есть аргумент maxLength и компилятор должен был выдать предупреждение о том, что переменная maxLength объявлена, но не использована. Если не выдал, советую покопаться в настройках компилятора, найти пункт "писать все предупреждения" и включить его. Внимательное чтение предупреждений (а не только сообщений об ошибках) компилятора способно спасти от многих неприятностей. Что ж, мы сравниваем length с maxLength, если случилась фигня - выдаём сообщение об ошибке. А что дальше? Есть два варианта - либо по новой потребовать ввести длину, и так пока она нас не устроит (как это сделать?), либо как-то сообщить вызвавшему коду, что у нас случилась неприятность, массив не введён (а как Вы бы сделали это?). |
08.11.2011, 15:45 | #22 |
Пользователь
Регистрация: 24.02.2011
Сообщений: 39
|
О как) Ну тогда сравниваем length и maxlength, и если maxlength<length, то выдаём ошибку и выходим. Вот так:
Код:
|
08.11.2011, 15:54 | #23 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Как вариант. Только сообщение лучше бы поинформативней: лично я бы на такую формулировку долго медитировал.
Есть ещё вариант с возвращаемым значением: вместо exit(0) return 0. В определённом смысле, это вполне логично: в массиве не случилось элементов. После этого в main можно или так и продолжить, или отдельно проверить, что возвращённое Input значение больше нуля. |
08.11.2011, 16:06 | #24 |
Пользователь
Регистрация: 24.02.2011
Сообщений: 39
|
А функция для произведения элементов такая?
Код:
Код:
|
08.11.2011, 16:14 | #25 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
a+=b - это "прибавить b к a", a=a+b. "Домножить a на b" - это, соответственно, a*=b или a=a*b.
|
08.11.2011, 16:17 | #26 |
Пользователь
Регистрация: 24.02.2011
Сообщений: 39
|
Ой блин)) Тупанул)
|
08.11.2011, 16:18 | #27 |
Пользователь
Регистрация: 24.02.2011
Сообщений: 39
|
Спасибо большое.
|
08.11.2011, 19:33 | #28 |
Пользователь
Регистрация: 24.02.2011
Сообщений: 39
|
Еще вопрос) Я ввожу какое-то количество элементов в группе и нахожу в ней сумму, но программа зацикливается и всё.
Код:
Последний раз редактировалось (=Hello=); 08.11.2011 в 19:35. |
08.11.2011, 21:46 | #29 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Пожалуйста, привыкните писать комментарии. Мне вот так совершенно непонятно, какую мысль выражают эти три вложенных друг в друга цикла. Однако, если отметить комментариями состояния программы в определённые моменты, можно понять некоторые вещи.
Первое: Код:
Код:
Код:
Это можно переписать следующим образом Код:
Код:
Последний раз редактировалось Abstraction; 08.11.2011 в 21:48. |
09.11.2011, 15:27 | #30 |
Пользователь
Регистрация: 24.02.2011
Сообщений: 39
|
Ясно, и тут проблема, функция выводит исходный массив вместо конечного
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование функций в C++ из DLL. | VintProg | Общие вопросы C/C++ | 5 | 04.09.2011 03:02 |
использование функций в качестве параметров других функций | mono | Помощь студентам | 0 | 20.04.2009 18:25 |
Использование функций | prikolist | Общие вопросы C/C++ | 15 | 06.04.2009 18:42 |
Использование логических функций | Клубничка | Microsoft Office Excel | 52 | 15.01.2009 15:01 |
использование процедур и функций! | ...Оленька... | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 24.12.2008 15:33 |