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

Описать функцию строкового типа, возвращающую строку длины N, заполненную повторяющимися копиями строки-шаблона

26.03.2014, 23:12. Показов 1493. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Срочно, пожалуйста помогите решить. QBasic
Описать функцию FillStr(S$, N) строкового типа, возвращающую строку длины N, заполненную повторяющимися копиями строки-шаблона S (последняя копия строки-шаблона может входить в результирующую строку частично). Заранее спасибо))
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2014, 23:12
Ответы с готовыми решениями:

Описать функцию FillStr(S,Len), возвращающую строку длины Len, заполненную повторяющимися копиями строки-шаблона S
Описать функцию FillStr(S,Len) строкового типа, возвращающую строку длины Len, заполненную...

Описать функцию возвращающую строку, заполненную повторяющимися копиями строки-шаблона
2 Описать функцию FillStr(S, N) строкового типа, возвращающую строку длины N, заполненную...

Создать строку, заполненную повторяющимися копиями строки-шаблона
Описать функцию FillStr(S, Len) строкового типа, возвращающую строку длины Len, заполненную...

Описать функцию WordK(S, K) строкового типа, возвращающую K-е слово строки S
Описать функцию WordK(S, K) строкового типа, возвращающую K-е слово строки S (словом считается...

5
Заблокирован
27.03.2014, 07:50 2
Лучший ответ Сообщение было отмечено как решение

Решение

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
DECLARE FUNCTION FillStr$ (s$, n!)
CLS
PRINT FillStr("Abc", 10)
 
FUNCTION FillStr$ (s$, n)
FOR i = 1 TO n \ LEN(s$) + 1
    ss$ = ss$ + s$
NEXT i
FillStr$ = LEFT$(ss$, n)
END FUNCTION
1
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
27.03.2014, 11:13 3
Апострофф, Хотелось бы добавить суффикс целого числа к переменной n: "n%" и ввести ограничение длины строки:
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
DECLARE FUNCTION FillStr$ (s$, n%)
CLS
PRINT FillStr("Abc", 10)
 
FUNCTION FillStr$ (s$, n%)
FOR i = 1 TO n% \ LEN(s$) + 1
    IF LEN(ss$)>&h7fff-LEN(s$) THEN ss$=ss$+LEFT$(s$,(&h7fff-LEN(ss$))):EXIT FOR
    ss$ = ss$ + s$
NEXT i
FillStr$ = LEFT$(ss$, n%)
END FUNCTION
PS: Вроде как редактор QB4.5 поддерживает длину строки до 255 символов.
1
5000 / 1672 / 409
Регистрация: 25.04.2010
Сообщений: 4,619
Записей в блоге: 2
27.03.2014, 23:54 4
Цитата Сообщение от vodav Посмотреть сообщение
PS: Вроде как редактор QB4.5 поддерживает длину строки до 255 символов.
Товарищи кодеры, проверяем, не вводим людей в заблуждение непроверенными фактами.
Выделение строк зависит от наличия свободной памяти, часть этой памяти резервируется
на строки(из динамической памяти), часть на массивы(из динамической + обычной памяти),
память при этом разделяемая, т.е. если нет места на выделение строки(всё занято массивами),
то естественно память взять будет неоткуда. Общий объём этой памяти можно посмотреть
функцией FRE(-1)
Максимально что получилось у меня выделить это почти 24000 символов на одну строковую
переменную на QuickBasic 4.5. Чуть больше 25000 в QuickBasic 4.0 и 15.5 тысяч на QBasic.
Показатели эти могут разниться при большем или меньшем общем кол-ве свободной памяти.
Узнать свободное место под строки можно функцией FRE(0)
1
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
28.03.2014, 05:18 5
Quiet Snow, Виноват, мне самому не приходилось работать с длинными строками, потому я только высказал свое предположение на основе данных г.Зельднера в учебном пособии "Программируем на языке QuickBASIC 4.5": "Длина строки в редакторе QB ограничена 255 символами (1 байт)"
0
5000 / 1672 / 409
Регистрация: 25.04.2010
Сообщений: 4,619
Записей в блоге: 2
28.03.2014, 05:37 6
Длина строки в редакторе QB ограничена 255 символами (1 байт)
Там вероятно имелось в виду - длина вводимой с клавиатуры оператором INPUT строки
т.к. подобное ограничение существует, но это легко обходится своим обработчиком.
1
28.03.2014, 05:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2014, 05:37
Помогаю со студенческими работами здесь

Описать функцию DecToBin(N) строкового типа, возвращающую строковое представление целого неотрицательного числа N
Описать функцию DecToBin(N) строкового типа, возвращающую строковое представление целого...

Описать функцию CompressStr(S) строкового типа, выполняющую сжатие строки
Описать функцию CompressStr(S) строкового типа, выполняющую сжатие строки S по следующему правилу:...

Описать функцию DecToHex(N) строкового типа
Описать функцию DecToHex(N) строкового типа, возвращающую строковое представление целого ...

Описать функцию FillStr(S,Len) строкового типа
Ребят, помогите решить, пожалуйста! Описать функцию FillStr(S,Len) строкового типа, возвращающую...


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

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

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