IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> qБейсик, Решение задач со строками
vzik
сообщение 12.2.2009, 8:12
Сообщение #1


Пользователь


Группа: Пользователи
Сообщений: 16
Регистрация: 12.2.2009
Пользователь №: 21 454



Здравствуйте, помогите решить задачи со строками, я эту тему совершенно не поняла sad.gif
1. В заданном предложении символы самого длинного слова заменить символами «*».Напечатать исходный и преобразованный тексты.
2. В заданном предложении исключить все слова короче 4-х букв. Напечатать полученное предложение и число исключенных слов.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 12.2.2009, 15:52
Сообщение #2


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



Вот вывод всех слов http://www.opeople.ru/ipb.html?s=&showtopi...ndpost&p=182607 и здесь http://www.opeople.ru/ipb.html?s=&showtopi...ndpost&p=146057
проверяй их, заменяй, выбирай... smile.gif


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
vzik
сообщение 15.2.2009, 14:35
Сообщение #3


Пользователь


Группа: Пользователи
Сообщений: 16
Регистрация: 12.2.2009
Пользователь №: 21 454



Вы не могли бы показать как решается хоть одна из задачек...может тогда я пойму суть решения...я смотрела ссылки, но так ничего и не поняла? sad.gif Скоро сдавать а у меня ничего нет sad.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 15.2.2009, 14:44
Сообщение #4


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



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


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
vzik
сообщение 15.2.2009, 15:28
Сообщение #5


Пользователь


Группа: Пользователи
Сообщений: 16
Регистрация: 12.2.2009
Пользователь №: 21 454



DIM Line$, P%, Wrd$

INPUT "STROKA = "; Line$
P% = INSTR(1, Line$, " я")

p%=INSTR(2,line$,"решаю")
p%=INSTR(3,line$,"задачу")


Что-то не так я присваиваю да, неправильно?? dry.gif

Сообщение отредактировал vzik - 15.2.2009, 15:36
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 15.2.2009, 15:36
Сообщение #6


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



это из какого примера фрагмент?
просто первый пример, сохрани в файл и запусти для начала


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
vzik
сообщение 15.2.2009, 15:38
Сообщение #7


Пользователь


Группа: Пользователи
Сообщений: 16
Регистрация: 12.2.2009
Пользователь №: 21 454



CLS

INPUT "Vvedite text:", A$

INPUT "Vvedite bykvy:", B$

DIM Word$(LEN(A$)): min = LEN(A$)

FOR i = 1 TO LEN(A$)

tmp$ = MID$(A$, i, 1): IsLetter = 0

IF 65 <= ASC(tmp$) AND ASC(tmp$) <= 90 THEN IsLetter = 1

IF 97 <= ASC(tmp$) AND ASC(tmp$) <= 122 THEN IsLetter = 1



IF IsLetter = 1 AND i < LEN(A$) THEN

T$ = T$ + tmp$

ELSE

IF LEN(T$) > 0 OR IsLetter = 1 THEN

IF i = LEN(A$) AND IsLetter = 1 THEN T$ = T$ + tmp$





L = L + 1

Взяла вот из этой задачи sad.gif Я не понимаю ничегоsad.gif

k = k + 1: Word$(k) = T$

T$ = ""



END IF

END IF



NEXT i: PRINT "Kol-vo slov v tekste:", L

PRINT

PRINT "Massiv slov"

Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 15.2.2009, 15:41
Сообщение #8


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



ты мои ответы игнорируешь, что ль? вот пример http://www.opeople.ru/topic5363s0.html?p=146057&#entry146057 - это ссылка на 5 пост

там где печатается слово wrd еще и длину слова вывести ( а вообще говоря с максимумом сравнить, сначала за максимум взять 0, а тут все длины с ним сравнивать и если найдешь больше - присвоить максимуму новое значание)

и еще пожалуй - в начале надо копию строки сделать, потому, что в данном алгоритме она уничтожается...

(при втором проходе по предложению длины слов надо уже сравнивать с найденной величиной, и если они совпадают, к результирующей строке добавлять "*", а если не совпадает, то само слово)


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
PolPoll
сообщение 15.2.2009, 16:04
Сообщение #9


:)


Группа: Главные администраторы
Сообщений: 5 858
Регистрация: 24.11.2005
Из: Москва
Пользователь №: 5 327



Если брать алгоритм из первого примера http://www.opeople.ru/topic8331s0.html?p=182607&#entry182607 - пост 7
то там надо по-другому считать N, если разделителями слов будет пробел:
N% = INSTR(I%, Line$, " ")

и в самом начале после ввода строки к ней пробел добавить + " "

В этом алгоритме при выделении слов строка НЕ уничтожается, и можно уже при поиске максимума запомнить номер символа начала слова, чтобы потом его заменить на звездочки прямо в исходной строке


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
vzik
сообщение 17.2.2009, 6:43
Сообщение #10


Пользователь


Группа: Пользователи
Сообщений: 16
Регистрация: 12.2.2009
Пользователь №: 21 454



Все! Большое спасибо...я решила задачи и поняла biggrin.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 23.5.2012, 4:04