![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Santrex |
![]()
Сообщение
#21
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да между словаи пробел.
|
Digitalator |
![]()
Сообщение
#22
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если между словами всегда один пробел, то разбтвать текст надо примерно так:
Код 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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я пробывал делать как ты сказал но у меня не получаеться.Я уже много раз по разному пробывал делать их.И книги листал.Но что то я упускаю или что.Может всетаки ты напишешь эти проги.
![]() |
volvo |
![]()
Сообщение
#25
|
Гость ![]() |
Santrex
А можно посмотреть, КАК ты их делал? Раз пытался, значит есть исходники... Может, у тебя ошибка в малом, так мы бы исправили... Чего еще раз писать :p2: |
Santrex |
![]()
Сообщение
#26
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Это я делал раньше прогу на сортировку.
Раншь вроде сортировала.Но токо все слова, а не с четным колличесвтом букв. Я потом пробывал переделать и запарол ее.Тперь она вроде не сортирует совсем.Посмотрите что там можно сделать.И можно ли переделать структуру 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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо.Прога пашет отлично.Но ты можешь обыяснить что такое значение Bute.
|
volvo |
![]()
Сообщение
#29
|
Гость ![]() |
Santrex
Не Bute, а Byte... Это маленькие числа (0 - 255)... При работе со строками лучше использовать Byte, т.к. длина строки все равно ограничена - 255 символов. Но можно смело заменить Byte на Integer - все по-прежнему будет работать... |
Digitalator |
![]()
Сообщение
#30
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
volvo, как всегда дал челу прогу, но вот как она работает, я думаю, он так и не понял...
-------------------- |
Santrex |
![]()
Сообщение
#31
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Почему теперь понял.Но еще надо те 2 проги.
|
Digitalator |
![]()
Сообщение
#32
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если понял, то сам напишешь. Если не напишешь - значит не понял.
-------------------- |
Santrex |
![]()
Сообщение
#33
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я сказал что я понял смысл этой проги.И вообще я что тут на допросе поняли или не понял.Я просто просил написать 3 проги на минимально понятном языке.И все!Вы я смотрю пишите проги всем не знадвая вопросы понял кто там чего или нет.Если вы хотите просто поговорить так скажите.
|
Digitalator |
![]()
Сообщение
#34
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
"Мы" - это кто?
Я никому проги ТУТ не пишу, смею заметить... А что непонятного то? Все что нужно я тебе написал, есть какие-то вопросы? Или можешь подождать пока volvo (или еще кто-нибудь) не принесет тебе все на блюдечке с голубой каемочкой. Сообщение отредактировано: Digitalator - 18.12.2004 18:39 -------------------- |
Santrex |
![]()
Сообщение
#35
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну тогда подожду.Что ж мне еще делать.
|
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 Пол: Мужской Репутация: ![]() ![]() ![]() |
Большое спасибо тебе Volvo.Очень признателен за содействие.
|
Сталкер |
![]()
Сообщение
#38
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: ![]() ![]() ![]() |
Для чего нужно T: string в последнем коде?
|
samec |
![]()
Сообщение
#39
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 180 Пол: Мужской Реальное имя: Юра Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 25.06.2025 12:53 |