0 / 0 / 0
Регистрация: 08.03.2020
Сообщений: 1
1

Функция не работает как надо

12.03.2023, 00:06. Показов 763. Ответов 2

Author24 — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
function IsDigit(c: char): Boolean;
var
    digits: array of Char = ('0','1','2','3','4','5','6','7','8','9');
    e: char;
 
begin
    for e in digits do if c = e then IsDigit := True;
    IsDigit := False
end;
Кто нибудь может подсказать, почему функция постоянно возвращает False?..
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2023, 00:06
Ответы с готовыми решениями:

не работает функция как надо
Есть код пхп, то есть функция <?php function getTable($cols, $rows, $color){ echo "<table...

Функция SHGetFileInfo не работает как надо
Функция SHGetFileInfo не загружает последние четыре значка. BOOL InsertListViewItems(HWND...

Не работает код как надо кто может сказать мне, почему не работает как надо?
Сама задача: (Компьютерное моделирование: заяц и Черепаха) В атом упражне-нии вам предстоит...

Как работает функция insert(то есть что надо отправлять что бы строка s вставлялась в строку s1)?
Добрый день.Подскажите пожалуйста как работает функция insert(то есть что надо отправлять что бы...

touchmove не работает как надо в мобильных браузерах android, а в iOS работает
Очень нужна ваша помощь, потому что вообще не понимаю, в чём может быть дело. Пытаюсь для своих...

2
Модератор
9854 / 5224 / 3304
Регистрация: 17.08.2012
Сообщений: 15,983
12.03.2023, 00:20 2
Лучший ответ Сообщение было отмечено Mark52 как решение

Решение

Потому что как бы там ни было в строке 7, в строке 8 всё равно будет выполнено IsDigit := False. Строки 7 и 8 нужно поменять местами:
Pascal
7
8
    IsDigit := False;
    for e in digits do if c = e then IsDigit := True
Но, вообще, я не понимаю, зачем Вы так нелепо функцию написали. На кой чёрт нужен цикл? Чтобы подольше считало? Вот так
Pascal
1
2
3
4
function IsDigit(c: char): Boolean;
begin
  IsDigit := c in ['0'..'9']
end;
не попроще будет?

Можно ещё вот так:
Pascal
3
  IsDigit := (c >= '0') and (c <= '9')
1
390 / 365 / 111
Регистрация: 03.02.2013
Сообщений: 1,120
17.03.2023, 15:30 3
Pascal
1
2
3
4
5
uses Character;
begin
  writeln(isdigit('1'));
  writeln(isdigit('d'));
end.
0
17.03.2023, 15:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2023, 15:30
Помогаю со студенческими работами здесь

Не работает как надо
В таблице ADOTList есть два поля: &quot;Сушилка&quot; и &quot;Код&quot;. Так вот. Нужно чтобы в DBEdit2 формы FRezultat...

Какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()?
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()

Запрос не работает как надо
Сильно не ругать ,я только начинаю осваивать 1с)) Есть внешняя печатная форма на которой должны...

MockWebServer не работает как надо
Юзаю Square MockWebServer для юнит тестирования Ретрофит клиента. Делаю всё как описано в их...

не работает dvd как надо
компу пол года ставляю пустой dvd комп зависает вытаскиваеш его сразу комп продолжает работать....

Работает ли сборка как надо
Здравствуйте! Имеется бюджетная сборка, однако, складывается впечатление, что она не выдает даже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru