Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 8

Вывод строки, вместо списка

30.12.2013, 15:35. Показов 1416. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите пожалуйста как сделать вывод строки вместо списка.Сама программа при вводе цифр выводит на английском языке. Нашел на форуме примеры, и похожие ответы на данную тему, но из за малого знания языка не могу самостоятельно переделать. Зарание благодарен

Вот код
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
number(0)--> [zero].
number(N)--> xxxxxx(N).
number(N)--> xxxxx(N).
number(N)--> xxxx(N).
number(N)--> xxx(N).
number(N)--> xx(N).
 
xxxxxx(N) --> xxx(D), [thousand], xxx(N1), {N is D*1000 + N1}.
xxxxx(N) -->  xx(D), [thousand], xxx(N1), {N is D*1000 + N1}.
xxxx(N) -->  digit(D), [thousand], xxx(N1), {N is D*1000 + N1}.
xxx(N) --> digit(D), [hundred], rest_xxx(N1), {N is D*100 + N1}.
 
rest_xxx(0)-->[].
rest_xxx(N)-->[and], xx(N).
 
xx(N)--> digit(N).
xx(N)--> teen(N).
xx(N)--> tens(T), rest_xx(N1), {N is T + N1}.
 
rest_xx(0)--> [].
rest_xx(N)--> digit(N).
 
digit(1) --> [one].
digit(2) --> [two].
digit(3) --> [three].
digit(4) --> [four].
digit(5) --> [five].
digit(6) --> [six].
digit(7) --> [seven].
digit(8) --> [eight].
digit(9) --> [nine].
 
teen(10) --> [ten].
teen(11) --> [eleven].
teen(12) --> [twelve].
teen(13) --> [thirteen].
teen(14) --> [fourteen].
teen(15) --> [fifteen].
teen(16) --> [sixteen].
teen(17) --> [seventeen].
teen(18) --> [eighteen].
teen(19) --> [nineteen].
tens(20) --> [twenty].
 
tens(30) --> [thirty].
tens(40) --> [forty].
tens(50) --> [fifty].
tens(60) --> [sixty].
tens(70) --> [seventy].
tens(80) --> [eighty].
tens(90) --> [ninety].
 
 
%?- phrase(number(199527), L).
Добавлено через 19 часов 41 минуту
Вывести нужно список в конце строкой используя конкатенацию, как это вообще сделать )))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.12.2013, 15:35
Ответы с готовыми решениями:

Prolog. Вместо значений списка показывает _цифры
Не могу разобраться, где косяк. Вместо того, чтобы показать значения списка, почему-то показывает его "хеш-код" (или что-то вроде...

Вывод строки вместо ключа
Вывожу таблицу в DataGridView, но в таблице есть внешний ключ. Как вместо ключа, вывести строку, на которую он ссылается. Использую DataSet...

Вывод 1-го символа вместо строки в видеорежиме
CSEG segment org 100h begin: mov ax,0B800h mov es,ax mov di,0 mov ah,31 mov al,byte ptr Message mov cx,11

10
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
31.12.2013, 22:32
Думаю просто вывести надо, без конкатенации
Prolog
1
2
print_list([]).
print_list([H|Tail]):-print(H),print(' '),print_list(Tail).
Ну если уж очень хочется сконкатенировать, тогда
Prolog
1
2
3
concat_all([X],X).
concat_all([H|Tail],Ans):-concat(H,' ',H1),
    concat_all(Tail,AnsTail),concat(H1,AnsTail,Ans).
1
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 8
31.12.2013, 23:26  [ТС]
Спасбо ))) Примерно стало понятно как это выглядит, но если честно я не совсем понял куда добавить этот код, который вы написали, а если его просто добавить, то как нужно делать запрос, что бы он выходил строкой. Строки я добавил просто в код, и запрос сделал тот же который был, ничего при выводе не изменилось, а если и изменилось то значит не совсем то, нужно что бы убрались лишние символы, то есть запятые между словами. Чего то я явно не понимаю.
0
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 8
08.01.2014, 18:46  [ТС]
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
08.01.2014, 20:08
Да какие запятые? Запрос
Prolog
1
?- phrase(number(199527), L), print_list(L).
1
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 8
09.01.2014, 21:34  [ТС]
Хм, еще раз спасибо, это всё замечательно, а как сделать так, что бы выводилась только строка, без списка?
0
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 8
16.01.2014, 01:43  [ТС]
Я видимо совсем не соображаю
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
16.01.2014, 20:29
Или я Вас не понимаю, что Вы хотите?
0
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 8
17.01.2014, 18:45  [ТС]
Цитата Сообщение от Грымзик Посмотреть сообщение
phrase(number(199527), L), print_list(L).
Выводит и строку и список, как сделать что бы выводилась только строка, что бы не было использовано переменной L.
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
17.01.2014, 21:16
Prolog
1
2
p(X):-phrase(X, L), print_list(L).
?-p(number(199527)).
1
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 8
17.01.2014, 23:16  [ТС]
То есть можно было как функцию запихнуть, спасибо ОГРОМНОЕ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2014, 23:16
Помогаю со студенческими работами здесь

Вывод списка из строки
Представлено в виде списка: my_len = ],],]]. а)Выведите всех студентов (и их группы), если фамилия студента начинается на букву А.') ...

Вывод строки чисел без пробелов, а затем вывод значения в виде списка чисел
Определить функцию (Z1 k n), где k<n, которая сначала выводит строку чисел без пробелов k k+1 k+2 ... n, а затем на другой строке...

Вывод списка с последней строки по первую
Здравствуйте, написал программу по созданию файла, в конце выводится список по порядку, как мне вывести после этого списка еще один с...

§o вместо &sector и ¤cy вместо &currency при выводе строки
Формирую строку для post запроса $array = "&currency=$currency" . "&amount=$amount" . "&sector=" .$sector. ...

Вывод списка на экран с возможностью раскрытия одного из пунктов списка
По разному пытался сформулировать вопрос, но гугл так и не дал мне даже близко чего-то подходящего. Суть такова, что на экран...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru