String. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
String. |
Santrex |
Сообщение
#21
|
Новичок Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: 0 |
Да между словаи пробел.
|
Digitalator |
Сообщение
#22
|
Бывалый Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: 1 |
3. здесь нужно сравнивать каждое слово с каждым и помечать одинаковые...
примерно так Код for i:=1 to count-1 do for j:=i+1 to count do if words[i] = words[j] then begin equal_words[i]:=1; equal_words[j]:=1; end; После этого в массиве equal_words будут стоять единички в ячейках соответствующим одинаковым словам в массиве words. Далее надо собрать остальные слова в новый массив Код for i:=1 to count do if equal_words[i]<>1 then begin new_count:=new_count+1; new_words[new_count]:=words[i]; end; вот.... вопросья? -------------------- |
Digitalator |
Сообщение
#23
|
Бывалый Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: 1 |
Если между словами всегда один пробел, то разбтвать текст надо примерно так:
Код count:=1; for i:=1 to length(s) do // s - текст if s[i] = ' ' then count:=count+1 else words[count]:=words[count]+s[i]; -------------------- |
Santrex |
Сообщение
#24
|
Новичок Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: 0 |
Я пробывал делать как ты сказал но у меня не получаеться.Я уже много раз по разному пробывал делать их.И книги листал.Но что то я упускаю или что.Может всетаки ты напишешь эти проги.
|
volvo |
Сообщение
#25
|
Гость |
Santrex
А можно посмотреть, КАК ты их делал? Раз пытался, значит есть исходники... Может, у тебя ошибка в малом, так мы бы исправили... Чего еще раз писать :p2: |
Santrex |
Сообщение
#26
|
Новичок Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: 0 |
Это я делал раньше прогу на сортировку.
Раншь вроде сортировала.Но токо все слова, а не с четным колличесвтом букв. Я потом пробывал переделать и запарол ее.Тперь она вроде не сортирует совсем.Посмотрите что там можно сделать.И можно ли переделать структуру Program Zadanie2; |
volvo |
Сообщение
#27
|
Гость |
Santrex
Теперь она сортирует по возрастанию все слова с четным количеством букв (между словами может быть более одного пробела)... Код var s, T: string; words: array[1 .. 50] of string; count, i, j: byte; begin write('s = '); readln(s); count := 0; for i := 1 to length(s) do if s[i] = ' ' then begin if (length(words[count]) mod 2 = 0) and (length(words[count]) <> 0) then inc(count) else words[count] := '' end else words[count] := words[count] + s[i]; For i := 1 To count Do For j := count DownTo i+1 Do If words[j - 1] > words[j] Then Begin T := words[j - 1]; words[j - 1] := words[j]; words[j] := T End; For i := 1 to count do write(words[i], ' '); writeln end. |
Santrex |
Сообщение
#28
|
Новичок Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: 0 |
Спасибо.Прога пашет отлично.Но ты можешь обыяснить что такое значение Bute.
|
volvo |
Сообщение
#29
|
Гость |
Santrex
Не Bute, а Byte... Это маленькие числа (0 - 255)... При работе со строками лучше использовать Byte, т.к. длина строки все равно ограничена - 255 символов. Но можно смело заменить Byte на Integer - все по-прежнему будет работать... |
Digitalator |
Сообщение
#30
|
Бывалый Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: 1 |
volvo, как всегда дал челу прогу, но вот как она работает, я думаю, он так и не понял...
-------------------- |
Santrex |
Сообщение
#31
|
Новичок Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: 0 |
Почему теперь понял.Но еще надо те 2 проги.
|
Digitalator |
Сообщение
#32
|
Бывалый Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: 1 |
Если понял, то сам напишешь. Если не напишешь - значит не понял.
-------------------- |
Santrex |
Сообщение
#33
|
Новичок Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: 0 |
Я сказал что я понял смысл этой проги.И вообще я что тут на допросе поняли или не понял.Я просто просил написать 3 проги на минимально понятном языке.И все!Вы я смотрю пишите проги всем не знадвая вопросы понял кто там чего или нет.Если вы хотите просто поговорить так скажите.
|
Digitalator |
Сообщение
#34
|
Бывалый Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: 1 |
"Мы" - это кто?
Я никому проги ТУТ не пишу, смею заметить... А что непонятного то? Все что нужно я тебе написал, есть какие-то вопросы? Или можешь подождать пока volvo (или еще кто-нибудь) не принесет тебе все на блюдечке с голубой каемочкой. Сообщение отредактировано: Digitalator - -------------------- |
Santrex |
Сообщение
#35
|
Новичок Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: 0 |
Ну тогда подожду.Что ж мне еще делать.
|
volvo |
Сообщение
#36
|
Гость |
Santrex
По образу и подобию моей первой программы написана вторая (для удаления одинаковых слов): Код var s, T: string; words: array[1 .. 50] of string; count, i, j: integer; was: boolean; begin write('s = '); readln(s); count := 1; for i := 1 to length(s) do if (s[i] = ' ') or (s[i] = '.') then begin was := false; if length(words[count]) <> 0 then for j := 1 to count - 1 do was := was or (words[j] = words[count]); if (not was) and (length(words[count]) <> 0) then inc(count) else words[count] := '' end else words[count] := words[count] + s[i]; For i := 1 to count do write(words[i], ' '); writeln end. |
Santrex |
Сообщение
#37
|
Новичок Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: 0 |
Большое спасибо тебе Volvo.Очень признателен за содействие.
|
Сталкер |
Сообщение
#38
|
Новичок Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: 0 |
Для чего нужно T: string в последнем коде?
|
samec |
Сообщение
#39
|
Бывалый Группа: Пользователи Сообщений: 180 Пол: Мужской Реальное имя: Юра Репутация: 1 |
|
Текстовая версия | 11.01.2025 15:36 |