Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| vzik |
12.2.2009, 8:12
Сообщение
#1
|
|
Пользователь Группа: Пользователи Сообщений: 16 Регистрация: 12.2.2009 Пользователь №: 21 454 |
Здравствуйте, помогите решить задачи со строками, я эту тему совершенно не поняла
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
проверяй их, заменяй, выбирай... -------------------- |
| vzik |
15.2.2009, 14:35
Сообщение
#3
|
|
Пользователь Группа: Пользователи Сообщений: 16 Регистрация: 12.2.2009 Пользователь №: 21 454 |
Вы не могли бы показать как решается хоть одна из задачек...может тогда я пойму суть решения...я смотрела ссылки, но так ничего и не поняла?
|
| 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$,"задачу") Что-то не так я присваиваю да, неправильно?? Сообщение отредактировал 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 Взяла вот из этой задачи k = k + 1: Word$(k) = T$ T$ = "" END IF END IF NEXT i: PRINT "Kol-vo slov v tekste:", L PRINT "Massiv slov" |
| PolPoll |
15.2.2009, 15:41
Сообщение
#8
|
![]() :) Группа: Главные администраторы Сообщений: 5 858 Регистрация: 24.11.2005 Из: Москва Пользователь №: 5 327 |
ты мои ответы игнорируешь, что ль? вот пример http://www.opeople.ru/topic5363s0.html?p=146057entry146057 - это ссылка на 5 пост
там где печатается слово wrd еще и длину слова вывести ( а вообще говоря с максимумом сравнить, сначала за максимум взять 0, а тут все длины с ним сравнивать и если найдешь больше - присвоить максимуму новое значание) и еще пожалуй - в начале надо копию строки сделать, потому, что в данном алгоритме она уничтожается... (при втором проходе по предложению длины слов надо уже сравнивать с найденной величиной, и если они совпадают, к результирующей строке добавлять "*", а если не совпадает, то само слово) -------------------- |
| PolPoll |
15.2.2009, 16:04
Сообщение
#9
|
![]() :) Группа: Главные администраторы Сообщений: 5 858 Регистрация: 24.11.2005 Из: Москва Пользователь №: 5 327 |
Если брать алгоритм из первого примера http://www.opeople.ru/topic8331s0.html?p=182607entry182607 - пост 7
то там надо по-другому считать N, если разделителями слов будет пробел: N% = INSTR(I%, Line$, " ") и в самом начале после ввода строки к ней пробел добавить + " " В этом алгоритме при выделении слов строка НЕ уничтожается, и можно уже при поиске максимума запомнить номер символа начала слова, чтобы потом его заменить на звездочки прямо в исходной строке -------------------- |
| vzik |
17.2.2009, 6:43
Сообщение
#10
|
|
Пользователь Группа: Пользователи Сообщений: 16 Регистрация: 12.2.2009 Пользователь №: 21 454 |
Все! Большое спасибо...я решила задачи и поняла
|
![]() ![]() |
|
Текстовая версия | Сейчас: 23.5.2012, 4:04 |