Вопрос № 182396: Здравствуйте! Помогите решить задачу в Pascal: Задан массив A из 100чисел. Описать функцию для определения количества ненулевых чисел среди N первых его элементов. В качестве параметров взять A и N. Если ненулевых нет, то результат функции - число...
Вопрос № 182396:
Здравствуйте! Помогите решить задачу в Pascal: Задан массив A из 100чисел. Описать функцию для определения количества ненулевых чисел среди N первых его элементов. В качестве параметров взять A и N. Если ненулевых нет, то результат функции - число 7777777.
Отвечает Andrew Kovalchuk (Профессионал) :
Здравствуйте, Посетитель - 360475! Вариант кода функции с проверкой работоспособности приведен ниже. Среда TP7.0.
Код:
{ Задан массив A из 100 чисел. Описать функцию для определения количества ненулевых чисел
среди N первых его элементов. В качестве параметров взять A и N. Если ненулевых нет, то результат функции - число 7777777. } uses crt; const MaxA = 100; var A: array[1..MaxA] of byte; i: byte;
function countNotZero(a:array of byte; n:byte):longint; var i: byte; count: longint;
begin count := 0; for i:=1 to n do if a[i] <> 0 then inc (count); if count = 0 then count := 7777777;
countNotZero := count; end;
begin clrscr; for i:=1 to MaxA do begin A[i] := Random(10); write(A[i]:8); end; writeln('Found ', countNotZero(A, 10)); writeln('Done. Press any key...'); readkey; end.
----- Временная неудача лучше временной удачи
Ответ отправил: Andrew Kovalchuk (Профессионал)
Ответ отправлен: 06.03.2011, 09:55
Номер ответа: 266116 Украина, Киев
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 266116
на номер 1151 (Россия) |
Еще номера »
Отвечает Vadim22 (5-й класс) :
Здравствуйте, Посетитель - 360475! Функция для Turbo Pascal 7.
Код:
function get_count_not_null(n:longint;var a:array of longint):longint; var i,k:longint; begin k := 0; {инициализируем
количество найденных нулем} for i := 0 to high(a) do {для каждого из первых n элементов} if (a[i]<>0) then {если он не нулевой} inc(k); {то увеличиваем счетчик на единицу} if (k>0) then get_count_not_null := k {если были найдены ненулевые элементы, то возвращаем их количество} else get_count_not_null := 7777777;{если ничего не нашли возвращаем 7777777} end;
Внесены исправления из сообщения в мини-форуме и исправления АР
-----
∙ Отредактировал: lamed (Профессор)
∙ Дата редактирования: 09.03.2011, 07:06 (время московское)
Ответ отправил: Vadim22 (5-й класс)
Ответ отправлен: 06.03.2011, 10:00
Номер ответа: 266117
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 266117
на номер 1151 (Россия) |
Еще номера »
Отвечает Шичко Игорь (Профессионал) :
Здравствуйте, Посетитель - 360475! Предлагаю вариант решения задачи. Код и описание в приложении. Вопросы - пишите в форум. Удачи.
Приложение:
----- Если что-то невозможно сделать сегодня, это совсем не значит, что это невозможно сделать НИКОГДА.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.